\[R \cdot \sqrt{\left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) + \left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right)}\]
R \cdot \sqrt{\left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) \cdot \left(\left(\lambda_1 - \lambda_2\right) \cdot \cos \left(\frac{\phi_1 + \phi_2}{2}\right)\right) + \left(\phi_1 - \phi_2\right) \cdot \left(\phi_1 - \phi_2\right)}
double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
        double r9381 = R;
        double r9382 = lambda1;
        double r9383 = lambda2;
        double r9384 = r9382 - r9383;
        double r9385 = phi1;
        double r9386 = phi2;
        double r9387 = r9385 + r9386;
        double r9388 = 2.0;
        double r9389 = r9387 / r9388;
        double r9390 = cos(r9389);
        double r9391 = r9384 * r9390;
        double r9392 = r9391 * r9391;
        double r9393 = r9385 - r9386;
        double r9394 = r9393 * r9393;
        double r9395 = r9392 + r9394;
        double r9396 = sqrt(r9395);
        double r9397 = r9381 * r9396;
        return r9397;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019315 +o rules:numerics
(FPCore (R lambda1 lambda2 phi1 phi2)
  :name "Equirectangular approximation to distance on a great circle"
  :precision binary64
  (* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))))

Backtrace

match: no matching clause for 'binary64LC
match:error/opt/racket-7.2/collects/racket/match/runtime.rkt240
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2463
make-multiplication-subnode/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2440
make-multiplication-node/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2340
map/opt/racket-7.2/collects/racket/private/map.rkt3513
f45/opt/racket-7.2/collects/racket/match/compiler.rkt50740
map/opt/racket-7.2/collects/racket/private/map.rkt3513
f45/opt/racket-7.2/collects/racket/match/compiler.rkt50740
simplify/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt160
(unnamed)/opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt36033
location-do/data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt640
location-do/data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt640
location-do/data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt640
location-do/data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt640
(unnamed)/opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt36033
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1516
taylor-alt/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1450
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1667
gen-series!/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1590
run-iter!/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3260
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3644
run-improve47/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3450
(unnamed)/opt/racket-7.2/collects/racket/private/more-scheme.rkt26128
run/opt/racket-7.2/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.2/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.2/collects/racket/private/more-scheme.rkt26128