\frac{\left(\left(\frac{myTopRad + myBotRad}{2} \cdot 2\right) \cdot \pi\right) \cdot myTurns}{numPts}\begin{array}{l}
\mathbf{if}\;\left(\left(\frac{myTopRad + myBotRad}{2} \cdot 2\right) \cdot \pi\right) \cdot myTurns \le -2.6799121723130699 \cdot 10^{151} \lor \neg \left(\left(\left(\frac{myTopRad + myBotRad}{2} \cdot 2\right) \cdot \pi\right) \cdot myTurns \le 2.811051946843951 \cdot 10^{221}\right):\\
\;\;\;\;\left(\frac{myTurns}{numPts} \cdot \left(myTopRad + myBotRad\right)\right) \cdot \pi\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(\frac{myTopRad + myBotRad}{2} \cdot 2\right) \cdot \pi\right) \cdot myTurns}{numPts}\\
\end{array}double code(double myTopRad, double myBotRad, double myTurns, double numPts) {
return ((double) (((double) (((double) (((double) (((double) (((double) (myTopRad + myBotRad)) / 2.0)) * 2.0)) * ((double) M_PI))) * myTurns)) / numPts));
}
double code(double myTopRad, double myBotRad, double myTurns, double numPts) {
double VAR;
if (((((double) (((double) (((double) (((double) (((double) (myTopRad + myBotRad)) / 2.0)) * 2.0)) * ((double) M_PI))) * myTurns)) <= -2.67991217231307e+151) || !(((double) (((double) (((double) (((double) (((double) (myTopRad + myBotRad)) / 2.0)) * 2.0)) * ((double) M_PI))) * myTurns)) <= 2.811051946843951e+221))) {
VAR = ((double) (((double) (((double) (myTurns / numPts)) * ((double) (myTopRad + myBotRad)))) * ((double) M_PI)));
} else {
VAR = ((double) (((double) (((double) (((double) (((double) (((double) (myTopRad + myBotRad)) / 2.0)) * 2.0)) * ((double) M_PI))) * myTurns)) / numPts));
}
return VAR;
}



Bits error versus myTopRad



Bits error versus myBotRad



Bits error versus myTurns



Bits error versus numPts
Results
if (* (* (* (/ (+ myTopRad myBotRad) 2.0) 2.0) PI) myTurns) < -2.6799121723130699e151 or 2.811051946843951e221 < (* (* (* (/ (+ myTopRad myBotRad) 2.0) 2.0) PI) myTurns) Initial program 25.5
Simplified1.6
if -2.6799121723130699e151 < (* (* (* (/ (+ myTopRad myBotRad) 2.0) 2.0) PI) myTurns) < 2.811051946843951e221Initial program 1.7
Final simplification1.7
herbie shell --seed 2020153
(FPCore (myTopRad myBotRad myTurns numPts)
:name "(/ (* (* (* (/ (+ myTopRad myBotRad) 2.0) 2.0) PI) myTurns) numPts)"
:precision binary64
(/ (* (* (* (/ (+ myTopRad myBotRad) 2.0) 2.0) PI) myTurns) numPts))