??? Isn't that longer code what you just did for dividing? In order to differentiate between what needs FPM and what needs just 16-bit or 8-bit math, you would need either a statically typed language, or use a JIT to analyze what type of an object is at execution time.
Why? Well, what type would you consider Ans to be? Its type is essentially undefined until runtime. Is A / 2 an 8-bit integer, a 16-bit integer, or a floating-point integer, and is it signed? When you do A + B, can you do the "shortcut" method of addition or must it pass through a _bcall if it is a floating-point integer? These questions cannot be answered until the program is run, or types are specifically defined for each variable.
Why? Well, what type would you consider Ans to be? Its type is essentially undefined until runtime. Is A / 2 an 8-bit integer, a 16-bit integer, or a floating-point integer, and is it signed? When you do A + B, can you do the "shortcut" method of addition or must it pass through a _bcall if it is a floating-point integer? These questions cannot be answered until the program is run, or types are specifically defined for each variable.