Timeout in 10.0m

Use the --timeout flag to change the timeout.

Details

Time bar (total: 33.8s)Debug log

sample29.8s

Algorithm
intervals

simplify33.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

33.0ms
(+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))))

prune30.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0b

localize114.0ms

Local error

Found 4 expressions with local error:

0.5b
(fma (sin (asin (fma (cos theta) (* (cos phi1) (sin delta)) (* (cos delta) (sin phi1))))) (- (sin phi1)) (cos delta))
0.4b
(asin (fma (cos theta) (* (cos phi1) (sin delta)) (* (cos delta) (sin phi1))))
0.3b
(* (sin delta) (* (cos phi1) (sin theta)))
0.3b
(* (cos delta) (sin phi1))

rewrite28.0ms

Algorithm
rewrite-expression-head
Counts
4 → 59
Calls

4 calls. Slowest were:

18.0ms
(* (sin delta) (* (cos phi1) (sin theta)))
8.0ms
(* (cos delta) (sin phi1))
1.0ms
(asin (fma (cos theta) (* (cos phi1) (sin delta)) (* (cos delta) (sin phi1))))

series425.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

276.0ms
(fma (sin (asin (fma (cos theta) (* (cos phi1) (sin delta)) (* (cos delta) (sin phi1))))) (- (sin phi1)) (cos delta))
77.0ms
(* (sin delta) (* (cos phi1) (sin theta)))
61.0ms
(* (cos delta) (sin phi1))
11.0ms
(asin (fma (cos theta) (* (cos phi1) (sin delta)) (* (cos delta) (sin phi1))))

simplify1.7s

Counts
29 → 71
Calls

29 calls. Slowest were:

325.0ms
(- (cos delta) (+ (* (pow (sin phi1) 2) (cos delta)) (* (cos phi1) (* (sin delta) (* (cos theta) (sin phi1))))))
270.0ms
(- (cos delta) (+ (* (cos phi1) (* (sin delta) (* (cos theta) (sin phi1)))) (* (pow (sin phi1) 2) (cos delta))))
267.0ms
(* (* (* (sin delta) (sin delta)) (sin delta)) (* (* (* (cos phi1) (sin theta)) (* (cos phi1) (sin theta))) (* (cos phi1) (sin theta))))

prune1.7s

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 0b

end0.0ms

Reproduce

herbie shell --seed 2019002 +o rules:numerics
(FPCore (lambda1 phi1 phi2 delta theta)
  :name "Destination given bearing on a great circle"
  (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))))