Average Error: 0.2 → 0.2
Time: 3.9s
Precision: 64
\[x + \left(\left(y - x\right) \cdot 6\right) \cdot z\]
\[x + \left(\left(y - x\right) \cdot 6\right) \cdot z\]
x + \left(\left(y - x\right) \cdot 6\right) \cdot z
x + \left(\left(y - x\right) \cdot 6\right) \cdot z
double f(double x, double y, double z) {
        double r805215 = x;
        double r805216 = y;
        double r805217 = r805216 - r805215;
        double r805218 = 6.0;
        double r805219 = r805217 * r805218;
        double r805220 = z;
        double r805221 = r805219 * r805220;
        double r805222 = r805215 + r805221;
        return r805222;
}

double f(double x, double y, double z) {
        double r805223 = x;
        double r805224 = y;
        double r805225 = r805224 - r805223;
        double r805226 = 6.0;
        double r805227 = r805225 * r805226;
        double r805228 = z;
        double r805229 = r805227 * r805228;
        double r805230 = r805223 + r805229;
        return r805230;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

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

Derivation

  1. Initial program 0.2

    \[x + \left(\left(y - x\right) \cdot 6\right) \cdot z\]
  2. Final simplification0.2

    \[\leadsto x + \left(\left(y - x\right) \cdot 6\right) \cdot z\]

Reproduce

herbie shell --seed 2019356 
(FPCore (x y z)
  :name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, E"
  :precision binary64

  :herbie-target
  (- x (* (* 6 z) (- x y)))

  (+ x (* (* (- y x) 6) z)))