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 r8890 = R;
double r8891 = 2.0;
double r8892 = phi1;
double r8893 = phi2;
double r8894 = r8892 - r8893;
double r8895 = r8894 / r8891;
double r8896 = sin(r8895);
double r8897 = pow(r8896, r8891);
double r8898 = cos(r8892);
double r8899 = cos(r8893);
double r8900 = r8898 * r8899;
double r8901 = lambda1;
double r8902 = lambda2;
double r8903 = r8901 - r8902;
double r8904 = r8903 / r8891;
double r8905 = sin(r8904);
double r8906 = r8900 * r8905;
double r8907 = r8906 * r8905;
double r8908 = r8897 + r8907;
double r8909 = sqrt(r8908);
double r8910 = 1.0;
double r8911 = r8910 - r8908;
double r8912 = sqrt(r8911);
double r8913 = atan2(r8909, r8912);
double r8914 = r8891 * r8913;
double r8915 = r8890 * r8914;
return r8915;
}
Please include this information when filing a bug report:
herbie shell --seed 2019315 +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 |