Average Error: 1.6 → 0.6
Time: 3.7s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\frac{x + 4}{y} - \sqrt{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\left(\left|\frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right| \cdot z\right) \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)\right|\]
\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|
\left|\frac{x + 4}{y} - \sqrt{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\left(\left|\frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right| \cdot z\right) \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)\right|
double f(double x, double y, double z) {
        double r32983 = x;
        double r32984 = 4.0;
        double r32985 = r32983 + r32984;
        double r32986 = y;
        double r32987 = r32985 / r32986;
        double r32988 = r32983 / r32986;
        double r32989 = z;
        double r32990 = r32988 * r32989;
        double r32991 = r32987 - r32990;
        double r32992 = fabs(r32991);
        return r32992;
}

double f(double x, double y, double z) {
        double r32993 = x;
        double r32994 = 4.0;
        double r32995 = r32993 + r32994;
        double r32996 = y;
        double r32997 = r32995 / r32996;
        double r32998 = cbrt(r32993);
        double r32999 = r32998 * r32998;
        double r33000 = cbrt(r32996);
        double r33001 = r33000 * r33000;
        double r33002 = r32999 / r33001;
        double r33003 = sqrt(r33002);
        double r33004 = r32998 / r33000;
        double r33005 = fabs(r33004);
        double r33006 = z;
        double r33007 = r33005 * r33006;
        double r33008 = r33007 * r33004;
        double r33009 = r33003 * r33008;
        double r33010 = r32997 - r33009;
        double r33011 = fabs(r33010);
        return r33011;
}

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

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

    \[\leadsto \left|\frac{x + 4}{y} - \frac{x}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}} \cdot z\right|\]
  4. Applied add-cube-cbrt2.0

    \[\leadsto \left|\frac{x + 4}{y} - \frac{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}} \cdot z\right|\]
  5. Applied times-frac2.0

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

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)}\right|\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.6

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

    \[\leadsto \left|\frac{x + 4}{y} - \color{blue}{\sqrt{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\sqrt{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)\right)}\right|\]
  10. Simplified0.6

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

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

Reproduce

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