Average Error: 16.7 → 16.7
Time: 1.6s
Precision: binary64
\[4 \cdot \frac{{x}^{2}}{{pi}^{2}} - \left(\frac{x}{\left|x\right|} \cdot 2\right) \cdot \frac{x}{pi}\]
\[4 \cdot \frac{{x}^{2}}{{pi}^{2}} - \left(\frac{x}{\left|x\right|} \cdot 2\right) \cdot \frac{x}{pi}\]
4 \cdot \frac{{x}^{2}}{{pi}^{2}} - \left(\frac{x}{\left|x\right|} \cdot 2\right) \cdot \frac{x}{pi}
4 \cdot \frac{{x}^{2}}{{pi}^{2}} - \left(\frac{x}{\left|x\right|} \cdot 2\right) \cdot \frac{x}{pi}
double code(double x, double pi) {
	return ((double) (((double) (4.0 * ((double) (((double) pow(x, 2.0)) / ((double) pow(pi, 2.0)))))) - ((double) (((double) (((double) (x / ((double) fabs(x)))) * 2.0)) * ((double) (x / pi))))));
}
double code(double x, double pi) {
	return ((double) (((double) (4.0 * ((double) (((double) pow(x, 2.0)) / ((double) pow(pi, 2.0)))))) - ((double) (((double) (((double) (x / ((double) fabs(x)))) * 2.0)) * ((double) (x / pi))))));
}

Error

Bits error versus x

Bits error versus pi

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 16.7

    \[4 \cdot \frac{{x}^{2}}{{pi}^{2}} - \left(\frac{x}{\left|x\right|} \cdot 2\right) \cdot \frac{x}{pi}\]
  2. Final simplification16.7

    \[\leadsto 4 \cdot \frac{{x}^{2}}{{pi}^{2}} - \left(\frac{x}{\left|x\right|} \cdot 2\right) \cdot \frac{x}{pi}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x pi)
  :name "(- (* 4 (/ (pow x 2) (pow pi 2))) (* (* (/ x (fabs x)) 2) (/ x pi)))"
  :precision binary64
  (- (* 4.0 (/ (pow x 2.0) (pow pi 2.0))) (* (* (/ x (fabs x)) 2.0) (/ x pi))))