Average Error: 18.6 → 18.6
Time: 1.1s
Precision: binary64
\[\frac{\left(\left(aAD0 \cdot k\right) \cdot k - aAD1 \cdot k\right) + aAD2}{\left(\left(aAD0 \cdot k\right) \cdot k + aAD1 \cdot k\right) + aAD2}\]
\[\frac{\left(\left(aAD0 \cdot k\right) \cdot k - aAD1 \cdot k\right) + aAD2}{\left(\left(aAD0 \cdot k\right) \cdot k + aAD1 \cdot k\right) + aAD2}\]
\frac{\left(\left(aAD0 \cdot k\right) \cdot k - aAD1 \cdot k\right) + aAD2}{\left(\left(aAD0 \cdot k\right) \cdot k + aAD1 \cdot k\right) + aAD2}
\frac{\left(\left(aAD0 \cdot k\right) \cdot k - aAD1 \cdot k\right) + aAD2}{\left(\left(aAD0 \cdot k\right) \cdot k + aAD1 \cdot k\right) + aAD2}
double code(double aAD0, double k, double aAD1, double aAD2) {
	return ((double) (((double) (((double) (((double) (((double) (aAD0 * k)) * k)) - ((double) (aAD1 * k)))) + aAD2)) / ((double) (((double) (((double) (((double) (aAD0 * k)) * k)) + ((double) (aAD1 * k)))) + aAD2))));
}
double code(double aAD0, double k, double aAD1, double aAD2) {
	return ((double) (((double) (((double) (((double) (((double) (aAD0 * k)) * k)) - ((double) (aAD1 * k)))) + aAD2)) / ((double) (((double) (((double) (((double) (aAD0 * k)) * k)) + ((double) (aAD1 * k)))) + aAD2))));
}

Error

Bits error versus aAD0

Bits error versus k

Bits error versus aAD1

Bits error versus aAD2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 18.6

    \[\frac{\left(\left(aAD0 \cdot k\right) \cdot k - aAD1 \cdot k\right) + aAD2}{\left(\left(aAD0 \cdot k\right) \cdot k + aAD1 \cdot k\right) + aAD2}\]
  2. Final simplification18.6

    \[\leadsto \frac{\left(\left(aAD0 \cdot k\right) \cdot k - aAD1 \cdot k\right) + aAD2}{\left(\left(aAD0 \cdot k\right) \cdot k + aAD1 \cdot k\right) + aAD2}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (aAD0 k aAD1 aAD2)
  :name "(/ (+ (- (* (* aAD0 k) k) (* aAD1 k)) aAD2) (+ (+ (* (* aAD0 k) k) (* aAD1 k)) aAD2))"
  :precision binary64
  (/ (+ (- (* (* aAD0 k) k) (* aAD1 k)) aAD2) (+ (+ (* (* aAD0 k) k) (* aAD1 k)) aAD2)))