Average Error: 1.6 → 0.6
Time: 10.4s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\frac{x + 4}{y} - \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|\]
\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|
\left|\frac{x + 4}{y} - \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|
double f(double x, double y, double z) {
        double r24013 = x;
        double r24014 = 4.0;
        double r24015 = r24013 + r24014;
        double r24016 = y;
        double r24017 = r24015 / r24016;
        double r24018 = r24013 / r24016;
        double r24019 = z;
        double r24020 = r24018 * r24019;
        double r24021 = r24017 - r24020;
        double r24022 = fabs(r24021);
        return r24022;
}

double f(double x, double y, double z) {
        double r24023 = x;
        double r24024 = 4.0;
        double r24025 = r24023 + r24024;
        double r24026 = y;
        double r24027 = r24025 / r24026;
        double r24028 = cbrt(r24023);
        double r24029 = r24028 * r24028;
        double r24030 = cbrt(r24026);
        double r24031 = r24030 * r24030;
        double r24032 = r24029 / r24031;
        double r24033 = r24028 / r24030;
        double r24034 = z;
        double r24035 = r24033 * r24034;
        double r24036 = r24032 * r24035;
        double r24037 = r24027 - r24036;
        double r24038 = fabs(r24037);
        return r24038;
}

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

    \[\leadsto \left|\frac{x + 4}{y} - \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|\]

Reproduce

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