Average Error: 0.2 → 0.2
Time: 9.6s
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 r898856 = x;
        double r898857 = 16.0;
        double r898858 = 116.0;
        double r898859 = r898857 / r898858;
        double r898860 = r898856 - r898859;
        double r898861 = 3.0;
        double r898862 = r898860 * r898861;
        double r898863 = y;
        double r898864 = r898862 * r898863;
        return r898864;
}

double f(double x, double y) {
        double r898865 = x;
        double r898866 = 16.0;
        double r898867 = 116.0;
        double r898868 = r898866 / r898867;
        double r898869 = r898865 - r898868;
        double r898870 = 3.0;
        double r898871 = r898869 * r898870;
        double r898872 = y;
        double r898873 = r898871 * r898872;
        return r898873;
}

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.413793103448275856\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 2020047 
(FPCore (x y)
  :name "Data.Colour.CIE:cieLAB from colour-2.3.3, A"
  :precision binary64

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

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