Details

Time bar (total: 10.2s)

analyze3.1s (30.3%)

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.2s (41.4%)

Results
2.2s2053×body1024valid
1.0s4602×body128valid
733.0ms1086×body512valid
224.0ms511×body256valid
8.0msbody2048valid
1.0msbody1024invalid
0.0msbody128invalid
Compiler

Compiled 83 to 68 computations (18.1% saved)

simplify40.0ms (0.4%)

Algorithm
egg-herbie
Rules
667×associate-/l/_binary64
443×associate-/l*_binary64
398×times-frac_binary64
330×unswap-sqr_binary64
265×associate-*l/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01837
13732
28932
325332
496832
5368632
6389732
7452132
8472032
9486532
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 96 to 76 computations (20.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series184.0ms (1.8%)

Counts
4 → 132
Calls

4 calls:

81.0ms
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
52.0ms
(hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))))
43.0ms
(/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))
8.0ms
(*.f64 J (cos.f64 (/.f64 K 2)))

rewrite59.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
237×expm1-udef_binary64
237×log1p-udef_binary64
210×log-pow_binary64
137×prod-diff_binary64
134×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01371
127171
2345571
Stop Event
node limit
Counts
4 → 92
Calls

4 calls:

57.0ms
(hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))))
57.0ms
(*.f64 J (cos.f64 (/.f64 K 2)))
57.0ms
(/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))
57.0ms
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))

simplify73.0ms (0.7%)

Algorithm
egg-herbie
Rules
494×cancel-sign-sub-inv_binary64
288×associate-/r/_binary64
230×fma-neg_binary64
185×fma-def_binary64
164×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02464466
17644225
228244149
Stop Event
node limit
Counts
224 → 180

prune176.0ms (1.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1985203
Fresh000
Picked101
Done000
Total1995204
Error
0.0b
Counts
204 → 5
Alt Table
StatusErrorProgram
49.3b
(*.f64 -2 (*.f64 -1/2 U))
46.1b
(*.f64 -2 (*.f64 1/2 U))
20.4b
(*.f64 -2 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2)))))
45.7b
(*.f64 -2 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))) 3)))
39.7b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
Compiler

Compiled 7012 to 5263 computations (24.9% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
0.1b
(pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)
5.0b
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2))))
14.2b
(cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3))

series282.0ms (2.8%)

Counts
4 → 144
Calls

4 calls:

106.0ms
(pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)
81.0ms
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2))))
53.0ms
(cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3))
41.0ms
(/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
296×log1p-udef_binary64
190×prod-diff_binary64
171×add-sqr-sqrt_binary64
163×log1p-expm1-u_binary64
163×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02083
141683
2442183
Stop Event
node limit
Counts
4 → 103
Calls

4 calls:

67.0ms
(/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))
67.0ms
(pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)
67.0ms
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2))))
67.0ms
(cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3))

simplify102.0ms (1%)

Algorithm
egg-herbie
Rules
603×cancel-sign-sub-inv_binary64
292×fma-def_binary64
292×fma-neg_binary64
182×associate-*r/_binary64
181×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03336291
111515848
241465759
Stop Event
node limit
Counts
247 → 226

prune230.0ms (2.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2260226
Fresh044
Picked011
Done000
Total2265231
Error
0.0b
Counts
231 → 5
Alt Table
StatusErrorProgram
49.3b
(*.f64 -2 (*.f64 -1/2 U))
46.1b
(*.f64 -2 (*.f64 1/2 U))
20.4b
(*.f64 -2 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2)))))
45.7b
(*.f64 -2 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))) 3)))
39.7b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
Compiler

Compiled 9331 to 6994 computations (25% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series285.0ms (2.8%)

Counts
3 → 92
Calls

3 calls:

132.0ms
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2)
86.0ms
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))
66.0ms
(*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
276×expm1-udef_binary64
276×log1p-udef_binary64
158×prod-diff_binary64
155×add-sqr-sqrt_binary64
147×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01779
134579
2403179
Stop Event
node limit
Counts
3 → 70
Calls

3 calls:

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

simplify81.0ms (0.8%)

Algorithm
egg-herbie
Rules
402×cancel-sign-sub-inv_binary64
210×associate-/r/_binary64
209×fma-neg_binary64
195×fma-def_binary64
162×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02375146
17474636
227734511
Stop Event
node limit
Counts
162 → 135

prune183.0ms (1.8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1833186
Fresh123
Picked011
Done011
Total1847191
Error
0.0b
Counts
191 → 7
Alt Table
StatusErrorProgram
20.4b
(*.f64 -2 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2)))))
31.5b
(*.f64 -2 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 U 2) (*.f64 J (cos.f64 (*.f64 1/2 K))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 U 2) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (*.f64 J (cos.f64 (*.f64 1/2 K))))))
39.7b
(*.f64 -2 (*.f64 (pow.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2)))) 1/4) (*.f64 (pow.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2)))) 1/4) (sqrt.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2))))))))
46.4b
(*.f64 -2 (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (sqrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))))) (sqrt.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2))))))))
49.3b
(*.f64 -2 (*.f64 -1/2 U))
46.1b
(*.f64 -2 (*.f64 1/2 U))
39.7b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
Compiler

Compiled 7573 to 5793 computations (23.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
0.1b
(*.f64 J (cos.f64 (*.f64 1/2 K)))
8.1b
(/.f64 (pow.f64 U 2) (*.f64 J (cos.f64 (*.f64 1/2 K))))
8.1b
(/.f64 (pow.f64 U 2) (*.f64 (cos.f64 (*.f64 1/2 K)) J))

series110.0ms (1.1%)

Counts
4 → 56
Calls

4 calls:

46.0ms
(/.f64 (pow.f64 U 2) (*.f64 J (cos.f64 (*.f64 1/2 K))))
46.0ms
(/.f64 (pow.f64 U 2) (*.f64 (cos.f64 (*.f64 1/2 K)) J))
10.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
8.0ms
(*.f64 J (cos.f64 (*.f64 1/2 K)))

rewrite58.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
558×log-prod_binary64
199×expm1-udef_binary64
199×log1p-udef_binary64
181×prod-diff_binary64
176×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01348
127748
2294148
Stop Event
node limit
Counts
4 → 124
Calls

4 calls:

55.0ms
(*.f64 (cos.f64 (*.f64 1/2 K)) J)
55.0ms
(*.f64 J (cos.f64 (*.f64 1/2 K)))
55.0ms
(/.f64 (pow.f64 U 2) (*.f64 J (cos.f64 (*.f64 1/2 K))))
55.0ms
(/.f64 (pow.f64 U 2) (*.f64 (cos.f64 (*.f64 1/2 K)) J))

simplify31.0ms (0.3%)

Algorithm
egg-herbie
Rules
556×fma-def_binary64
396×associate-/l*_binary64
294×*-commutative_binary64
275×cancel-sign-sub-inv_binary64
269×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049872
1126866
2380850
31476820
Stop Event
node limit
Counts
180 → 82

prune118.0ms (1.2%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1090109
Fresh044
Picked011
Done022
Total1097116
Error
0.0b
Counts
116 → 7
Alt Table
StatusErrorProgram
20.4b
(*.f64 -2 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))) 3)) (*.f64 J (cos.f64 (/.f64 K 2)))))
31.5b
(*.f64 -2 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 U 2) (*.f64 J (cos.f64 (*.f64 1/2 K))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 U 2) (*.f64 (cos.f64 (*.f64 1/2 K)) J))) (*.f64 J (cos.f64 (*.f64 1/2 K))))))
39.7b
(*.f64 -2 (*.f64 (pow.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2)))) 1/4) (*.f64 (pow.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2)))) 1/4) (sqrt.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2))))))))
46.4b
(*.f64 -2 (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (sqrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))))) (sqrt.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (cos.f64 (*.f64 K 1/2))) (*.f64 J 2))) (cos.f64 (*.f64 K 1/2))))))))
49.3b
(*.f64 -2 (*.f64 -1/2 U))
46.1b
(*.f64 -2 (*.f64 1/2 U))
39.7b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
Compiler

Compiled 4542 to 3365 computations (25.9% saved)

regimes490.0ms (4.8%)

Accuracy

Total 8.4b remaining (99.4%)

Threshold costs 0b (0%)

Counts
62 → 1
Compiler

Compiled 9662 to 7680 computations (20.5% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
12132
Stop Event
saturated

end190.0ms (1.9%)

Compiler

Compiled 271 to 216 computations (20.3% saved)

Profiling

Loading profile data...