\left(\pi + r \cdot \left(cosP \cdot T + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot N
\left(\pi + r \cdot \left(cosP \cdot T + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot N
double code(double r, double cosP, double T, double sinP, double B, double sinT, double maxRadius, double N) {
return ((double) (((double) (((double) M_PI) + ((double) (r * ((double) (((double) (cosP * T)) + ((double) (sinP * B)))))))) + ((double) (((double) (sinT * maxRadius)) * N))));
}
double code(double r, double cosP, double T, double sinP, double B, double sinT, double maxRadius, double N) {
return ((double) (((double) (((double) M_PI) + ((double) (r * ((double) (((double) (cosP * T)) + ((double) (sinP * B)))))))) + ((double) (((double) (sinT * maxRadius)) * N))));
}



Bits error versus r



Bits error versus cosP



Bits error versus T



Bits error versus sinP



Bits error versus B



Bits error versus sinT



Bits error versus maxRadius



Bits error versus N
Results
Initial program 10.6
Final simplification10.6
herbie shell --seed 2020153
(FPCore (r cosP T sinP B sinT maxRadius N)
:name "(+ (+ PI (* r (+ (* cosP T) (* sinP B)))) (* (* sinT maxRadius) N))"
:precision binary64
(+ (+ PI (* r (+ (* cosP T) (* sinP B)))) (* (* sinT maxRadius) N)))