Average Error: 33.8 → 33.8
Time: 1.4s
Precision: binary64
\[\frac{\frac{\left(\left(a + b\right) + c\right) \cdot \left(\left(a + b\right) - c\right)}{a}}{b} - 2\]
\[\frac{\frac{\left(\left(a + b\right) + c\right) \cdot \left(\left(a + b\right) - c\right)}{a}}{b} - 2\]
\frac{\frac{\left(\left(a + b\right) + c\right) \cdot \left(\left(a + b\right) - c\right)}{a}}{b} - 2
\frac{\frac{\left(\left(a + b\right) + c\right) \cdot \left(\left(a + b\right) - c\right)}{a}}{b} - 2
double code(double a, double b, double c) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (a + b)) + c)) * ((double) (((double) (a + b)) - c)))) / a)) / b)) - 2.0));
}
double code(double a, double b, double c) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (a + b)) + c)) * ((double) (((double) (a + b)) - c)))) / a)) / b)) - 2.0));
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 33.8

    \[\frac{\frac{\left(\left(a + b\right) + c\right) \cdot \left(\left(a + b\right) - c\right)}{a}}{b} - 2\]
  2. Final simplification33.8

    \[\leadsto \frac{\frac{\left(\left(a + b\right) + c\right) \cdot \left(\left(a + b\right) - c\right)}{a}}{b} - 2\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a b c)
  :name "(- (/ (/ (* (+ (+ a b) c) (- (+ a b) c)) a) b) 2)"
  :precision binary64
  (- (/ (/ (* (+ (+ a b) c) (- (+ a b) c)) a) b) 2.0))