and by O.R. we mean overrun also known as overflow, of the integer variety. spent a while wondering why my java program was producing negative numbers via multiplication and division of strictly positive numbers. as far as i can tell, java simply does not check for integer overflow. had to convert everything into BigDecimal and BigInteger then back to .doubleValue() for it all to work without throwing up exceptions or error messages. JUST WORK, DAMMIT!!!