Details

Time bar (total: 3.7s)

analyze64.0ms (1.7%)

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.4s (37.2%)

Results
1.1s8256×body128valid
5.0ms49×body128invalid
Compiler

Compiled 61 to 43 computations (29.5% saved)

simplify114.0ms (3.1%)

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 4 expressions with local error:

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

series31.0ms (0.8%)

Counts
4 → 80
Calls

4 calls:

12.0ms
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
9.0ms
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
9.0ms
(/.f64 (*.f64 m (-.f64 1 m)) v)
2.0ms
(*.f64 m (-.f64 1 m))

rewrite100.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
641×prod-diff_binary64
179×expm1-udef_binary64
178×log1p-udef_binary64
174×fma-neg_binary64
172×fma-def_binary64
Counts
4 → 166
Calls

4 calls:

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0946
120146
2271642
3499742
4536942

simplify66.0ms (1.8%)

Algorithm
egg-herbie
Rules
566×unsub-neg_binary64
472×fma-def_binary64
424×fma-neg_binary64
423×associate-/l*_binary64
317×div-sub_binary64
Counts
246 → 194
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
031936
177837
2154837
3380837
41139837
53991837
65039837

prune169.0ms (4.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1877194
Fresh101
Picked101
Done000
Total1897196
Error
0.0b
Counts
196 → 7
Alt Table
StatusErrorProgram
13.0b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) -1) m) (fma.f64 (/.f64 m v) (-.f64 1 m) 1))
0.2b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
1.4b
(pow.f64 (cbrt.f64 (*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))) 3)
6.3b
(-.f64 (/.f64 (pow.f64 m 2) v) (+.f64 (/.f64 (pow.f64 m 3) v) m))
0.2b
(*.f64 (-.f64 (*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v))) 1) m)
19.4b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1) m) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (/.f64 m v) (-.f64 1 m) 1)))
35.3b
(pow.f64 (sqrt.f64 (*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))) 2)
Compiler

Compiled 3268 to 2054 computations (37.1% saved)

localize55.0ms (1.5%)

Local error

Found 4 expressions with local error:

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

series68.0ms (1.8%)

Counts
4 → 96
Calls

4 calls:

43.0ms
(-.f64 (*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v))) 1)
11.0ms
(*.f64 (-.f64 (*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v))) 1) m)
9.0ms
(*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v)))
5.0ms
(*.f64 (-.f64 1 m) (/.f64 1 v))

rewrite127.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
626×prod-diff_binary64
451×fma-udef_binary64
273×fma-neg_binary64
239×fma-def_binary64
191×expm1-udef_binary64
Counts
4 → 166
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01042
122342
2282042
3488242
4490742
5494442

simplify81.0ms (2.2%)

Algorithm
egg-herbie
Rules
630×fma-neg_binary64
531×fma-def_binary64
483×difference-of-squares_binary64
374×cancel-sign-sub-inv_binary64
307×distribute-rgt-in_binary64
Counts
262 → 190
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0401063
1100964
2194964
3457904
41468904
54138904
65238904

prune164.0ms (4.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1882190
Fresh246
Picked011
Done000
Total1907197
Error
0.0b
Counts
197 → 7
Alt Table
StatusErrorProgram
13.0b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) -1) m) (fma.f64 (/.f64 m v) (-.f64 1 m) 1))
0.2b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
1.3b
(pow.f64 (cbrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) 3)
6.3b
(-.f64 (/.f64 (pow.f64 m 2) v) (+.f64 (/.f64 (pow.f64 m 3) v) m))
19.4b
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 3) -1) m) (+.f64 (pow.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 2) (fma.f64 m (/.f64 (-.f64 1 m) v) 1)))
0.2b
(*.f64 (-.f64 (*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v))) 1) m)
35.3b
(pow.f64 (sqrt.f64 (*.f64 m (fma.f64 (/.f64 m v) (-.f64 1 m) -1))) 2)
Compiler

Compiled 3248 to 2130 computations (34.4% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series27.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

14.0ms
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
13.0ms
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))

rewrite65.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
554×log-prod_binary64
285×fma-neg_binary64
241×fma-def_binary64
176×expm1-udef_binary64
176×log1p-udef_binary64
Counts
2 → 128
Calls

2 calls:

62.0ms
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
62.0ms
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01029
122523
2274823
3523423

simplify66.0ms (1.8%)

Algorithm
egg-herbie
Rules
709×fma-neg_binary64
621×unsub-neg_binary64
320×div-sub_binary64
294×distribute-rgt-in_binary64
284×associate-/r/_binary64
Counts
176 → 143
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025614
162614
2149614
3416614
41407614
54198614
65101614

prune166.0ms (4.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2343237
Fresh325
Picked011
Done011
Total2377244
Error
0b
Counts
244 → 7
Alt Table
StatusErrorProgram
13.0b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) -1) m) (fma.f64 (/.f64 m v) (-.f64 1 m) 1))
0.2b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
36.5b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 m m m) v)) 2) (*.f64 (cbrt.f64 (/.f64 (fma.f64 m m m) v)) m) m)
0.2b
(*.f64 (-.f64 (*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v))) 1) m)
9.9b
(+.f64 (/.f64 m (/.f64 v (fma.f64 m m m))) (neg.f64 m))
19.4b
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 3) -1) m) (+.f64 (pow.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 2) (fma.f64 m (/.f64 (-.f64 1 m) v) 1)))
6.3b
(+.f64 (/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v) (neg.f64 m))
Compiler

Compiled 4162 to 1469 computations (64.7% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v) (neg.f64 m))
0.0b
(-.f64 (pow.f64 m 2) (pow.f64 m 3))
11.9b
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)

series33.0ms (0.9%)

Counts
3 → 43
Calls

3 calls:

16.0ms
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
13.0ms
(+.f64 (/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v) (neg.f64 m))
3.0ms
(-.f64 (pow.f64 m 2) (pow.f64 m 3))

rewrite79.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
343×fma-neg_binary64
338×fma-def_binary64
269×egg-rr
190×expm1-udef_binary64
Counts
3 → 269
Calls

3 calls:

73.0ms
(+.f64 (/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v) (neg.f64 m))
73.0ms
(-.f64 (pow.f64 m 2) (pow.f64 m 3))
73.0ms
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01139
126033
2289633
3550333

simplify64.0ms (1.7%)

Algorithm
egg-herbie
Rules
572×fma-def_binary64
531×fma-neg_binary64
424×cancel-sign-sub-inv_binary64
421×difference-of-squares_binary64
401×associate-/l*_binary64
Counts
312 → 287
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022526
154526
2135526
3378526
41198526
53855526
64947526

prune224.0ms (6%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2852287
Fresh224
Picked011
Done022
Total2877294
Error
0b
Counts
294 → 7
Alt Table
StatusErrorProgram
13.0b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) -1) m) (fma.f64 (/.f64 m v) (-.f64 1 m) 1))
0.2b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
6.3b
(fma.f64 (*.f64 m m) (/.f64 1 v) (neg.f64 (+.f64 (/.f64 (pow.f64 m 3) v) m)))
9.9b
(+.f64 (/.f64 m (/.f64 v (fma.f64 m m m))) (neg.f64 m))
6.3b
(+.f64 (/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v) (neg.f64 m))
0.2b
(*.f64 (-.f64 (*.f64 m (*.f64 (-.f64 1 m) (/.f64 1 v))) 1) m)
26.0b
(+.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 m 4) (pow.f64 m 6))) v) (neg.f64 m))
Compiler

Compiled 5235 to 2878 computations (45% saved)

regimes444.0ms (12%)

Accuracy

Total 0.2b remaining (87.9%)

Threshold costs 0.2b (87.9%)

Counts
165 → 1
Compiler

Compiled 6992 to 4553 computations (34.9% 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

end92.0ms (2.5%)

Compiler

Compiled 138 to 92 computations (33.3% saved)

Profiling

Loading profile data...