R \cdot \left(2 \cdot \tan^{-1}_* \frac{\sqrt{{\left(\sin \left(\frac{\phi_1 - \phi_2}{2}\right)\right)}^{2} + \left(\left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \sin \left(\frac{\lambda_1 - \lambda_2}{2}\right)\right) \cdot \sin \left(\frac{\lambda_1 - \lambda_2}{2}\right)}}{\sqrt{1 - \left({\left(\sin \left(\frac{\phi_1 - \phi_2}{2}\right)\right)}^{2} + \left(\left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \sin \left(\frac{\lambda_1 - \lambda_2}{2}\right)\right) \cdot \sin \left(\frac{\lambda_1 - \lambda_2}{2}\right)\right)}}\right)double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r9876 = R;
double r9877 = 2.0;
double r9878 = phi1;
double r9879 = phi2;
double r9880 = r9878 - r9879;
double r9881 = r9880 / r9877;
double r9882 = sin(r9881);
double r9883 = pow(r9882, r9877);
double r9884 = cos(r9878);
double r9885 = cos(r9879);
double r9886 = r9884 * r9885;
double r9887 = lambda1;
double r9888 = lambda2;
double r9889 = r9887 - r9888;
double r9890 = r9889 / r9877;
double r9891 = sin(r9890);
double r9892 = r9886 * r9891;
double r9893 = r9892 * r9891;
double r9894 = r9883 + r9893;
double r9895 = sqrt(r9894);
double r9896 = 1.0;
double r9897 = r9896 - r9894;
double r9898 = sqrt(r9897);
double r9899 = atan2(r9895, r9898);
double r9900 = r9877 * r9899;
double r9901 = r9876 * r9900;
return r9901;
}
Please include this information when filing a bug report:
herbie shell --seed 2019310 +o rules:numerics
(FPCore (R lambda1 lambda2 phi1 phi2)
:name "Distance on a great circle"
:precision binary64
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
| match: no matching clause for 'binary64 | L | C | |
|---|---|---|---|
| match:error | /opt/racket-7.2/collects/racket/match/runtime.rkt | 24 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt | 246 | 3 |
| make-multiplication-subnode | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt | 244 | 0 |
| make-multiplication-node | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt | 234 | 0 |
| map | /opt/racket-7.2/collects/racket/private/map.rkt | 35 | 13 |
| f45 | /opt/racket-7.2/collects/racket/match/compiler.rkt | 507 | 40 |
| simplify | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt | 16 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt | 360 | 33 |
| loop | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 73 | 4 |
| loop | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 73 | 4 |
| location-do | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 64 | 0 |
| location-do | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 64 | 0 |
| location-do | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 64 | 0 |
| location-do | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 64 | 0 |
| location-do | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 64 | 0 |
| location-do | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt | 64 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt | 360 | 33 |
| for-loop | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 151 | 6 |
| taylor-alt | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 145 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 166 | 7 |
| gen-series! | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 159 | 0 |
| run-iter! | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 326 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 364 | 4 |
| run-improve47 | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 345 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/private/more-scheme.rkt | 261 | 28 |
| run | /opt/racket-7.2/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.2/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/private/more-scheme.rkt | 261 | 28 |