Average Error: 1.5 → 0.7
Time: 3.5s
Precision: 64
\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
\[\left|\left(4 \cdot \frac{1}{y} + \frac{x}{y}\right) - \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|\left(4 \cdot \frac{1}{y} + \frac{x}{y}\right) - \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 r27901 = x;
        double r27902 = 4.0;
        double r27903 = r27901 + r27902;
        double r27904 = y;
        double r27905 = r27903 / r27904;
        double r27906 = r27901 / r27904;
        double r27907 = z;
        double r27908 = r27906 * r27907;
        double r27909 = r27905 - r27908;
        double r27910 = fabs(r27909);
        return r27910;
}

double f(double x, double y, double z) {
        double r27911 = 4.0;
        double r27912 = 1.0;
        double r27913 = y;
        double r27914 = r27912 / r27913;
        double r27915 = r27911 * r27914;
        double r27916 = x;
        double r27917 = r27916 / r27913;
        double r27918 = r27915 + r27917;
        double r27919 = cbrt(r27916);
        double r27920 = r27919 * r27919;
        double r27921 = cbrt(r27913);
        double r27922 = r27921 * r27921;
        double r27923 = r27920 / r27922;
        double r27924 = r27919 / r27921;
        double r27925 = z;
        double r27926 = r27924 * r27925;
        double r27927 = r27923 * r27926;
        double r27928 = r27918 - r27927;
        double r27929 = fabs(r27928);
        return r27929;
}

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 1.5

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

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

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

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

    \[\leadsto \left|\left(4 \cdot \frac{1}{y} + \frac{x}{y}\right) - \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|\]
  8. Final simplification0.7

    \[\leadsto \left|\left(4 \cdot \frac{1}{y} + \frac{x}{y}\right) - \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 2019353 
(FPCore (x y z)
  :name "fabs fraction 1"
  :precision binary64
  (fabs (- (/ (+ x 4) y) (* (/ x y) z))))