Average Error: 0.4 → 0.2
Time: 10.4s
Precision: 64
\[x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\]
\[x + \left(y - x\right) \cdot \left(6 \cdot \left(\frac{2}{3} - z\right)\right)\]
x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)
x + \left(y - x\right) \cdot \left(6 \cdot \left(\frac{2}{3} - z\right)\right)
double f(double x, double y, double z) {
        double r206178 = x;
        double r206179 = y;
        double r206180 = r206179 - r206178;
        double r206181 = 6.0;
        double r206182 = r206180 * r206181;
        double r206183 = 2.0;
        double r206184 = 3.0;
        double r206185 = r206183 / r206184;
        double r206186 = z;
        double r206187 = r206185 - r206186;
        double r206188 = r206182 * r206187;
        double r206189 = r206178 + r206188;
        return r206189;
}

double f(double x, double y, double z) {
        double r206190 = x;
        double r206191 = y;
        double r206192 = r206191 - r206190;
        double r206193 = 6.0;
        double r206194 = 2.0;
        double r206195 = 3.0;
        double r206196 = r206194 / r206195;
        double r206197 = z;
        double r206198 = r206196 - r206197;
        double r206199 = r206193 * r206198;
        double r206200 = r206192 * r206199;
        double r206201 = r206190 + r206200;
        return r206201;
}

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

Derivation

  1. Initial program 0.4

    \[x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\]
  2. Using strategy rm
  3. Applied associate-*l*0.2

    \[\leadsto x + \color{blue}{\left(y - x\right) \cdot \left(6 \cdot \left(\frac{2}{3} - z\right)\right)}\]
  4. Final simplification0.2

    \[\leadsto x + \left(y - x\right) \cdot \left(6 \cdot \left(\frac{2}{3} - z\right)\right)\]

Reproduce

herbie shell --seed 1978988140 
(FPCore (x y z)
  :name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D"
  :precision binary64
  (+ x (* (* (- y x) 6) (- (/ 2 3) z))))