Average Error: 0.1 → 0.1
Time: 2.8s
Precision: binary64
\[2.625 - \left(x1 \cdot \left(1 - {x2}^{1.5}\right)\right) \cdot \left(1 + {x2}^{1.5}\right)\]
\[2.625 - \left(x1 \cdot \left(1 - {x2}^{1.5}\right)\right) \cdot \left(1 + {x2}^{1.5}\right)\]
2.625 - \left(x1 \cdot \left(1 - {x2}^{1.5}\right)\right) \cdot \left(1 + {x2}^{1.5}\right)
2.625 - \left(x1 \cdot \left(1 - {x2}^{1.5}\right)\right) \cdot \left(1 + {x2}^{1.5}\right)
double code(double x1, double x2) {
	return ((double) (2.625 - ((double) (((double) (x1 * ((double) (1.0 - ((double) pow(x2, 1.5)))))) * ((double) (1.0 + ((double) pow(x2, 1.5))))))));
}
double code(double x1, double x2) {
	return ((double) (2.625 - ((double) (((double) (x1 * ((double) (1.0 - ((double) pow(x2, 1.5)))))) * ((double) (1.0 + ((double) pow(x2, 1.5))))))));
}

Error

Bits error versus x1

Bits error versus x2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[2.625 - \left(x1 \cdot \left(1 - {x2}^{1.5}\right)\right) \cdot \left(1 + {x2}^{1.5}\right)\]
  2. Final simplification0.1

    \[\leadsto 2.625 - \left(x1 \cdot \left(1 - {x2}^{1.5}\right)\right) \cdot \left(1 + {x2}^{1.5}\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x1 x2)
  :name "(- 2.625 (* (* x1 (- 1.0 (pow x2 1.5))) (+ 1.0 (pow x2 1.5))))"
  :precision binary64
  (- 2.625 (* (* x1 (- 1.0 (pow x2 1.5))) (+ 1.0 (pow x2 1.5)))))