Details

Time bar (total: 12.8s)

sample252.0ms

Algorithm
intervals
Results
178.0ms153×body1280valid
43.0ms68×body640valid
9.0ms23×body320valid
2.0msbody160valid
1.0msbody80valid

simplify8.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02712
13912
24412
34512
44512

prune4.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 16.6b

localize24.0ms

Local error

Found 4 expressions with local error:

0.2b
(* (sin phi1) (sin phi2))
0.2b
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R)
0.7b
(acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2)))))
3.8b
(cos (- lambda1 lambda2))

rewrite39.0ms

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt
14×add-cube-cbrt *-un-lft-identity
11×cos-sum
prod-diff
pow1 add-exp-log add-cbrt-cube
associate-*r* associate-*l*
expm1-log1p-u log1p-expm1-u add-log-exp
pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
acos-asin cos-diff sub-neg sin-mult
Counts
4 → 72
Calls
4 calls:
12.0ms
(* (sin phi1) (sin phi2))
7.0ms
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R)
2.0ms
(acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2)))))
17.0ms
(cos (- lambda1 lambda2))

series107.0ms

Counts
4 → 12
Calls
4 calls:
39.0ms
(* (sin phi1) (sin phi2))
44.0ms
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R)
9.0ms
(acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2)))))
15.0ms
(cos (- lambda1 lambda2))

simplify62.0ms

Algorithm
egg-herbie
Counts
84 → 84
Iterations

Useful iterations: 3 (54.0ms)

IterNodesCost
0323995
1789819
22620818
35002793

prune345.0ms

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 4.4b

localize31.0ms

Local error

Found 4 expressions with local error:

0.2b
(* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
0.2b
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) R)
0.3b
(* (sin lambda1) (sin lambda2))
0.8b
(acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

rewrite79.0ms

Algorithm
rewrite-expression-head
Rules
13×pow1 add-exp-log add-sqr-sqrt add-cbrt-cube
add-cube-cbrt *-un-lft-identity associate-*r*
associate-*l*
cos-mult
pow-prod-down prod-exp cbrt-unprod
expm1-log1p-u log1p-expm1-u add-log-exp
frac-times associate-*r/ *-commutative sin-mult
flip3-+ frac-add flip-+ unswap-sqr
distribute-rgt-in acos-asin distribute-lft-in associate-*l/
Counts
4 → 80
Calls
4 calls:
54.0ms
(* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
7.0ms
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) R)
14.0ms
(* (sin lambda1) (sin lambda2))
2.0ms
(acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

series293.0ms

Counts
4 → 12
Calls
4 calls:
171.0ms
(* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
67.0ms
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) R)
39.0ms
(* (sin lambda1) (sin lambda2))
16.0ms
(acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

simplify68.0ms

Algorithm
egg-herbie
Counts
92 → 92
Iterations

Useful iterations: 2 (57.0ms)

IterNodesCost
04941387
122481185
250021184

prune499.0ms

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 4.3b

localize42.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (sin lambda1) (sin lambda2))
0.3b
(/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
0.3b
(* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
0.8b
(acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

rewrite270.0ms

Algorithm
rewrite-expression-head
Rules
22×add-exp-log add-cbrt-cube
16×associate-*r/
14×add-sqr-sqrt
10×add-cube-cbrt *-un-lft-identity
pow1 prod-exp cbrt-unprod
sin-mult
associate-*r* associate-*l* cos-mult
cbrt-undiv expm1-log1p-u div-exp associate-/r/ log1p-expm1-u associate-/l/ add-log-exp
distribute-rgt-in flip3-- distribute-lft-in times-frac associate-/r* frac-sub flip-- sub-div
sub-neg prod-diff pow-prod-down *-commutative unswap-sqr
acos-asin frac-2neg clear-num div-inv associate-/l*
Counts
4 → 96
Calls
4 calls:
12.0ms
(* (sin lambda1) (sin lambda2))
200.0ms
(/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
54.0ms
(* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
2.0ms
(acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

series394.0ms

Counts
4 → 12
Calls
4 calls:
47.0ms
(* (sin lambda1) (sin lambda2))
181.0ms
(/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
152.0ms
(* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
13.0ms
(acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

simplify88.0ms

Algorithm
egg-herbie
Counts
108 → 108
Iterations

Useful iterations: 2 (72.0ms)

IterNodesCost
05572413
129792015
250022014

prune649.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 4.3b

localize42.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
0.4b
(exp (acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))))
0.4b
(log (exp (acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))))
0.8b
(acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

rewrite69.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt
add-cube-cbrt *-un-lft-identity
pow1
add-exp-log exp-prod add-cbrt-cube
add-log-exp
expm1-log1p-u associate-*r/ log-pow log1p-expm1-u
distribute-rgt-in acos-asin log-prod distribute-lft-in associate-*r* associate-*l*
sub-neg exp-diff prod-diff cos-mult sin-mult
log-div flip3-- rem-log-exp pow-prod-down prod-exp *-commutative frac-sub flip-- cbrt-unprod rem-exp-log sub-div unswap-sqr
Counts
4 → 72
Calls
4 calls:
53.0ms
(* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
3.0ms
(exp (acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))))
5.0ms
(log (exp (acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))))
5.0ms
(acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

series214.0ms

Counts
4 → 12
Calls
4 calls:
153.0ms
(* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))
34.0ms
(exp (acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))))
14.0ms
(log (exp (acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))))
13.0ms
(acos (+ (* (sin phi1) (sin phi2)) (/ (* (cos phi1) (* (cos phi2) (* (fma (cos lambda1) (cos lambda2) (* (sin lambda1) (sin lambda2))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))

simplify50.0ms

Algorithm
egg-herbie
Counts
84 → 84
Iterations

Useful iterations: 1 (8.0ms)

IterNodesCost
02942447
111772162
250012162

prune486.0ms

Pruning

15 alts after pruning (15 fresh and 0 done)

Merged error: 4.3b

regimes599.0ms

Accuracy

0% (0.4b remaining)

Error of 4.0b against oracle of 3.6b and baseline of 4.0b

bsearch0.0ms

simplify1.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03419
13419

end0.0ms

sample8.1s

Algorithm
intervals
Results
5.8s4749×body1280valid
1.4s2109×body640valid
308.0ms695×body320valid
93.0ms313×body160valid
20.0msbody2560valid
19.0ms129×body80valid