Average Error: 10.6 → 10.6
Time: 2.3s
Precision: binary64
\[\left(\pi + radius \cdot \left(cosP \cdot N + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot T\]
\[\left(\pi + radius \cdot \left(cosP \cdot N + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot T\]
\left(\pi + radius \cdot \left(cosP \cdot N + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot T
\left(\pi + radius \cdot \left(cosP \cdot N + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot T
double code(double radius, double cosP, double N, double sinP, double B, double sinT, double maxRadius, double T) {
	return ((double) (((double) (((double) M_PI) + ((double) (radius * ((double) (((double) (cosP * N)) + ((double) (sinP * B)))))))) + ((double) (((double) (sinT * maxRadius)) * T))));
}
double code(double radius, double cosP, double N, double sinP, double B, double sinT, double maxRadius, double T) {
	return ((double) (((double) (((double) M_PI) + ((double) (radius * ((double) (((double) (cosP * N)) + ((double) (sinP * B)))))))) + ((double) (((double) (sinT * maxRadius)) * T))));
}

Error

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 10.6

    \[\left(\pi + radius \cdot \left(cosP \cdot N + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot T\]
  2. Final simplification10.6

    \[\leadsto \left(\pi + radius \cdot \left(cosP \cdot N + sinP \cdot B\right)\right) + \left(sinT \cdot maxRadius\right) \cdot T\]

Reproduce

herbie shell --seed 2020153 
(FPCore (radius cosP N sinP B sinT maxRadius T)
  :name "(+ (+ PI (* radius (+ (* cosP N) (* sinP B)))) (* (* sinT maxRadius) T))"
  :precision binary64
  (+ (+ PI (* radius (+ (* cosP N) (* sinP B)))) (* (* sinT maxRadius) T)))