Quoth Henk Boom <henk@xxxxxxx>, on 2012-08-25 17:01:18 -0400: > for i = 0, 4e8 do > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > buffer[0] = buffer[0] + buffer[n] * 0.1 > end This specific example _can_ exhibit similar behavior in C. I imagine this is because repeatedly doing buffer[0] = buffer[0] + buffer[0] * 0.1 will (assuming it starts out initialized to a nonzero finite) take that value toward an infinity pretty fast, and operations on non-normalized values (Inf, NaN, denormal) can be much slower for the FPU to execute. Try explicitly initializing both of the doubles to zero and see whether it still happens. ---> Drake Wilson