a=1
do
a=a+a
b=a+1
until a=b
print "a = ",a;
c=1
more:
c=c+c
d=c+1
if c<>d then goto more
print "c = ",c;
results in:
a = 16777216
c = 2.14748e+09
a and c shall be the same. It seems there is a bug somewhere.
When defining MB_DOUBLE_FLOAT, the result is:
a = 9.0072e+15
c = 9.0072e+15
This is correct.
I'm compiling with gcc 11.4.0 on ubuntu 22.04 with CFLAGS="-fomit-frame-pointer -O3 -Wunreachable-code -Wextra -Wall -std=c17 -m64 -fopenmp -march=native -mtune=native"
LDFLAGS="-m64 -s -lm"
The processor is an INTEL i9-13900-KF
The following program:
results in: a = 16777216 c = 2.14748e+09 a and c shall be the same. It seems there is a bug somewhere.
When defining MB_DOUBLE_FLOAT, the result is: a = 9.0072e+15 c = 9.0072e+15 This is correct.
I'm compiling with gcc 11.4.0 on ubuntu 22.04 with CFLAGS="-fomit-frame-pointer -O3 -Wunreachable-code -Wextra -Wall -std=c17 -m64 -fopenmp -march=native -mtune=native" LDFLAGS="-m64 -s -lm" The processor is an INTEL i9-13900-KF