Details

Time bar (total: 11.4s)

analyze3.0s (26.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
15.6%84.3%0.1%8
15.6%84.3%0.1%9
15.6%84.3%0.1%10
30.4%69.4%0.1%11
30.4%69.4%0.1%12
30.4%69.4%0.1%13
39.6%60.3%0.1%14
Compiler

Compiled 28 to 23 computations (17.9% saved)

sample4.5s (39.3%)

Results
2.4s2116×body1024valid
1.0s4650×body128valid
714.0ms1007×body512valid
242.0ms481×body256valid
4.0msbody2048valid
1.0msbody1024invalid
Compiler

Compiled 83 to 68 computations (18.1% saved)

simplify83.0ms (0.7%)

Algorithm
egg-herbie
Rules
1043×associate-*l/_binary64
692×associate-/l/_binary64
651×associate-/r/_binary64
474×associate-/l*_binary64
398×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01837
13732
28332
320832
474232
5227332
6247432
7287532
8301532
9312632
10323432
11483532
12495332
13488032

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
6.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
6.9b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
Compiler

Compiled 96 to 76 computations (20.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
0.1b
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
6.4b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))

series169.0ms (1.5%)

Counts
4 → 120
Calls

4 calls:

106.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
41.0ms
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
12.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
10.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))

rewrite104.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
258×prod-diff_binary64
250×expm1-udef_binary64
250×log1p-udef_binary64
219×log-pow_binary64
161×add-sqr-sqrt_binary64
Counts
4 → 104
Calls

4 calls:

102.0ms
(/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))
102.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2))
102.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
102.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01671
133271
2356471
3497071
4513471

simplify125.0ms (1.1%)

Algorithm
egg-herbie
Rules
826×fma-def_binary64
616×fma-neg_binary64
345×cancel-sign-sub-inv_binary64
218×neg-mul-1_binary64
192×associate-/r/_binary64
Counts
224 → 144
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01963231
15593137
221043011
346173003
450653003

prune135.0ms (1.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1395144
Fresh000
Picked101
Done000
Total1405145
Error
0.0b
Counts
145 → 5
Alt Table
StatusErrorProgram
6.9b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
49.1b
(neg.f64 U)
47.0b
(fma.f64 2 (/.f64 (*.f64 (*.f64 J J) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2)) U) U)
43.0b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -2 J) 3) (pow.f64 (cos.f64 (/.f64 K 2)) 3))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
36.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
Compiler

Compiled 4707 to 3532 computations (25% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
0.2b
(/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
0.2b
(*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))
6.4b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))

series163.0ms (1.4%)

Counts
3 → 96
Calls

3 calls:

95.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
44.0ms
(*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))
23.0ms
(/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))

rewrite70.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
261×expm1-udef_binary64
261×log1p-udef_binary64
235×log-pow_binary64
150×add-sqr-sqrt_binary64
140×add-log-exp_binary64
Counts
3 → 75
Calls

3 calls:

68.0ms
(/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
68.0ms
(*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))
68.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01562
131359
2359559
3492259

simplify111.0ms (1%)

Algorithm
egg-herbie
Rules
749×fma-def_binary64
504×fma-neg_binary64
225×cancel-sign-sub-inv_binary64
196×associate-/r/_binary64
136×distribute-neg-in_binary64
Counts
171 → 128
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02062921
15872837
221882731
347262719
449872719
549672719

prune273.0ms (2.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1860186
Fresh044
Picked011
Done000
Total1865191
Error
0.0b
Counts
191 → 5
Alt Table
StatusErrorProgram
6.9b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
49.1b
(neg.f64 U)
47.0b
(fma.f64 2 (/.f64 (*.f64 (*.f64 J J) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2)) U) U)
43.0b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -2 J) 3) (pow.f64 (cos.f64 (/.f64 K 2)) 3))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
36.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
Compiler

Compiled 5779 to 4411 computations (23.7% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
6.4b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))

series336.0ms (3%)

Counts
3 → 92
Calls

3 calls:

192.0ms
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
99.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
44.0ms
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))

rewrite133.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
260×expm1-udef_binary64
260×log1p-udef_binary64
216×fma-neg_binary64
153×prod-diff_binary64
147×add-sqr-sqrt_binary64
Counts
3 → 103
Calls

3 calls:

129.0ms
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
129.0ms
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
129.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01679
131579
2368779
3491179
4499079
5501579

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
769×fma-neg_binary64
399×cancel-sign-sub-inv_binary64
236×associate-/r/_binary64
207×fma-def_binary64
180×sub-neg_binary64
Counts
195 → 152
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02584225
17123983
226453818
349363800
453593800

prune218.0ms (1.9%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2064210
Fresh033
Picked011
Done011
Total2069215
Error
0.0b
Counts
215 → 9
Alt Table
StatusErrorProgram
8.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -2 J)) 2) (*.f64 (cbrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
47.0b
(fma.f64 2 (/.f64 (*.f64 (*.f64 J J) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2)) U) U)
6.9b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (*.f64 U (/.f64 1 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
49.1b
(neg.f64 U)
34.3b
(*.f64 (sqrt.f64 (*.f64 -2 J)) (*.f64 (sqrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
36.4b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))) (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))))
6.9b
(*.f64 -2 (*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
43.0b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -2 J) 3) (pow.f64 (cos.f64 (/.f64 K 2)) 3))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
36.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
Compiler

Compiled 8345 to 6444 computations (22.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))
0.1b
(*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
6.4b
(*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))

series187.0ms (1.6%)

Counts
2 → 72
Calls

2 calls:

106.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
81.0ms
(*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))

rewrite121.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
264×expm1-udef_binary64
264×log1p-udef_binary64
209×fma-neg_binary64
149×add-sqr-sqrt_binary64
146×prod-diff_binary64
Counts
2 → 32
Calls

2 calls:

120.0ms
(*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))
120.0ms
(*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01555
130955
2370155
3491455
4497655
5500855

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
473×fma-neg_binary64
455×cancel-sign-sub-inv_binary64
291×associate-/r/_binary64
196×fma-def_binary64
186×associate-/l/_binary64
Counts
104 → 108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02613804
17193626
226623502
348753500
450983500

prune228.0ms (2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1855190
Fresh246
Picked011
Done112
Total18811199
Error
0.0b
Counts
199 → 11
Alt Table
StatusErrorProgram
35.0b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))) 2))
36.4b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))) (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))))))))
45.9b
(*.f64 -2 (*.f64 -1/2 U))
43.0b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 -2 J) 3) (pow.f64 (cos.f64 (/.f64 K 2)) 3))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J 2)))))
22.0b
(*.f64 -2 (*.f64 J (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2)))))) 2)))
36.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))) 2)
34.3b
(*.f64 (sqrt.f64 (*.f64 -2 J)) (*.f64 (sqrt.f64 (*.f64 -2 J)) (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
6.9b
(*.f64 -2 (*.f64 J (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))))))))
49.1b
(neg.f64 U)
30.7b
(*.f64 -2 (*.f64 J (log.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 K 2))) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))))
14.7b
(*.f64 -2 (*.f64 J (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (/.f64 K 2)) (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (/.f64 K 2)) (*.f64 J -2))))))) 1)))
Compiler

Compiled 6819 to 5064 computations (25.7% saved)

regimes799.0ms (7%)

Accuracy

Total 7.7b remaining (99.7%)

Threshold costs 0b (0%)

Counts
94 → 3
Compiler

Compiled 13106 to 10500 computations (19.9% saved)

bsearch126.0ms (1.1%)

Steps
ItersRangePoint
7
1.0029552706528795e-283
3.069427100876236e-282
1.4467648180329642e-283
6
-2.677315737686938e-278
-1.6957822648595783e-279
-4.439161793463117e-279
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
035103
149103
255103
365103
475103
582103
686103
787103
886103

end233.0ms (2%)

Compiler

Compiled 445 to 353 computations (20.7% saved)

Profiling

Loading profile data...