Average Error: 0.5 → 0.5
Time: 44.0s
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\cos th \cdot \left(a2 \cdot \frac{a2}{\sqrt{2}}\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{\sqrt{2}}}{\frac{a1}{\sqrt{\sqrt{2}}}}}\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\cos th \cdot \left(a2 \cdot \frac{a2}{\sqrt{2}}\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{\sqrt{2}}}{\frac{a1}{\sqrt{\sqrt{2}}}}}
double f(double a1, double a2, double th) {
        double r1394364 = th;
        double r1394365 = cos(r1394364);
        double r1394366 = 2.0;
        double r1394367 = sqrt(r1394366);
        double r1394368 = r1394365 / r1394367;
        double r1394369 = a1;
        double r1394370 = r1394369 * r1394369;
        double r1394371 = r1394368 * r1394370;
        double r1394372 = a2;
        double r1394373 = r1394372 * r1394372;
        double r1394374 = r1394368 * r1394373;
        double r1394375 = r1394371 + r1394374;
        return r1394375;
}

double f(double a1, double a2, double th) {
        double r1394376 = th;
        double r1394377 = cos(r1394376);
        double r1394378 = a2;
        double r1394379 = 2.0;
        double r1394380 = sqrt(r1394379);
        double r1394381 = r1394378 / r1394380;
        double r1394382 = r1394378 * r1394381;
        double r1394383 = r1394377 * r1394382;
        double r1394384 = a1;
        double r1394385 = r1394384 * r1394377;
        double r1394386 = sqrt(r1394380);
        double r1394387 = r1394384 / r1394386;
        double r1394388 = r1394386 / r1394387;
        double r1394389 = r1394385 / r1394388;
        double r1394390 = r1394383 + r1394389;
        return r1394390;
}

Error

Bits error versus a1

Bits error versus a2

Bits error versus th

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

    \[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  2. Using strategy rm
  3. Applied div-inv0.5

    \[\leadsto \frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \color{blue}{\left(\cos th \cdot \frac{1}{\sqrt{2}}\right)} \cdot \left(a2 \cdot a2\right)\]
  4. Applied associate-*l*0.5

    \[\leadsto \frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \color{blue}{\cos th \cdot \left(\frac{1}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\right)}\]
  5. Simplified0.5

    \[\leadsto \frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \cos th \cdot \color{blue}{\left(\frac{a2}{\sqrt{2}} \cdot a2\right)}\]
  6. Taylor expanded around inf 0.5

    \[\leadsto \color{blue}{\frac{{a1}^{2} \cdot \cos th}{\sqrt{2}}} + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  7. Simplified0.5

    \[\leadsto \color{blue}{\frac{\cos th \cdot a1}{\frac{\sqrt{2}}{a1}}} + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\cos th \cdot a1}{\frac{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}}{a1}} + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  10. Applied associate-/l*0.5

    \[\leadsto \frac{\cos th \cdot a1}{\color{blue}{\frac{\sqrt{\sqrt{2}}}{\frac{a1}{\sqrt{\sqrt{2}}}}}} + \cos th \cdot \left(\frac{a2}{\sqrt{2}} \cdot a2\right)\]
  11. Final simplification0.5

    \[\leadsto \cos th \cdot \left(a2 \cdot \frac{a2}{\sqrt{2}}\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{\sqrt{2}}}{\frac{a1}{\sqrt{\sqrt{2}}}}}\]

Reproduce

herbie shell --seed 2019142 
(FPCore (a1 a2 th)
  :name "Migdal et al, Equation (64)"
  (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))