EvilSOB and MMike are right. There seems to be no double type precision in Lite-C.

From Microsoft MSDN:
Quote:

Microsoft Specific

The double type contains 64 bits: 1 for sign, 11 for the exponent,
and 52 for the mantissa. Its range is +/–1.7E308 with at least
15 digits of precision.

END Microsoft Specific



Code:
#include <stdio.h>
#inlude <windows.h>

double d = 0.12345678901234;

void main()
{
    if (d == 0.12345679)
    	MessageBox(NULL, "equal", "This is wrong!", MB_OK);
    
    char buf[100];
    sprintf(buf, "%1.14f", d);
    MessageBox(NULL, buf, "Result", MB_OK);
}



Output:

Borland C++Builder: 0.12345678901234 (correct!)
Atari Lite-C: "equal" + 0.12345679104328 (wrong! last 6 digits are random)