Average Error: 14.6 → 0.3
Time: 5.4s
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 \cdot \frac{1}{b + a}}{\frac{2 \cdot \left(b - a\right)}{\frac{1}{a} - \frac{1}{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{\pi \cdot \frac{1}{b + a}}{\frac{2 \cdot \left(b - a\right)}{\frac{1}{a} - \frac{1}{b}}}
double f(double a, double b) {
        double r46144 = atan2(1.0, 0.0);
        double r46145 = 2.0;
        double r46146 = r46144 / r46145;
        double r46147 = 1.0;
        double r46148 = b;
        double r46149 = r46148 * r46148;
        double r46150 = a;
        double r46151 = r46150 * r46150;
        double r46152 = r46149 - r46151;
        double r46153 = r46147 / r46152;
        double r46154 = r46146 * r46153;
        double r46155 = r46147 / r46150;
        double r46156 = r46147 / r46148;
        double r46157 = r46155 - r46156;
        double r46158 = r46154 * r46157;
        return r46158;
}

double f(double a, double b) {
        double r46159 = atan2(1.0, 0.0);
        double r46160 = 1.0;
        double r46161 = b;
        double r46162 = a;
        double r46163 = r46161 + r46162;
        double r46164 = r46160 / r46163;
        double r46165 = r46159 * r46164;
        double r46166 = 2.0;
        double r46167 = r46161 - r46162;
        double r46168 = r46166 * r46167;
        double r46169 = r46160 / r46162;
        double r46170 = r46160 / r46161;
        double r46171 = r46169 - r46170;
        double r46172 = r46168 / r46171;
        double r46173 = r46165 / r46172;
        return r46173;
}

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

    \[\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 difference-of-squares9.6

    \[\leadsto \left(\frac{\pi}{2} \cdot \frac{1}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  4. Applied associate-/r*9.1

    \[\leadsto \left(\frac{\pi}{2} \cdot \color{blue}{\frac{\frac{1}{b + a}}{b - a}}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  5. Using strategy rm
  6. Applied frac-times9.1

    \[\leadsto \color{blue}{\frac{\pi \cdot \frac{1}{b + a}}{2 \cdot \left(b - a\right)}} \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  7. Applied associate-*l/0.3

    \[\leadsto \color{blue}{\frac{\left(\pi \cdot \frac{1}{b + a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{2 \cdot \left(b - a\right)}}\]
  8. Using strategy rm
  9. Applied associate-/l*0.3

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

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

Reproduce

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