Average Error: 0.2 → 0.2
Time: 18.7s
Precision: 64
\[\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y\]
\[\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y\]
\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y
\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y
double f(double x, double y) {
        double r672720 = x;
        double r672721 = 16.0;
        double r672722 = 116.0;
        double r672723 = r672721 / r672722;
        double r672724 = r672720 - r672723;
        double r672725 = 3.0;
        double r672726 = r672724 * r672725;
        double r672727 = y;
        double r672728 = r672726 * r672727;
        return r672728;
}

double f(double x, double y) {
        double r672729 = x;
        double r672730 = 16.0;
        double r672731 = 116.0;
        double r672732 = r672730 / r672731;
        double r672733 = r672729 - r672732;
        double r672734 = 3.0;
        double r672735 = r672733 * r672734;
        double r672736 = y;
        double r672737 = r672735 * r672736;
        return r672737;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.2
Target0.2
Herbie0.2
\[y \cdot \left(x \cdot 3 - 0.4137931034482758563264326312491903081536\right)\]

Derivation

  1. Initial program 0.2

    \[\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y\]
  2. Final simplification0.2

    \[\leadsto \left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y\]

Reproduce

herbie shell --seed 2019303 
(FPCore (x y)
  :name "Data.Colour.CIE:cieLAB from colour-2.3.3, A"
  :precision binary64

  :herbie-target
  (* y (- (* x 3) 0.413793103448275856))

  (* (* (- x (/ 16 116)) 3) y))