Average Error: 14.8 → 0.3
Time: 1.0m
Precision: 64
\[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
\[\frac{\frac{\frac{1}{\frac{a}{\pi}}}{b} \cdot \frac{1}{2}}{a + b}\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
\frac{\frac{\frac{1}{\frac{a}{\pi}}}{b} \cdot \frac{1}{2}}{a + b}
double f(double a, double b) {
        double r3072843 = atan2(1.0, 0.0);
        double r3072844 = 2.0;
        double r3072845 = r3072843 / r3072844;
        double r3072846 = 1.0;
        double r3072847 = b;
        double r3072848 = r3072847 * r3072847;
        double r3072849 = a;
        double r3072850 = r3072849 * r3072849;
        double r3072851 = r3072848 - r3072850;
        double r3072852 = r3072846 / r3072851;
        double r3072853 = r3072845 * r3072852;
        double r3072854 = r3072846 / r3072849;
        double r3072855 = r3072846 / r3072847;
        double r3072856 = r3072854 - r3072855;
        double r3072857 = r3072853 * r3072856;
        return r3072857;
}

double f(double a, double b) {
        double r3072858 = 1.0;
        double r3072859 = a;
        double r3072860 = atan2(1.0, 0.0);
        double r3072861 = r3072859 / r3072860;
        double r3072862 = r3072858 / r3072861;
        double r3072863 = b;
        double r3072864 = r3072862 / r3072863;
        double r3072865 = 0.5;
        double r3072866 = r3072864 * r3072865;
        double r3072867 = r3072859 + r3072863;
        double r3072868 = r3072866 / r3072867;
        return r3072868;
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 14.8

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{1}{a} - \frac{1}{b}}{\frac{b - a}{\frac{\pi}{2}}}}{a + b}}\]
  3. Taylor expanded around 0 0.2

    \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \frac{\pi}{a \cdot b}}}{a + b}\]
  4. Using strategy rm
  5. Applied associate-/r*0.3

    \[\leadsto \frac{\frac{1}{2} \cdot \color{blue}{\frac{\frac{\pi}{a}}{b}}}{a + b}\]
  6. Using strategy rm
  7. Applied clear-num0.3

    \[\leadsto \frac{\frac{1}{2} \cdot \frac{\color{blue}{\frac{1}{\frac{a}{\pi}}}}{b}}{a + b}\]
  8. Final simplification0.3

    \[\leadsto \frac{\frac{\frac{1}{\frac{a}{\pi}}}{b} \cdot \frac{1}{2}}{a + b}\]

Reproduce

herbie shell --seed 2019165 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))