Average Error: 0.2 → 0.3
Time: 43.5s
Precision: 64
\[\left(\left(x - \frac{16.0}{116.0}\right) \cdot 3.0\right) \cdot y\]
\[3.0 \cdot \left(\left(x - \frac{16.0}{116.0}\right) \cdot y\right)\]
\left(\left(x - \frac{16.0}{116.0}\right) \cdot 3.0\right) \cdot y
3.0 \cdot \left(\left(x - \frac{16.0}{116.0}\right) \cdot y\right)
double f(double x, double y) {
        double r35812984 = x;
        double r35812985 = 16.0;
        double r35812986 = 116.0;
        double r35812987 = r35812985 / r35812986;
        double r35812988 = r35812984 - r35812987;
        double r35812989 = 3.0;
        double r35812990 = r35812988 * r35812989;
        double r35812991 = y;
        double r35812992 = r35812990 * r35812991;
        return r35812992;
}

double f(double x, double y) {
        double r35812993 = 3.0;
        double r35812994 = x;
        double r35812995 = 16.0;
        double r35812996 = 116.0;
        double r35812997 = r35812995 / r35812996;
        double r35812998 = r35812994 - r35812997;
        double r35812999 = y;
        double r35813000 = r35812998 * r35812999;
        double r35813001 = r35812993 * r35813000;
        return r35813001;
}

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.3
\[y \cdot \left(x \cdot 3.0 - 0.41379310344827586\right)\]

Derivation

  1. Initial program 0.2

    \[\left(\left(x - \frac{16.0}{116.0}\right) \cdot 3.0\right) \cdot y\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt1.0

    \[\leadsto \left(\left(x - \frac{16.0}{116.0}\right) \cdot \color{blue}{\left(\sqrt{3.0} \cdot \sqrt{3.0}\right)}\right) \cdot y\]
  4. Applied associate-*r*0.9

    \[\leadsto \color{blue}{\left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot \sqrt{3.0}\right) \cdot \sqrt{3.0}\right)} \cdot y\]
  5. Using strategy rm
  6. Applied pow10.9

    \[\leadsto \left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot \sqrt{3.0}\right) \cdot \sqrt{3.0}\right) \cdot \color{blue}{{y}^{1}}\]
  7. Applied pow10.9

    \[\leadsto \left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot \sqrt{3.0}\right) \cdot \color{blue}{{\left(\sqrt{3.0}\right)}^{1}}\right) \cdot {y}^{1}\]
  8. Applied pow10.9

    \[\leadsto \left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot \color{blue}{{\left(\sqrt{3.0}\right)}^{1}}\right) \cdot {\left(\sqrt{3.0}\right)}^{1}\right) \cdot {y}^{1}\]
  9. Applied pow10.9

    \[\leadsto \left(\left(\color{blue}{{\left(x - \frac{16.0}{116.0}\right)}^{1}} \cdot {\left(\sqrt{3.0}\right)}^{1}\right) \cdot {\left(\sqrt{3.0}\right)}^{1}\right) \cdot {y}^{1}\]
  10. Applied pow-prod-down0.9

    \[\leadsto \left(\color{blue}{{\left(\left(x - \frac{16.0}{116.0}\right) \cdot \sqrt{3.0}\right)}^{1}} \cdot {\left(\sqrt{3.0}\right)}^{1}\right) \cdot {y}^{1}\]
  11. Applied pow-prod-down0.9

    \[\leadsto \color{blue}{{\left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot \sqrt{3.0}\right) \cdot \sqrt{3.0}\right)}^{1}} \cdot {y}^{1}\]
  12. Applied pow-prod-down0.9

    \[\leadsto \color{blue}{{\left(\left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot \sqrt{3.0}\right) \cdot \sqrt{3.0}\right) \cdot y\right)}^{1}}\]
  13. Simplified0.3

    \[\leadsto {\color{blue}{\left(\left(\left(x - \frac{16.0}{116.0}\right) \cdot y\right) \cdot 3.0\right)}}^{1}\]
  14. Final simplification0.3

    \[\leadsto 3.0 \cdot \left(\left(x - \frac{16.0}{116.0}\right) \cdot y\right)\]

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore (x y)
  :name "Data.Colour.CIE:cieLAB from colour-2.3.3, A"

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

  (* (* (- x (/ 16.0 116.0)) 3.0) y))