Average Error: 1.5 → 1.8
Time: 8.1s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\frac{x + 4}{y} - \left(\frac{x}{y} \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}\right|\]
\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|
\left|\frac{x + 4}{y} - \left(\frac{x}{y} \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}\right|
double f(double x, double y, double z) {
        double r49785 = x;
        double r49786 = 4.0;
        double r49787 = r49785 + r49786;
        double r49788 = y;
        double r49789 = r49787 / r49788;
        double r49790 = r49785 / r49788;
        double r49791 = z;
        double r49792 = r49790 * r49791;
        double r49793 = r49789 - r49792;
        double r49794 = fabs(r49793);
        return r49794;
}

double f(double x, double y, double z) {
        double r49795 = x;
        double r49796 = 4.0;
        double r49797 = r49795 + r49796;
        double r49798 = y;
        double r49799 = r49797 / r49798;
        double r49800 = r49795 / r49798;
        double r49801 = z;
        double r49802 = cbrt(r49801);
        double r49803 = r49802 * r49802;
        double r49804 = r49800 * r49803;
        double r49805 = r49804 * r49802;
        double r49806 = r49799 - r49805;
        double r49807 = fabs(r49806);
        return r49807;
}

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 1.5

    \[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
  2. Using strategy rm
  3. Applied add-cube-cbrt1.8

    \[\leadsto \left|\frac{x + 4}{y} - \frac{x}{y} \cdot \color{blue}{\left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}\right)}\right|\]
  4. Applied associate-*r*1.8

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\left(\frac{x}{y} \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}}\right|\]
  5. Final simplification1.8

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

Reproduce

herbie shell --seed 2020045 +o rules:numerics
(FPCore (x y z)
  :name "fabs fraction 1"
  :precision binary64
  (fabs (- (/ (+ x 4) y) (* (/ x y) z))))