Average Error: 14.1 → 0.3
Time: 21.1s
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{\pi}{2} \cdot \left(\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{1}{b + a}\right)\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
\frac{\pi}{2} \cdot \left(\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{1}{b + a}\right)
double f(double a, double b) {
        double r44089 = atan2(1.0, 0.0);
        double r44090 = 2.0;
        double r44091 = r44089 / r44090;
        double r44092 = 1.0;
        double r44093 = b;
        double r44094 = r44093 * r44093;
        double r44095 = a;
        double r44096 = r44095 * r44095;
        double r44097 = r44094 - r44096;
        double r44098 = r44092 / r44097;
        double r44099 = r44091 * r44098;
        double r44100 = r44092 / r44095;
        double r44101 = r44092 / r44093;
        double r44102 = r44100 - r44101;
        double r44103 = r44099 * r44102;
        return r44103;
}

double f(double a, double b) {
        double r44104 = atan2(1.0, 0.0);
        double r44105 = 2.0;
        double r44106 = r44104 / r44105;
        double r44107 = 1.0;
        double r44108 = a;
        double r44109 = r44107 / r44108;
        double r44110 = b;
        double r44111 = r44107 / r44110;
        double r44112 = r44109 - r44111;
        double r44113 = r44110 - r44108;
        double r44114 = r44112 / r44113;
        double r44115 = r44110 + r44108;
        double r44116 = r44107 / r44115;
        double r44117 = r44114 * r44116;
        double r44118 = r44106 * r44117;
        return r44118;
}

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.1

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Using strategy rm
  3. Applied associate-*l*14.1

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

    \[\leadsto \frac{\pi}{2} \cdot \color{blue}{\left(\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{1}{b + a}\right)}\]
  5. Final simplification0.3

    \[\leadsto \frac{\pi}{2} \cdot \left(\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{1}{b + a}\right)\]

Reproduce

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