Average Error: 33.9 → 0.6
Time: 6.7s
Precision: 64
\[\frac{x \cdot x}{y \cdot y} + \frac{z \cdot z}{t \cdot t}\]
\[\left(\left|\frac{x}{y}\right| \cdot \sqrt[3]{{\left(\left|\frac{x}{y}\right|\right)}^{2}}\right) \cdot \sqrt[3]{\left|\frac{x}{y}\right|} + \frac{z}{t} \cdot \frac{z}{t}\]
\frac{x \cdot x}{y \cdot y} + \frac{z \cdot z}{t \cdot t}
\left(\left|\frac{x}{y}\right| \cdot \sqrt[3]{{\left(\left|\frac{x}{y}\right|\right)}^{2}}\right) \cdot \sqrt[3]{\left|\frac{x}{y}\right|} + \frac{z}{t} \cdot \frac{z}{t}
double f(double x, double y, double z, double t) {
        double r1392664 = x;
        double r1392665 = r1392664 * r1392664;
        double r1392666 = y;
        double r1392667 = r1392666 * r1392666;
        double r1392668 = r1392665 / r1392667;
        double r1392669 = z;
        double r1392670 = r1392669 * r1392669;
        double r1392671 = t;
        double r1392672 = r1392671 * r1392671;
        double r1392673 = r1392670 / r1392672;
        double r1392674 = r1392668 + r1392673;
        return r1392674;
}

double f(double x, double y, double z, double t) {
        double r1392675 = x;
        double r1392676 = y;
        double r1392677 = r1392675 / r1392676;
        double r1392678 = fabs(r1392677);
        double r1392679 = 2.0;
        double r1392680 = pow(r1392678, r1392679);
        double r1392681 = cbrt(r1392680);
        double r1392682 = r1392678 * r1392681;
        double r1392683 = cbrt(r1392678);
        double r1392684 = r1392682 * r1392683;
        double r1392685 = z;
        double r1392686 = t;
        double r1392687 = r1392685 / r1392686;
        double r1392688 = r1392687 * r1392687;
        double r1392689 = r1392684 + r1392688;
        return r1392689;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original33.9
Target0.4
Herbie0.6
\[{\left(\frac{x}{y}\right)}^{2} + {\left(\frac{z}{t}\right)}^{2}\]

Derivation

  1. Initial program 33.9

    \[\frac{x \cdot x}{y \cdot y} + \frac{z \cdot z}{t \cdot t}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt34.0

    \[\leadsto \color{blue}{\sqrt{\frac{x \cdot x}{y \cdot y}} \cdot \sqrt{\frac{x \cdot x}{y \cdot y}}} + \frac{z \cdot z}{t \cdot t}\]
  4. Simplified33.9

    \[\leadsto \color{blue}{\left|\frac{x}{y}\right|} \cdot \sqrt{\frac{x \cdot x}{y \cdot y}} + \frac{z \cdot z}{t \cdot t}\]
  5. Simplified19.4

    \[\leadsto \left|\frac{x}{y}\right| \cdot \color{blue}{\left|\frac{x}{y}\right|} + \frac{z \cdot z}{t \cdot t}\]
  6. Using strategy rm
  7. Applied times-frac0.4

    \[\leadsto \left|\frac{x}{y}\right| \cdot \left|\frac{x}{y}\right| + \color{blue}{\frac{z}{t} \cdot \frac{z}{t}}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt0.8

    \[\leadsto \left|\frac{x}{y}\right| \cdot \color{blue}{\left(\left(\sqrt[3]{\left|\frac{x}{y}\right|} \cdot \sqrt[3]{\left|\frac{x}{y}\right|}\right) \cdot \sqrt[3]{\left|\frac{x}{y}\right|}\right)} + \frac{z}{t} \cdot \frac{z}{t}\]
  10. Applied associate-*r*0.8

    \[\leadsto \color{blue}{\left(\left|\frac{x}{y}\right| \cdot \left(\sqrt[3]{\left|\frac{x}{y}\right|} \cdot \sqrt[3]{\left|\frac{x}{y}\right|}\right)\right) \cdot \sqrt[3]{\left|\frac{x}{y}\right|}} + \frac{z}{t} \cdot \frac{z}{t}\]
  11. Using strategy rm
  12. Applied cbrt-unprod0.6

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

    \[\leadsto \left(\left|\frac{x}{y}\right| \cdot \sqrt[3]{\color{blue}{{\left(\left|\frac{x}{y}\right|\right)}^{2}}}\right) \cdot \sqrt[3]{\left|\frac{x}{y}\right|} + \frac{z}{t} \cdot \frac{z}{t}\]
  14. Final simplification0.6

    \[\leadsto \left(\left|\frac{x}{y}\right| \cdot \sqrt[3]{{\left(\left|\frac{x}{y}\right|\right)}^{2}}\right) \cdot \sqrt[3]{\left|\frac{x}{y}\right|} + \frac{z}{t} \cdot \frac{z}{t}\]

Reproduce

herbie shell --seed 2020047 
(FPCore (x y z t)
  :name "Graphics.Rasterific.Svg.PathConverter:arcToSegments from rasterific-svg-0.2.3.1"
  :precision binary64

  :herbie-target
  (+ (pow (/ x y) 2) (pow (/ z t) 2))

  (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))))