Average Error: 1.6 → 0.6
Time: 11.1s
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 r24650 = x;
        double r24651 = 4.0;
        double r24652 = r24650 + r24651;
        double r24653 = y;
        double r24654 = r24652 / r24653;
        double r24655 = r24650 / r24653;
        double r24656 = z;
        double r24657 = r24655 * r24656;
        double r24658 = r24654 - r24657;
        double r24659 = fabs(r24658);
        return r24659;
}

double f(double x, double y, double z) {
        double r24660 = x;
        double r24661 = 4.0;
        double r24662 = r24660 + r24661;
        double r24663 = y;
        double r24664 = r24662 / r24663;
        double r24665 = cbrt(r24660);
        double r24666 = r24665 * r24665;
        double r24667 = cbrt(r24663);
        double r24668 = r24667 * r24667;
        double r24669 = r24666 / r24668;
        double r24670 = r24665 / r24667;
        double r24671 = z;
        double r24672 = r24670 * r24671;
        double r24673 = r24669 * r24672;
        double r24674 = r24664 - r24673;
        double r24675 = fabs(r24674);
        return r24675;
}

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 +o rules:numerics
(FPCore (x y z)
  :name "fabs fraction 1"
  :precision binary64
  (fabs (- (/ (+ x 4) y) (* (/ x y) z))))