Average Error: 1.5 → 0.6
Time: 14.9s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\left(\frac{4}{y} - \frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot \left(z \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)\right)\right) + \frac{x}{y}\right|\]
\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|
\left|\left(\frac{4}{y} - \frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot \left(z \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)\right)\right) + \frac{x}{y}\right|
double f(double x, double y, double z) {
        double r1368306 = x;
        double r1368307 = 4.0;
        double r1368308 = r1368306 + r1368307;
        double r1368309 = y;
        double r1368310 = r1368308 / r1368309;
        double r1368311 = r1368306 / r1368309;
        double r1368312 = z;
        double r1368313 = r1368311 * r1368312;
        double r1368314 = r1368310 - r1368313;
        double r1368315 = fabs(r1368314);
        return r1368315;
}

double f(double x, double y, double z) {
        double r1368316 = 4.0;
        double r1368317 = y;
        double r1368318 = r1368316 / r1368317;
        double r1368319 = x;
        double r1368320 = cbrt(r1368319);
        double r1368321 = cbrt(r1368317);
        double r1368322 = r1368320 / r1368321;
        double r1368323 = z;
        double r1368324 = r1368322 * r1368322;
        double r1368325 = r1368323 * r1368324;
        double r1368326 = r1368322 * r1368325;
        double r1368327 = r1368318 - r1368326;
        double r1368328 = r1368319 / r1368317;
        double r1368329 = r1368327 + r1368328;
        double r1368330 = fabs(r1368329);
        return r1368330;
}

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. Taylor expanded around 0 3.6

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

    \[\leadsto \left|\color{blue}{\frac{x}{y} + \left(\frac{4}{y} - z \cdot \frac{x}{y}\right)}\right|\]
  4. Using strategy rm
  5. Applied add-cube-cbrt1.8

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

    \[\leadsto \left|\frac{x}{y} + \left(\frac{4}{y} - z \cdot \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}}\right)\right|\]
  7. Applied times-frac1.9

    \[\leadsto \left|\frac{x}{y} + \left(\frac{4}{y} - z \cdot \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)}\right)\right|\]
  8. Applied associate-*r*0.6

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

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

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

Reproduce

herbie shell --seed 2019171 +o rules:numerics
(FPCore (x y z)
  :name "fabs fraction 1"
  (fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))