\cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \cdot Rdouble f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r18896 = phi1;
double r18897 = sin(r18896);
double r18898 = phi2;
double r18899 = sin(r18898);
double r18900 = r18897 * r18899;
double r18901 = cos(r18896);
double r18902 = cos(r18898);
double r18903 = r18901 * r18902;
double r18904 = lambda1;
double r18905 = lambda2;
double r18906 = r18904 - r18905;
double r18907 = cos(r18906);
double r18908 = r18903 * r18907;
double r18909 = r18900 + r18908;
double r18910 = acos(r18909);
double r18911 = R;
double r18912 = r18910 * r18911;
return r18912;
}
Please include this information when filing a bug report:
herbie shell --seed 2019323 +o rules:numerics
(FPCore (R lambda1 lambda2 phi1 phi2)
:name "Spherical law of cosines"
:precision binary64
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R))
| get-representation: Unknown representation real | L | C | |
|---|---|---|---|
| (unnamed) | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/regimes.rkt | 65 | 3 |
| filter | /opt/racket-7.2/collects/racket/private/list.rkt | 256 | 2 |
| infer-splitpoints | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/regimes.rkt | 34 | 0 |
| get-final-combination | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 369 | 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 |