For some unknown to me reason this code produces different results.
#include <stdio.h>
#include <math.h>
main() {
double y, y2;
y = pow(2.0, 1.0) * pow(2.0, 1.0) * pow(2.0, 1.0);
y2 = pow(2.0, 3.0);
printf("%lf\n", y); // 2.000000
printf("%lf\n", y2); // 8.000000
return 0;
}
I am using tcc compiler and i guess this might matter since but i can't find any info about such problems.