У меня проблема с функцией "sin" libc.
#include <cmath>
#include <stdio.h>
int main(int argc, char **argv)
{
double tt = 6.28318530717958620000; // 2 * M_PI
double yy = ::sin(tt);
printf("%.32f\n", yy);
return 0;
}
При компиляции вышеуказанного кода с использованием "g++" без какой-либо опции оптимизации он выводит "-0.00000000000000024492127076447545". Но если с опцией "-O3" она выдаст "-0.00000000000000024492935982947064".
Почему он не возвращает "-0.00000000000000024492935982947064" без "-O3"? Спасибо заранее.