Details

Time bar (total: 4.6s)

analyze97.0ms (2.1%)

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
25%74.9%0.1%5
25%50%25.1%6
25%31.2%43.8%7
25%21.9%53.2%8
25%14%61%9
28.1%10.9%61%10
31.6%7.4%61%11
33.4%5.7%61%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample1.0s (21.9%)

Alt Table
StatusErrorProgram
0.3b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
Results
919.0ms8256×body128valid
1.0msbody128invalid
Compiler

Compiled 97 to 62 computations (36.1% saved)

localize18.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
0.0b
(*.f64 4 (*.f64 b b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.4b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series46.0ms (1%)

Counts
4 → 84
Calls

4 calls:

23.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
14.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
6.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
2.0ms
(*.f64 4 (*.f64 b b))

rewrite83.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
514×log-prod_binary64
459×fma-def_binary64
214×fma-neg_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
Counts
4 → 167
Calls

4 calls:

79.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
79.0ms
(*.f64 4 (*.f64 b b))
79.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
79.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
124240
2278140
3532540
000
100

prune235.0ms (5.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New2492251
Fresh000
Picked101
Done000
Total2502252
Error
0b
Counts
252 → 2
Alt Table
StatusErrorProgram
36.4b
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (-.f64 (*.f64 a a) (*.f64 b b)))) (*.f64 4 (*.f64 b b))) 1)
0.0b
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 5462 to 3450 computations (36.8% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
0.0b
(*.f64 4 (*.f64 b b))
0.0b
(*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
4.5b
(*.f64 (pow.f64 a 2) (pow.f64 b 2))

series50.0ms (1.1%)

Counts
4 → 18
Calls

4 calls:

19.0ms
(*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
18.0ms
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
11.0ms
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
2.0ms
(*.f64 4 (*.f64 b b))

rewrite70.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
597×log-prod_binary64
344×fma-def_binary64
205×expm1-udef_binary64
205×log1p-udef_binary64
188×log-pow_binary64
Counts
4 → 118
Calls

4 calls:

67.0ms
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
67.0ms
(*.f64 4 (*.f64 b b))
67.0ms
(*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
67.0ms
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01338
126138
2282138
3517538
000
100

prune155.0ms (3.4%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New1351136
Fresh101
Picked101
Done000
Total1371138
Error
0b
Counts
138 → 1
Alt Table
StatusErrorProgram
0b
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)) (pow.f64 b 4))) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 3844 to 2621 computations (31.8% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3))
0.2b
(pow.f64 (*.f64 a b) 2)
0.3b
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)
31.5b
(cbrt.f64 (pow.f64 (*.f64 a b) 2))

series1.2s (25.2%)

Counts
4 → 96
Calls

4 calls:

580.0ms
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)
554.0ms
(cbrt.f64 (pow.f64 (*.f64 a b) 2))
19.0ms
(*.f64 2 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3))
7.0ms
(pow.f64 (*.f64 a b) 2)

rewrite93.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
706×log1p-expm1-u_binary64
706×expm1-log1p-u_binary64
143×expm1-udef_binary64
143×log1p-udef_binary64
133×log-pow_binary64
Counts
4 → 95
Calls

4 calls:

90.0ms
(*.f64 2 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3))
90.0ms
(pow.f64 (*.f64 a b) 2)
90.0ms
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)
90.0ms
(cbrt.f64 (pow.f64 (*.f64 a b) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01033
119131
2187831
3496231
4489131
000
100

prune167.0ms (3.6%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New1910191
Fresh000
Picked011
Done000
Total1911192
Error
0b
Counts
192 → 1
Alt Table
StatusErrorProgram
0b
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (*.f64 2 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)) (pow.f64 b 4))) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 5658 to 4010 computations (29.1% saved)

regimes1.3s (28.7%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
187 → 1
Compiler

Compiled 26197 to 19368 computations (26.1% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02039
13139
23239
33039

end66.0ms (1.4%)

Compiler

Compiled 84 to 66 computations (21.4% saved)

Profiling

Loading profile data...