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



Bits error versus iii



Bits error versus radius



Bits error versus cosP



Bits error versus N



Bits error versus sinP



Bits error versus B



Bits error versus sinT



Bits error versus maxRadius



Bits error versus T
Results
Initial program 10.0
Final simplification10.0
herbie shell --seed 2020152
(FPCore (iii radius cosP N sinP B sinT maxRadius T)
:name "(+ iii (+ (* radius (+ (* cosP N) (* sinP B))) (* (* sinT maxRadius) T)))"
:precision binary64
(+ iii (+ (* radius (+ (* cosP N) (* sinP B))) (* (* sinT maxRadius) T))))