Details

Time bar (total: 3.1s)

analyze61.0ms (2%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.5%87.5%0
0%12.5%87.5%1
0%12.5%87.5%2
3.1%9.3%87.5%3
3.1%6.2%90.7%4
4.7%4.7%90.7%5
4.7%3.5%91.8%6
5.6%2.5%91.8%7
5.9%1.8%92.3%8
6.4%1.3%92.3%9
6.6%0.9%92.5%10
6.8%0.6%92.5%11
6.9%0.5%92.6%12
7%0.3%92.6%13
7.1%0.2%92.7%14
Compiler

Compiled 24 to 17 computations (29.2% saved)

sample1.2s (38.9%)

Results
887.0ms8256×body128valid
7.0ms62×body128invalid
Compiler

Compiled 61 to 43 computations (29.5% saved)

simplify119.0ms (3.9%)

Algorithm
egg-herbie
Rules
1186×fma-def_binary64
913×fma-neg_binary64
520×distribute-rgt-in_binary64
481×div-sub_binary64
441×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0916
12016
23914
37814
423314
552914
697614
7168614
8174614
9195214
10233414
11281814
12310414
13456014
14419514
15479914

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))
0.2b
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Compiler

Compiled 73 to 49 computations (32.9% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 1 m) v)
0.1b
(fma.f64 m (/.f64 (-.f64 1 m) v) -1)
0.2b
(*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))

series23.0ms (0.7%)

Counts
3 → 64
Calls

3 calls:

10.0ms
(*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))
7.0ms
(fma.f64 m (/.f64 (-.f64 1 m) v) -1)
5.0ms
(/.f64 (-.f64 1 m) v)

rewrite98.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
451×log-prod_binary64
326×prod-diff_binary64
173×pow1/3_binary64
165×expm1-udef_binary64
164×log1p-udef_binary64
Counts
3 → 128
Calls

3 calls:

95.0ms
(/.f64 (-.f64 1 m) v)
95.0ms
(fma.f64 m (/.f64 (-.f64 1 m) v) -1)
95.0ms
(*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
118632
2236032
3488332
4514132
000
100

simplify65.0ms (2.1%)

Algorithm
egg-herbie
Rules
595×unswap-sqr_binary64
582×associate-*l*_binary64
406×fma-def_binary64
291×associate-/l*_binary64
282×fma-neg_binary64
Counts
192 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
033814
183715
2159689
3370676
41002676
53651676
65359676

prune114.0ms (3.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1476153
Fresh101
Picked011
Done000
Total1487155
Error
0.0b
Counts
155 → 7
Alt Table
StatusErrorProgram
32.1b
(/.f64 (*.f64 (-.f64 m (pow.f64 m 2)) m) v)
0.2b
(*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))
35.1b
(pow.f64 (sqrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) 2)
0.2b
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))
0.3b
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
21.9b
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
9.1b
(-.f64 (/.f64 (pow.f64 m 2) v) (+.f64 (/.f64 (pow.f64 m 3) v) m))
Compiler

Compiled 3433 to 1810 computations (47.3% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 m (*.f64 m m))
0.0b
(/.f64 (-.f64 m (*.f64 m m)) v)
0.2b
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))

series26.0ms (0.9%)

Counts
3 → 60
Calls

3 calls:

13.0ms
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))
11.0ms
(/.f64 (-.f64 m (*.f64 m m)) v)
2.0ms
(-.f64 m (*.f64 m m))

rewrite56.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
878×log1p-expm1-u_binary64
878×expm1-log1p-u_binary64
108×egg-rr
96×add-sqr-sqrt_binary64
89×add-cbrt-cube_binary64
Counts
3 → 108
Calls

3 calls:

54.0ms
(-.f64 m (*.f64 m m))
54.0ms
(/.f64 (-.f64 m (*.f64 m m)) v)
54.0ms
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0833
118531
2220331
3523631
000
100

simplify81.0ms (2.6%)

Algorithm
egg-herbie
Rules
508×sub-neg_binary64
438×fma-def_binary64
382×associate-/l*_binary64
378×unsub-neg_binary64
370×div-sub_binary64
Counts
168 → 131
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027624
165624
2140624
3365624
41056624
53939624
64838624
75353624

prune72.0ms (2.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1301131
Fresh235
Picked011
Done101
Total1335138
Error
0.0b
Counts
138 → 5
Alt Table
StatusErrorProgram
35.1b
(pow.f64 (sqrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) 2)
0.2b
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))
32.0b
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
0.3b
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
21.9b
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
Compiler

Compiled 2161 to 699 computations (67.7% saved)

localize13.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1)
0.2b
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
0.3b
(/.f64 (sqrt.f64 m) (sqrt.f64 v))
61.3b
(fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))

series146.0ms (4.8%)

Counts
4 → 15
Calls

4 calls:

53.0ms
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
43.0ms
(fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1)
32.0ms
(fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))
18.0ms
(/.f64 (sqrt.f64 m) (sqrt.f64 v))

rewrite84.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
278×expm1-udef_binary64
277×log1p-udef_binary64
166×add-sqr-sqrt_binary64
157×log1p-expm1-u_binary64
157×expm1-log1p-u_binary64
Counts
4 → 112
Calls

4 calls:

82.0ms
(fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1)
82.0ms
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
82.0ms
(/.f64 (sqrt.f64 m) (sqrt.f64 v))
81.0ms
(fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01695
134365
2426565
3502065
000
100

simplify180.0ms (5.9%)

Algorithm
egg-herbie
Rules
467×sqr-pow_binary64
461×sub-neg_binary64
444×fma-def_binary64
437×cube-prod_binary64
434×unswap-sqr_binary64
Counts
127 → 122
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01273
12373
23273
36373
413473
536973
6148973
7406073
8433073
9466965
10344065
11457565
12464465
13447565
14488565
15477665

prune119.0ms (3.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1700170
Fresh033
Picked011
Done011
Total1705175
Error
0.0b
Counts
175 → 5
Alt Table
StatusErrorProgram
35.1b
(pow.f64 (sqrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) 2)
0.2b
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))
32.0b
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
0.3b
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
21.9b
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
Compiler

Compiled 4525 to 1885 computations (58.3% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 m (/.f64 (-.f64 1 m) v) -1)
0.2b
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
0.2b
(pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)
20.8b
(cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3))

series37.0ms (1.2%)

Counts
3 → 72
Calls

3 calls:

19.0ms
(pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)
11.0ms
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
7.0ms
(cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3))

rewrite59.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
520×log-prod_binary64
201×prod-diff_binary64
194×expm1-udef_binary64
193×log1p-udef_binary64
166×log-pow_binary64
Counts
3 → 94
Calls

3 calls:

57.0ms
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
57.0ms
(pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)
57.0ms
(cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
123239
2278039
3511939
000
100

simplify73.0ms (2.4%)

Algorithm
egg-herbie
Rules
517×associate--r+_binary64
455×fma-def_binary64
312×associate-+l+_binary64
304×associate--l+_binary64
287×times-frac_binary64
Counts
166 → 140
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0821789
12731672
210161554
349651551
450671551

prune130.0ms (4.3%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1752177
Fresh022
Picked011
Done022
Total1757182
Error
0.0b
Counts
182 → 7
Alt Table
StatusErrorProgram
35.1b
(pow.f64 (sqrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) 2)
0.2b
(fma.f64 m (/.f64 (-.f64 m (*.f64 m m)) v) (neg.f64 m))
0.2b
(-.f64 (*.f64 (/.f64 m v) (-.f64 m (*.f64 m m))) m)
32.0b
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
22.0b
(*.f64 m (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 2) (*.f64 (cbrt.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 2)))))
0.3b
(*.f64 m (fma.f64 m (+.f64 (/.f64 (-.f64 1 m) v) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 m) (sqrt.f64 v))) (/.f64 (sqrt.f64 m) (sqrt.f64 v)) (/.f64 m v))) -1))
21.9b
(*.f64 m (cbrt.f64 (pow.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) 3)))
Compiler

Compiled 3628 to 2461 computations (32.2% saved)

regimes195.0ms (6.4%)

Accuracy

Total 0.2b remaining (84%)

Threshold costs 0.2b (84%)

Counts
74 → 1
Compiler

Compiled 2885 to 1934 computations (33% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
unsub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
12016
22316
32416
42316

end97.0ms (3.2%)

Compiler

Compiled 158 to 102 computations (35.4% saved)

Profiling

Loading profile data...