Average Error: 0.4 → 0.2
Time: 20.0s
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(\left(\frac{2}{3} - z\right) \cdot 6\right)\]
x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)
x + \left(y - x\right) \cdot \left(\left(\frac{2}{3} - z\right) \cdot 6\right)
double f(double x, double y, double z) {
        double r15971965 = x;
        double r15971966 = y;
        double r15971967 = r15971966 - r15971965;
        double r15971968 = 6.0;
        double r15971969 = r15971967 * r15971968;
        double r15971970 = 2.0;
        double r15971971 = 3.0;
        double r15971972 = r15971970 / r15971971;
        double r15971973 = z;
        double r15971974 = r15971972 - r15971973;
        double r15971975 = r15971969 * r15971974;
        double r15971976 = r15971965 + r15971975;
        return r15971976;
}

double f(double x, double y, double z) {
        double r15971977 = x;
        double r15971978 = y;
        double r15971979 = r15971978 - r15971977;
        double r15971980 = 2.0;
        double r15971981 = 3.0;
        double r15971982 = r15971980 / r15971981;
        double r15971983 = z;
        double r15971984 = r15971982 - r15971983;
        double r15971985 = 6.0;
        double r15971986 = r15971984 * r15971985;
        double r15971987 = r15971979 * r15971986;
        double r15971988 = r15971977 + r15971987;
        return r15971988;
}

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(\left(\frac{2}{3} - z\right) \cdot 6\right)\]

Reproduce

herbie shell --seed 2019170 
(FPCore (x y z)
  :name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D"
  (+ x (* (* (- y x) 6.0) (- (/ 2.0 3.0) z))))