https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83331
Bug ID: 83331
Summary: Compile time evaluation of cbrt does not match library
evaluation
Product: gcc
Version: 7.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: matt at ookypooky dot com
Target Milestone: ---
The following code:
--
#include <cmath>
#include <iostream>
int main ()
{
double x = 123.456;
std::cout << std::cbrt (x) - std::cbrt (123.456) << '\n';
}
--
Prints 8.88178e-16 with -O0. Once -O1 is turned on, it prints 0 (presumably due
to constant propagation).
Tested on coliru gcc-7.2.0 http://coliru.stacked-crooked.com/a/4b727cb1c55121d2