prior to jvm 1.2, floating-point calculations were required to be strict; that is, all intermediate floating-point results were required to behave as if represented using ieee single or double precisions. this made it expensive on common x87-based hardware to ensure that overflows would occur where required.