Average Error: 7.0 → 7.0
Time: 1.1s
Precision: binary64
\[\frac{\left(\left(myTopRad + myBotRad\right) \cdot \pi\right) \cdot myTurns}{numPts}\]
\[\frac{\left(\left(myTopRad + myBotRad\right) \cdot \pi\right) \cdot myTurns}{numPts}\]
\frac{\left(\left(myTopRad + myBotRad\right) \cdot \pi\right) \cdot myTurns}{numPts}
\frac{\left(\left(myTopRad + myBotRad\right) \cdot \pi\right) \cdot myTurns}{numPts}
double code(double myTopRad, double myBotRad, double myTurns, double numPts) {
	return ((double) (((double) (((double) (((double) (myTopRad + myBotRad)) * ((double) M_PI))) * myTurns)) / numPts));
}
double code(double myTopRad, double myBotRad, double myTurns, double numPts) {
	return ((double) (((double) (((double) (((double) (myTopRad + myBotRad)) * ((double) M_PI))) * myTurns)) / numPts));
}

Error

Bits error versus myTopRad

Bits error versus myBotRad

Bits error versus myTurns

Bits error versus numPts

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 7.0

    \[\frac{\left(\left(myTopRad + myBotRad\right) \cdot \pi\right) \cdot myTurns}{numPts}\]
  2. Final simplification7.0

    \[\leadsto \frac{\left(\left(myTopRad + myBotRad\right) \cdot \pi\right) \cdot myTurns}{numPts}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (myTopRad myBotRad myTurns numPts)
  :name "(/ (* (* (+ myTopRad myBotRad) PI) myTurns) numPts)"
  :precision binary64
  (/ (* (* (+ myTopRad myBotRad) PI) myTurns) numPts))