Details

Time bar (total: 13.0s)

analyze2.6s (19.9%)

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 (34.7%)

Results
2.4s2124×body1024valid
1.1s4610×body128valid
757.0ms1023×body512valid
235.0ms497×body256valid
5.0msbody2048valid
1.0msbody128invalid
1.0msbody512invalid
Compiler

Compiled 83 to 68 computations (18.1% saved)

simplify41.0ms (0.3%)

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
9.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
9.1b
(*.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 3 expressions with local error:

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

series158.0ms (1.2%)

Counts
3 → 96
Calls

3 calls:

101.0ms
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
49.0ms
(/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))
8.0ms
(*.f64 J (cos.f64 (/.f64 K 2)))

rewrite58.0ms (0.4%)

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
01353
127153
2345553
Stop Event
node limit
Counts
3 → 73
Calls

3 calls:

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

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
767×associate-/l*_binary64
678×fma-def_binary64
293×cancel-sign-sub-inv_binary64
164×associate-/r/_binary64
140×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01812762
15422621
219542561
Stop Event
node limit
Counts
169 → 126

prune158.0ms (1.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1436149
Fresh000
Picked011
Done000
Total1437150
Error
0.0b
Counts
150 → 7
Alt Table
StatusErrorProgram
9.1b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
39.4b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
46.7b
(*.f64 -2 (*.f64 -1/2 U))
43.4b
(*.f64 -2 (*.f64 1/2 U))
40.6b
(*.f64 -2 (exp.f64 (log.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)))))))))
38.5b
(*.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))
10.1b
(*.f64 -2 (pow.f64 (cbrt.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))
Compiler

Compiled 4871 to 3664 computations (24.8% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))
0.5b
(cbrt.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)))))))
0.7b
(pow.f64 (cbrt.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)
8.5b
(*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))

series2.4s (18.8%)

Counts
4 → 132
Calls

4 calls:

1.5s
(pow.f64 (cbrt.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)
842.0ms
(cbrt.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)))))))
78.0ms
(*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))
10.0ms
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))

rewrite76.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
291×log1p-udef_binary64
166×add-sqr-sqrt_binary64
158×log1p-expm1-u_binary64
158×expm1-log1p-u_binary64
158×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01893
136593
2425493
Stop Event
node limit
Counts
4 → 98
Calls

4 calls:

73.0ms
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))
73.0ms
(cbrt.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)))))))
73.0ms
(pow.f64 (cbrt.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)
73.0ms
(*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))

simplify105.0ms (0.8%)

Algorithm
egg-herbie
Rules
463×fma-def_binary64
341×times-frac_binary64
320×associate-/l*_binary64
269×associate-/r*_binary64
204×associate-*r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05598542
119257609
Stop Event
node limit
Counts
230 → 255

prune352.0ms (2.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2514255
Fresh145
Picked011
Done011
Total25210262
Error
0b
Counts
262 → 10
Alt Table
StatusErrorProgram
9.1b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
39.4b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
46.7b
(*.f64 -2 (*.f64 -1/2 U))
43.4b
(*.f64 -2 (*.f64 1/2 U))
9.5b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
24.6b
(*.f64 -2 (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
10.2b
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) 2) (*.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) (cos.f64 (*.f64 K 1/2)))))
34.9b
(*.f64 -2 (*.f64 (cbrt.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (pow.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))) (cos.f64 (*.f64 K 1/2)))) 2))))
38.5b
(*.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))
10.1b
(*.f64 -2 (pow.f64 (cbrt.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))
Compiler

Compiled 13272 to 10505 computations (20.8% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cos.f64 (*.f64 K 1/2)) 2)
0.3b
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
0.3b
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
8.5b
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))

series463.0ms (3.6%)

Counts
4 → 72
Calls

4 calls:

241.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
140.0ms
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
76.0ms
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))
5.0ms
(pow.f64 (cos.f64 (*.f64 K 1/2)) 2)

rewrite61.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
285×log1p-udef_binary64
176×prod-diff_binary64
164×add-sqr-sqrt_binary64
154×add-cbrt-cube_binary64
154×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01749
134549
2428249
Stop Event
node limit
Counts
4 → 86
Calls

4 calls:

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

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
723×associate-/l*_binary64
541×associate-/r*_binary64
493×fma-def_binary64
275×cancel-sign-sub-inv_binary64
141×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712060
14951962
217421891
Stop Event
node limit
Counts
158 → 144

prune217.0ms (1.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1431144
Fresh167
Picked101
Done022
Total1459154
Error
0b
Counts
154 → 9
Alt Table
StatusErrorProgram
9.4b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
9.1b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
39.4b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
46.7b
(*.f64 -2 (*.f64 -1/2 U))
43.4b
(*.f64 -2 (*.f64 1/2 U))
24.6b
(*.f64 -2 (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
10.2b
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) 2) (*.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) (cos.f64 (*.f64 K 1/2)))))
38.5b
(*.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))
10.1b
(*.f64 -2 (pow.f64 (cbrt.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))
Compiler

Compiled 6102 to 4853 computations (20.5% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cos.f64 (*.f64 K 1/2)) 2)
0.3b
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
0.3b
(cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))))
8.5b
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))

series211.0ms (1.6%)

Counts
1 → 12
Calls

1 calls:

211.0ms
(cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))))

rewrite35.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
666×expm1-log1p-u_binary64
665×log1p-expm1-u_binary64
198×prod-diff_binary64
141×expm1-udef_binary64
141×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01011
118111
2190811
Stop Event
node limit
Counts
1 → 21
Calls

1 calls:

35.0ms
(cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))))

simplify41.0ms (0.3%)

Algorithm
egg-herbie
Rules
403×distribute-rgt-neg-in_binary64
345×distribute-lft-neg-in_binary64
272×*-commutative_binary64
227×sub-neg_binary64
226×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027140
174140
2165138
3500136
42077136
54495136
Stop Event
node limit
Counts
33 → 30

prune194.0ms (1.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1391140
Fresh156
Picked011
Done022
Total1409149
Error
0b
Counts
149 → 9
Alt Table
StatusErrorProgram
9.4b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
9.1b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
39.4b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
46.7b
(*.f64 -2 (*.f64 -1/2 U))
43.4b
(*.f64 -2 (*.f64 1/2 U))
10.2b
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) 2) (*.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) (cos.f64 (*.f64 K 1/2)))))
9.4b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 4)))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
38.5b
(*.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))
10.1b
(*.f64 -2 (pow.f64 (cbrt.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))
Compiler

Compiled 5978 to 4795 computations (19.8% saved)

regimes455.0ms (3.5%)

Accuracy

Total 9.4b remaining (99.8%)

Threshold costs 0b (0%)

Counts
45 → 5
Compiler

Compiled 7262 to 5904 computations (18.7% saved)

bsearch383.0ms (2.9%)

Steps
ItersRangePoint
8
5.3063522557410294e-127
3.0238343023943154e-124
5.3724426798428875e-127
10
4.004640414078069e-216
9.619379309201174e-203
1.3800459910238586e-203
8
2.674338742516462e-249
3.963379959133779e-246
1.815890624493559e-248
11
-1.977911004207466e-257
-3.15247444996303e-287
-6.59631123688703e-263
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034134
144134
Stop Event
saturated

end259.0ms (2%)

Compiler

Compiled 419 to 334 computations (20.3% saved)

Profiling

Loading profile data...