Average Error: 0.1 → 0.4
Time: 48.0s
Precision: 64
\[x + \left(y \cdot z\right) \cdot z\]
\[x + \left(\sqrt[3]{\left(y \cdot z\right) \cdot z} \cdot \sqrt[3]{\left(y \cdot z\right) \cdot z}\right) \cdot \sqrt[3]{\left(y \cdot z\right) \cdot z}\]
x + \left(y \cdot z\right) \cdot z
x + \left(\sqrt[3]{\left(y \cdot z\right) \cdot z} \cdot \sqrt[3]{\left(y \cdot z\right) \cdot z}\right) \cdot \sqrt[3]{\left(y \cdot z\right) \cdot z}
double f(double x, double y, double z) {
        double r27801 = x;
        double r27802 = y;
        double r27803 = z;
        double r27804 = r27802 * r27803;
        double r27805 = r27804 * r27803;
        double r27806 = r27801 + r27805;
        return r27806;
}

double f(double x, double y, double z) {
        double r27807 = x;
        double r27808 = y;
        double r27809 = z;
        double r27810 = r27808 * r27809;
        double r27811 = r27810 * r27809;
        double r27812 = cbrt(r27811);
        double r27813 = r27812 * r27812;
        double r27814 = r27813 * r27812;
        double r27815 = r27807 + r27814;
        return r27815;
}

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.1

    \[x + \left(y \cdot z\right) \cdot z\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.4

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

    \[\leadsto x + \left(\sqrt[3]{\left(y \cdot z\right) \cdot z} \cdot \sqrt[3]{\left(y \cdot z\right) \cdot z}\right) \cdot \sqrt[3]{\left(y \cdot z\right) \cdot z}\]

Reproduce

herbie shell --seed 2019305 +o rules:numerics
(FPCore (x y z)
  :name "Statistics.Sample:robustSumVarWeighted from math-functions-0.1.5.2"
  :precision binary64
  (+ x (* (* y z) z)))