Average Error: 0.2 → 0.1
Time: 3.0s
Precision: binary64
\[\left(\left(333.75 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) + \left(a \cdot a\right) \cdot \left(\left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) - 121 \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right) - 2\right)\right) + 5.5 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right)\right) + \frac{a}{2 \cdot b}\]
\[\left(\frac{a}{2 \cdot b} + {b}^{6} \cdot \left(\left(b \cdot b\right) \cdot 5.5 + 333.75\right)\right) + \left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b + 121\right) + 2\right)\right) \cdot a\right) \cdot a\]
\left(\left(333.75 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) + \left(a \cdot a\right) \cdot \left(\left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) - 121 \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right) - 2\right)\right) + 5.5 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right)\right) + \frac{a}{2 \cdot b}
\left(\frac{a}{2 \cdot b} + {b}^{6} \cdot \left(\left(b \cdot b\right) \cdot 5.5 + 333.75\right)\right) + \left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b + 121\right) + 2\right)\right) \cdot a\right) \cdot a
double code(double b, double a) {
	return ((double) (((double) (((double) (((double) (333.75 * ((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (b * b)))))) + ((double) (((double) (a * a)) * ((double) (((double) (((double) (((double) (((double) (11.0 * ((double) (a * a)))) * ((double) (b * b)))) - ((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (b * b)))))) - ((double) (121.0 * ((double) (((double) (b * b)) * ((double) (b * b)))))))) - 2.0)))))) + ((double) (5.5 * ((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (((double) (b * b)) * ((double) (b * b)))))))))) + ((double) (a / ((double) (2.0 * b))))));
}
double code(double b, double a) {
	return ((double) (((double) (((double) (a / ((double) (2.0 * b)))) + ((double) (((double) pow(b, 6.0)) * ((double) (((double) (((double) (b * b)) * 5.5)) + 333.75)))))) + ((double) (((double) (((double) (((double) (((double) (11.0 * ((double) (a * a)))) * ((double) (b * b)))) - ((double) (((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (((double) (b * b)) + 121.0)))) + 2.0)))) * a)) * a))));
}

Error

Bits error versus b

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left(\left(333.75 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) + \left(a \cdot a\right) \cdot \left(\left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) - 121 \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right) - 2\right)\right) + 5.5 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right)\right) + \frac{a}{2 \cdot b}\]
  2. Simplified0.1

    \[\leadsto \color{blue}{\left(\frac{a}{2 \cdot b} + {b}^{6} \cdot \left(\left(b \cdot b\right) \cdot 5.5 + 333.75\right)\right) + \left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b + 121\right) + 2\right)\right) \cdot a\right) \cdot a}\]
  3. Final simplification0.1

    \[\leadsto \left(\frac{a}{2 \cdot b} + {b}^{6} \cdot \left(\left(b \cdot b\right) \cdot 5.5 + 333.75\right)\right) + \left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b + 121\right) + 2\right)\right) \cdot a\right) \cdot a\]

Reproduce

herbie shell --seed 2020153 
(FPCore (b a)
  :name "(+ (+ (+ (* 333.75 (* (* (* b b) (* b b)) (* b b))) (* (* a a) (- (- (- (* (* 11 (* a a)) (* b b)) (* (* (* b b) (* b b)) (* b b))) (* 121 (* (* b b) (* b b)))) 2))) (* 5.5 (* (* (* b b) (* b b)) (* (* b b) (* b b))))) (/ a (* 2 b)))"
  :precision binary64
  (+ (+ (+ (* 333.75 (* (* (* b b) (* b b)) (* b b))) (* (* a a) (- (- (- (* (* 11.0 (* a a)) (* b b)) (* (* (* b b) (* b b)) (* b b))) (* 121.0 (* (* b b) (* b b)))) 2.0))) (* 5.5 (* (* (* b b) (* b b)) (* (* b b) (* b b))))) (/ a (* 2.0 b))))