x + \left(r \cdot \sin lat\right) \cdot \cos lon
x + \left(r \cdot \sin lat\right) \cdot \cos lon
double code(double x, double r, double lat, double lon) {
return ((double) (x + ((double) (((double) (r * ((double) sin(lat)))) * ((double) cos(lon))))));
}
double code(double x, double r, double lat, double lon) {
return ((double) (x + ((double) (((double) (r * ((double) sin(lat)))) * ((double) cos(lon))))));
}



Bits error versus x



Bits error versus r



Bits error versus lat



Bits error versus lon
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (x r lat lon)
:name "(+ x (* (* r (sin lat)) (cos lon)))"
:precision binary64
(+ x (* (* r (sin lat)) (cos lon))))