> How is this possible and why is there a difference in the answer?

You're doing integer math, which can be weird, since it truncates the 
result to integer values. In your example, the truncation error is 
multiplied, yielding a large difference in value. Try this:

	98 + (59872 / (13.0*8)) * -51

Just making _one_ of the numbers a float will trigger floating point 
evaluation. If you want even more precision, use the 'bigdecimal' library.

kaspar