Average Error: 0.2 → 0.2
Time: 7.1s
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 r929122 = x;
        double r929123 = 16.0;
        double r929124 = 116.0;
        double r929125 = r929123 / r929124;
        double r929126 = r929122 - r929125;
        double r929127 = 3.0;
        double r929128 = r929126 * r929127;
        double r929129 = y;
        double r929130 = r929128 * r929129;
        return r929130;
}

double f(double x, double y) {
        double r929131 = x;
        double r929132 = 16.0;
        double r929133 = 116.0;
        double r929134 = r929132 / r929133;
        double r929135 = r929131 - r929134;
        double r929136 = 3.0;
        double r929137 = r929135 * r929136;
        double r929138 = y;
        double r929139 = r929137 * r929138;
        return r929139;
}

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 +o rules:numerics
(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))