The amount of code that uses floating point is a rounding error, pardon the pun. And generating RPN instructions really is easier than a register architecture - RPN is just a post-order traversal of the expression tree. Targeting a register architecture requires you to allocate the registers yourself.<p>You're also assuming that there is no intra-procedural stack modification that may be in effect while a function is being called.