Details

Time bar (total: 20.3s)

analyze3.9s (19.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
7.8%92%0.2%9
7.8%92%0.2%10
10.1%89.7%0.2%11
10.1%89.7%0.2%12
13.9%85.9%0.2%13
13.9%85.9%0.2%14
Compiler

Compiled 29 to 18 computations (37.9% saved)

sample305.0ms (1.5%)

Algorithm
intervals
Results
218.0ms158×body1024valid
33.0ms49×body512valid
24.0msbody2048valid
7.0ms16×body256valid
5.0ms25×body128valid
Compiler

Compiled 61 to 39 computations (36.1% saved)

simplify26.0ms (0.1%)

Algorithm
egg-herbie
Rules
83×cancel-sign-sub-inv_binary64
59×distribute-rgt-neg-in_binary64
56×sub-neg_binary64
47×distribute-rgt-in_binary64
42×unsub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01839
13139
25939
310539
412939
519639
624839
730939
842039
943039
1043639
1138539

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
12.4b
Counts
2 → 1
Alt Table
StatusErrorProgram
12.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 84 to 51 computations (39.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
3.3b
(cos.f64 (-.f64 lambda1 lambda2))
3.5b
(sin.f64 (-.f64 lambda1 lambda2))

rewrite119.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
6.1b
Rules
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
11×pow1_binary64
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
Counts
4 → 64
Calls

4 calls:

6.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
4.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
3.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 1942 to 357 computations (81.6% saved)

series170.0ms (0.8%)

Error
9.6b
Counts
4 → 52
Calls

4 calls:

67.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
22.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
18.0ms
(sin.f64 (-.f64 lambda1 lambda2))
17.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 3806 to 1906 computations (49.9% saved)

simplify123.0ms (0.6%)

Algorithm
egg-herbie
Rules
492×distribute-rgt-neg-in_binary64
462×cancel-sign-sub-inv_binary64
426×distribute-lft-neg-in_binary64
403×neg-mul-1_binary64
376×neg-sub0_binary64
Counts
116 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02252096
15621889
217101774
329751726
446521726
549851726

prune101.0ms (0.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New621476
Fresh000
Picked101
Done000
Total631477
Error
6.1b
Counts
77 → 14
Alt Table
StatusErrorProgram
14.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
12.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3)) (cos.f64 (-.f64 lambda1 lambda2)))))
12.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3)))))
17.6b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
12.6b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))
6.5b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
20.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
13.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))
12.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
20.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
32.6b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (+.f64 phi1 (*.f64 (pow.f64 phi1 3) -1/6))))))
22.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
29.0b
(atan2.f64 (*.f64 (+.f64 (*.f64 (sin.f64 lambda2) (+.f64 -1 (*.f64 1/2 (*.f64 lambda1 lambda1)))) (*.f64 (cos.f64 lambda2) (-.f64 lambda1 (*.f64 1/6 (pow.f64 lambda1 3))))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
25.7b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 2591 to 957 computations (63.1% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
3.3b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite121.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
14×add-sqr-sqrt_binary64
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
13×pow1_binary64
10×*-un-lft-identity_binary64
Counts
4 → 70
Calls

4 calls:

6.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
4.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
3.0ms
(cos.f64 (-.f64 lambda1 lambda2))
3.0ms
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
Compiler

Compiled 2478 to 390 computations (84.3% saved)

series178.0ms (0.9%)

Error
5.9b
Counts
4 → 47
Calls

4 calls:

63.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
23.0ms
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
20.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
18.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 4193 to 2182 computations (48% saved)

simplify116.0ms (0.6%)

Algorithm
egg-herbie
Rules
471×distribute-rgt-neg-in_binary64
406×distribute-lft-neg-in_binary64
353×neg-mul-1_binary64
341×cancel-sign-sub-inv_binary64
315×associate-*r*_binary64
Counts
117 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02181987
15341765
216641671
327451642
448241642
549671642

prune106.0ms (0.5%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New72476
Fresh11213
Picked101
Done000
Total84690
Error
0.1b
Counts
90 → 6
Alt Table
StatusErrorProgram
14.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
12.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3)) (cos.f64 (-.f64 lambda1 lambda2)))))
6.5b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3)))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
6.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (cos.f64 (-.f64 lambda1 lambda2)))))
7.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))
Compiler

Compiled 2335 to 624 computations (73.3% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.3b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))

rewrite227.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
17×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
15×add-exp-log_binary64
15×pow1_binary64
12×associate-*r*_binary64
Counts
4 → 83
Calls

4 calls:

10.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
4.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
4.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
3.0ms
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
Compiler

Compiled 3590 to 490 computations (86.4% saved)

series256.0ms (1.3%)

Error
0.1b
Counts
4 → 55
Calls

4 calls:

113.0ms
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
31.0ms
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
27.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
25.0ms
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
Compiler

Compiled 5905 to 2737 computations (53.6% saved)

simplify114.0ms (0.6%)

Algorithm
egg-herbie
Rules
658×associate-*r*_binary64
620×associate-*l*_binary64
452×distribute-rgt-neg-in_binary64
404×distribute-lft-neg-in_binary64
312×*-commutative_binary64
Counts
138 → 93
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03413477
19823148
236823148
349583148

prune194.0ms (1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New87693
Fresh325
Picked101
Done000
Total91899
Error
0.1b
Counts
99 → 8
Alt Table
StatusErrorProgram
14.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
1.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (log.f64 (exp.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
9.9b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2))) (+.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) 3) (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))) (*.f64 2 (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda2) (-.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))))
1.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 1 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
0.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
7.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))
Compiler

Compiled 4106 to 1072 computations (73.9% saved)

localize38.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.3b
(*.f64 (*.f64 1 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))

rewrite233.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
24×add-exp-log_binary64
19×add-cbrt-cube_binary64
19×pow1_binary64
17×add-sqr-sqrt_binary64
14×prod-exp_binary64
Counts
4 → 83
Calls

4 calls:

13.0ms
(*.f64 (*.f64 1 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
4.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
4.0ms
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
3.0ms
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
Compiler

Compiled 3665 to 683 computations (81.4% saved)

series271.0ms (1.3%)

Error
0.1b
Counts
4 → 55
Calls

4 calls:

116.0ms
(*.f64 (*.f64 1 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
31.0ms
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
29.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
25.0ms
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
Compiler

Compiled 6087 to 2903 computations (52.3% saved)

simplify135.0ms (0.7%)

Algorithm
egg-herbie
Rules
667×associate-*r*_binary64
609×associate-*l*_binary64
426×distribute-rgt-neg-in_binary64
383×distribute-lft-neg-in_binary64
300×neg-mul-1_binary64
Counts
138 → 95
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03383421
19243038
234292941
347912941
450552941

prune160.0ms (0.8%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New92395
Fresh257
Picked101
Done000
Total958103
Error
0.1b
Counts
103 → 8
Alt Table
StatusErrorProgram
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 1 (*.f64 (*.f64 (cbrt.f64 (cos.f64 phi2)) (cbrt.f64 (cos.f64 phi2))) (*.f64 (sin.f64 phi1) (cbrt.f64 (cos.f64 phi2))))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
1.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (log.f64 (exp.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
14.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
1.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (exp.f64 (*.f64 (sin.f64 phi1) (*.f64 (+.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi2)))))))
1.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
0.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 1 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
7.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))
Compiler

Compiled 3832 to 984 computations (74.3% saved)

regimes2.9s (14.5%)

Accuracy

Total 0.1b remaining (42.8%)

Threshold costs 0.1b (42.8%)

Compiler

Compiled 74083 to 42927 computations (42.1% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
20×*-commutative_binary64
15×+-commutative_binary64
14×sub-neg_binary64
12×neg-sub0_binary64
12×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02563
14463
26263
38063
49663
511863
612863
713463
813663
913663

end1.0ms (0%)

Compiler

Compiled 42 to 24 computations (42.9% saved)

sample10.4s (51.2%)

Algorithm
intervals
Results
7.7s5313×body1024valid
1.0s1327×body512valid
591.0ms178×body2048valid
197.0ms419×body256valid
165.0ms763×body128valid
Compiler

Compiled 432 to 254 computations (41.2% saved)

Profiling

Loading profile data...