Average Error: 0.2 → 0.3
Time: 10.4s
Precision: 64
\[\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
\[\mathsf{fma}\left(1, 1, \left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) \cdot \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \left(\mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\right)\]
\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}
\mathsf{fma}\left(1, 1, \left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) \cdot \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \left(\mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\right)
double f(double x, double y) {
        double r369764 = 1.0;
        double r369765 = x;
        double r369766 = 9.0;
        double r369767 = r369765 * r369766;
        double r369768 = r369764 / r369767;
        double r369769 = r369764 - r369768;
        double r369770 = y;
        double r369771 = 3.0;
        double r369772 = sqrt(r369765);
        double r369773 = r369771 * r369772;
        double r369774 = r369770 / r369773;
        double r369775 = r369769 - r369774;
        return r369775;
}

double f(double x, double y) {
        double r369776 = 1.0;
        double r369777 = 1.0;
        double r369778 = sqrt(r369777);
        double r369779 = x;
        double r369780 = r369778 / r369779;
        double r369781 = 9.0;
        double r369782 = cbrt(r369781);
        double r369783 = r369780 / r369782;
        double r369784 = -r369783;
        double r369785 = r369782 * r369782;
        double r369786 = r369778 / r369785;
        double r369787 = r369784 * r369786;
        double r369788 = fma(r369776, r369777, r369787);
        double r369789 = r369786 * r369783;
        double r369790 = fma(r369784, r369786, r369789);
        double r369791 = y;
        double r369792 = 3.0;
        double r369793 = sqrt(r369779);
        double r369794 = r369792 * r369793;
        double r369795 = r369791 / r369794;
        double r369796 = r369790 - r369795;
        double r369797 = r369788 + r369796;
        return r369797;
}

Error

Bits error versus x

Bits error versus y

Target

Original0.2
Target0.2
Herbie0.3
\[\left(1 - \frac{\frac{1}{x}}{9}\right) - \frac{y}{3 \cdot \sqrt{x}}\]

Derivation

  1. Initial program 0.2

    \[\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  2. Using strategy rm
  3. Applied associate-/r*0.2

    \[\leadsto \left(1 - \color{blue}{\frac{\frac{1}{x}}{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt0.2

    \[\leadsto \left(1 - \frac{\frac{1}{x}}{\color{blue}{\left(\sqrt[3]{9} \cdot \sqrt[3]{9}\right) \cdot \sqrt[3]{9}}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  6. Applied *-un-lft-identity0.2

    \[\leadsto \left(1 - \frac{\frac{1}{\color{blue}{1 \cdot x}}}{\left(\sqrt[3]{9} \cdot \sqrt[3]{9}\right) \cdot \sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  7. Applied add-sqr-sqrt0.2

    \[\leadsto \left(1 - \frac{\frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{1 \cdot x}}{\left(\sqrt[3]{9} \cdot \sqrt[3]{9}\right) \cdot \sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  8. Applied times-frac0.2

    \[\leadsto \left(1 - \frac{\color{blue}{\frac{\sqrt{1}}{1} \cdot \frac{\sqrt{1}}{x}}}{\left(\sqrt[3]{9} \cdot \sqrt[3]{9}\right) \cdot \sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  9. Applied times-frac0.3

    \[\leadsto \left(1 - \color{blue}{\frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  10. Applied *-un-lft-identity0.3

    \[\leadsto \left(\color{blue}{1 \cdot 1} - \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  11. Applied prod-diff0.3

    \[\leadsto \color{blue}{\left(\mathsf{fma}\left(1, 1, -\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right)\right)} - \frac{y}{3 \cdot \sqrt{x}}\]
  12. Applied associate--l+0.3

    \[\leadsto \color{blue}{\mathsf{fma}\left(1, 1, -\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \left(\mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\right)}\]
  13. Simplified0.3

    \[\leadsto \mathsf{fma}\left(1, 1, -\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \color{blue}{\left(\mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\right)}\]
  14. Final simplification0.3

    \[\leadsto \mathsf{fma}\left(1, 1, \left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) \cdot \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \left(\mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\right)\]

Reproduce

herbie shell --seed 2020045 +o rules:numerics
(FPCore (x y)
  :name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
  :precision binary64

  :herbie-target
  (- (- 1 (/ (/ 1 x) 9)) (/ y (* 3 (sqrt x))))

  (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))))