\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot y\left(\left(x - \frac{16}{116}\right) \cdot 3\right) \cdot ydouble f(double x, double y) {
double r850577 = x;
double r850578 = 16.0;
double r850579 = 116.0;
double r850580 = r850578 / r850579;
double r850581 = r850577 - r850580;
double r850582 = 3.0;
double r850583 = r850581 * r850582;
double r850584 = y;
double r850585 = r850583 * r850584;
return r850585;
}
double f(double x, double y) {
double r850586 = x;
double r850587 = 16.0;
double r850588 = 116.0;
double r850589 = r850587 / r850588;
double r850590 = r850586 - r850589;
double r850591 = 3.0;
double r850592 = r850590 * r850591;
double r850593 = y;
double r850594 = r850592 * r850593;
return r850594;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
Final simplification0.2
herbie shell --seed 2020036 +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))