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 r14667 = R;
double r14668 = 2.0;
double r14669 = phi1;
double r14670 = phi2;
double r14671 = r14669 - r14670;
double r14672 = r14671 / r14668;
double r14673 = sin(r14672);
double r14674 = pow(r14673, r14668);
double r14675 = cos(r14669);
double r14676 = cos(r14670);
double r14677 = r14675 * r14676;
double r14678 = lambda1;
double r14679 = lambda2;
double r14680 = r14678 - r14679;
double r14681 = r14680 / r14668;
double r14682 = sin(r14681);
double r14683 = r14677 * r14682;
double r14684 = r14683 * r14682;
double r14685 = r14674 + r14684;
double r14686 = sqrt(r14685);
double r14687 = 1.0;
double r14688 = r14687 - r14685;
double r14689 = sqrt(r14688);
double r14690 = atan2(r14686, r14689);
double r14691 = r14668 * r14690;
double r14692 = r14667 * r14691;
return r14692;
}
Please include this information when filing a bug report:
herbie shell --seed 2020045 +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))))))))))
| hash-ref: no value found for key key: '(* #<enode 0(738)> #<enode 746(746)>) | L | C | |
|---|---|---|---|
| for-loop | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding/regraph/egraph.rkt | 270 | 6 |
| update-leader! | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding/regraph/egraph.rkt | 265 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding/regraph/main.rkt | 77 | 2 |
| prune-phase | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding/regraph/main.rkt | 74 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/core/simplify.rkt | 80 | 4 |
| for-loop | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/core/simplify.rkt | 76 | 2 |
| (unnamed) | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/core/simplify.rkt | 56 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/core/simplify.rkt | 38 | 0 |
| simplify! | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/mainloop.rkt | 224 | 0 |
| run-iter! | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/mainloop.rkt | 327 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/mainloop.rkt | 365 | 4 |
| run-improve47 | /data/pavpan/nightlies/herbie/simplify-regraph-rebuilding-2/src/mainloop.rkt | 346 | 0 |
| .../more-scheme.rkt:261:28 | unknown | ||
| run | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.5/collects/racket/private/more-scheme.rkt | 261 | 28 |