Details

Time bar (total: 3.4s)

analyze7.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
25%75%0%3
50%50%0%4
93.7%6.2%0%5
96.8%3.1%0%6
98.4%1.6%0%7
99.2%0.8%0%8
99.6%0.4%0%9
99.8%0.2%0%10
99.9%0.1%0%11
99.9%0%0%12
99.9%0%0%13
99.9%0%0%14
Compiler

Compiled 37 to 29 computations (21.6% saved)

sample1.3s (38%)

Results
1.2s8256×body128valid
Compiler

Compiled 110 to 86 computations (21.8% saved)

simplify78.0ms (2.3%)

Algorithm
egg-herbie
Rules
1189×distribute-rgt-in_binary64
1108×fma-def_binary64
1005×distribute-lft-in_binary64
549×times-frac_binary64
430×distribute-rgt-out_binary64
Counts
1 → 2
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01152
12348
24846
311842
428042
539442
666042
7128638
8163836
9221936
10248136
11263736
12267736
13249736
14512936

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.0b
(/.f64 (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 1) (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2))
0.0b
(/.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))) (+.f64 2 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))))
Compiler

Compiled 185 to 143 computations (22.7% saved)

localize9.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 2 t) (+.f64 1 t))
0.0b
(/.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))) (+.f64 2 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))))
0.0b
(*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))

series9.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

3.0ms
(/.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))) (+.f64 2 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))))
3.0ms
(*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))
2.0ms
(/.f64 (*.f64 2 t) (+.f64 1 t))

rewrite80.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
990×prod-diff_binary64
126×egg-rr
126×add-sqr-sqrt_binary64
123×log1p-expm1-u_binary64
123×expm1-log1p-u_binary64
Counts
3 → 126
Calls

3 calls:

78.0ms
(/.f64 (*.f64 2 t) (+.f64 1 t))
78.0ms
(/.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))) (+.f64 2 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))))
78.0ms
(*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01157
125857
2361957
3557657
000
100

simplify60.0ms (1.7%)

Algorithm
egg-herbie
Rules
663×times-frac_binary64
598×fma-neg_binary64
585×cancel-sign-sub-inv_binary64
467×associate-*l*_binary64
282×fma-def_binary64
Counts
162 → 170
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069474
1231458
2621442
31772440
44419440
55139440

prune1.1s (31.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New4130413
Fresh011
Picked011
Done000
Total4132415
Error
0b
Counts
415 → 2
Alt Table
StatusErrorProgram
0.0b
(/.f64 (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 1) (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2))
0.0b
(/.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))) (+.f64 2 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))))
Compiler

Compiled 15110 to 11877 computations (21.4% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 2 (+.f64 t (/.f64 1 t)))
0.0b
(fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2)
0.0b
(/.f64 (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 1) (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2))
0.1b
(/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t))))

series12.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

5.0ms
(/.f64 (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 1) (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2))
3.0ms
(/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t))))
2.0ms
(fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2)
1.0ms
(+.f64 2 (+.f64 t (/.f64 1 t)))

rewrite70.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
467×prod-diff_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
132×add-sqr-sqrt_binary64
130×log1p-expm1-u_binary64
Counts
4 → 114
Calls

4 calls:

67.0ms
(+.f64 2 (+.f64 t (/.f64 1 t)))
67.0ms
(fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2)
67.0ms
(/.f64 (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 1) (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2))
67.0ms
(/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01276
127576
2352876
3505876
000
100

simplify76.0ms (2.2%)

Algorithm
egg-herbie
Rules
456×sub-neg_binary64
449×cancel-sign-sub-inv_binary64
431×associate-*l*_binary64
398×fma-neg_binary64
339×associate-*r*_binary64
Counts
162 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073583
1227567
2583554
31569546
44255546
54884546
64906546

prune219.0ms (6.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New2440244
Fresh000
Picked011
Done011
Total2442246
Error
0b
Counts
246 → 2
Alt Table
StatusErrorProgram
0.0b
(/.f64 (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 1) (fma.f64 t (/.f64 4 (+.f64 2 (+.f64 t (/.f64 1 t)))) 2))
0.0b
(/.f64 (+.f64 1 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))) (+.f64 2 (*.f64 (/.f64 (*.f64 2 t) (+.f64 1 t)) (/.f64 (*.f64 2 t) (+.f64 1 t)))))
Compiler

Compiled 7373 to 5730 computations (22.3% saved)

regimes294.0ms (8.6%)

Accuracy

Total 0.0b remaining (75.8%)

Threshold costs 0.0b (75.8%)

Counts
77 → 1
Compiler

Compiled 7716 to 6218 computations (19.4% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01443
11843
21743

end106.0ms (3.1%)

Compiler

Compiled 122 to 96 computations (21.3% saved)

Profiling

Loading profile data...