Details

Time bar (total: 7.8s)

analyze114.0ms (1.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.9%99.1%0
0%0.9%99.1%1
0%0.9%99.1%2
0.4%0.4%99.1%3
0.4%0.4%99.1%4
0.6%0.2%99.1%5
0.6%0.2%99.1%6
0.7%0.1%99.1%7
0.7%0.1%99.1%8
0.8%0.1%99.1%9
0.8%0.1%99.1%10
0.8%0%99.1%11
0.8%0%99.1%12
0.8%0%99.1%13
0.8%0%99.1%14
Compiler

Compiled 32 to 24 computations (25% saved)

sample204.0ms (2.6%)

Algorithm
intervals
Results
22.0ms256×body128valid
7.0ms256×pre128true
Compiler

Compiled 51 to 39 computations (23.5% saved)

simplify158.0ms (2%)

Algorithm
egg-herbie
Rules
2879×fma-def_binary32
2626×associate-+l+_binary32
362×distribute-rgt-in_binary32
324×associate-+r+_binary32
323×distribute-rgt-out_binary32
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01323
12119
23519
35419
411019
517319
624719
740519
850519
956319
1061319
1163619
1267219
1378119
1495919
15121819
16155019
17155619
18154819
19189619
20211319
21220819
22230719
23227519
24227519
25227519
26426519
27426519
28426519
29426519
30561919

prune4.0ms (0%)

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.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
0.2b
(+.f32 1 (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)))))))
Compiler

Compiled 94 to 70 computations (25.5% saved)

localize33.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)
0.1b
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
0.1b
(exp.f32 (/.f32 -2 v))

series260.0ms (3.3%)

Counts
4 → 80
Calls

4 calls:

177.0ms
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
68.0ms
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
12.0ms
(fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)
2.0ms
(exp.f32 (/.f32 -2 v))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×exp-prod_binary32
12×*-un-lft-identity_binary32
12×add-sqr-sqrt_binary32
12×add-cube-cbrt_binary32
times-frac_binary32
Counts
4 → 57
Calls

4 calls:

2.0ms
(exp.f32 (/.f32 -2 v))
1.0ms
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
0.0ms
(fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)
0.0ms
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)

simplify104.0ms (1.3%)

Algorithm
egg-herbie
Rules
631×cancel-sign-sub-inv_binary32
440×sub-neg_binary32
256×fma-def_binary32
234×+-commutative_binary32
225×fma-neg_binary32
Counts
137 → 173
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03394060
110133883
238163673
353693673

prune182.0ms (2.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1676173
Fresh101
Picked101
Done000
Total1696175
Error
0.0b
Counts
175 → 6
Alt Table
StatusErrorProgram
30.5b
(-.f32 (fma.f32 1/3 (/.f32 v (pow.f32 (/.f32 (exp.f32 (/.f32 -2 v)) u) 3)) (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (+.f32 (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (pow.f32 u 3)) (exp.f32 (/.f32 -2 v)))))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 1/3 (*.f32 v (pow.f32 u 3)) (fma.f32 v u (fma.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))))
0.1b
(fma.f32 v (*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) 1)
29.5b
(-.f32 (fma.f32 2/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (+.f32 u (/.f32 u v)) (fma.f32 4/3 (/.f32 u (*.f32 v v)) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (*.f32 8 (pow.f32 (/.f32 u v) 3)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 3)) (+.f32 1 (fma.f32 2 (/.f32 (*.f32 u u) v) (fma.f32 4 (*.f32 (/.f32 u v) (/.f32 u v)) (*.f32 14/3 (/.f32 (*.f32 u u) (pow.f32 v 3))))))))
1.0b
(log.f32 (*.f32 (E.f32) (pow.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u) v)))
0.1b
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
Compiler

Compiled 5314 to 3810 computations (28.3% saved)

localize40.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)
0.1b
(log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u))
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
0.1b
(pow.f32 (exp.f32 -2) (/.f32 1 v))

series311.0ms (4%)

Counts
4 → 84
Calls

4 calls:

176.0ms
(log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u))
72.0ms
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
59.0ms
(fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)
3.0ms
(pow.f32 (exp.f32 -2) (/.f32 1 v))

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×*-un-lft-identity_binary32
14×add-sqr-sqrt_binary32
14×add-cube-cbrt_binary32
13×pow-unpow_binary32
times-frac_binary32
Counts
4 → 66
Calls

4 calls:

4.0ms
(pow.f32 (exp.f32 -2) (/.f32 1 v))
1.0ms
(log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u))
0.0ms
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
0.0ms
(fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)

simplify134.0ms (1.7%)

Algorithm
egg-herbie
Rules
440×sub-neg_binary32
380×fma-neg_binary32
258×fma-def_binary32
234×+-commutative_binary32
219×times-frac_binary32
Counts
150 → 195
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03454355
110424008
239023798
349783798
450773798

prune212.0ms (2.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1950195
Fresh055
Picked011
Done000
Total1956201
Error
0.0b
Counts
201 → 6
Alt Table
StatusErrorProgram
30.5b
(-.f32 (fma.f32 1/3 (/.f32 v (pow.f32 (/.f32 (exp.f32 (/.f32 -2 v)) u) 3)) (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (+.f32 (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (pow.f32 u 3)) (exp.f32 (/.f32 -2 v)))))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 1/3 (*.f32 v (pow.f32 u 3)) (fma.f32 v u (fma.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))))
0.1b
(fma.f32 v (*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) 1)
29.5b
(-.f32 (fma.f32 2/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (+.f32 u (/.f32 u v)) (fma.f32 4/3 (/.f32 u (*.f32 v v)) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (*.f32 8 (pow.f32 (/.f32 u v) 3)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 3)) (+.f32 1 (fma.f32 2 (/.f32 (*.f32 u u) v) (fma.f32 4 (*.f32 (/.f32 u v) (/.f32 u v)) (*.f32 14/3 (/.f32 (*.f32 u u) (pow.f32 v 3))))))))
1.0b
(log.f32 (*.f32 (E.f32) (pow.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u) v)))
0.1b
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
Compiler

Compiled 5895 to 4281 computations (27.4% saved)

localize52.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))
0.1b
(exp.f32 (/.f32 -2 v))
0.3b
(*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))))
0.5b
(*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))))

series1.5s (19.3%)

Counts
3 → 72
Calls

3 calls:

847.0ms
(*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))))
485.0ms
(cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))
178.0ms
(*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))))

rewrite24.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
37×pow1_binary32
33×cbrt-prod_binary32
24×add-sqr-sqrt_binary32
16×*-un-lft-identity_binary32
16×pow1/3_binary32
Counts
3 → 100
Calls

3 calls:

7.0ms
(*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))))
5.0ms
(*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))))
1.0ms
(cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))

simplify302.0ms (3.8%)

Algorithm
egg-herbie
Rules
419×*-commutative_binary32
294×+-commutative_binary32
269×fma-def_binary32
233×associate-+r+_binary32
183×associate-*r/_binary32
Counts
172 → 221
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0114219172
1430318572
2519618572

prune1.2s (15.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New4340434
Fresh044
Picked011
Done011
Total4346440
Error
0.0b
Counts
440 → 6
Alt Table
StatusErrorProgram
30.5b
(-.f32 (fma.f32 1/3 (/.f32 v (pow.f32 (/.f32 (exp.f32 (/.f32 -2 v)) u) 3)) (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (+.f32 (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (pow.f32 u 3)) (exp.f32 (/.f32 -2 v)))))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 1/3 (*.f32 v (pow.f32 u 3)) (fma.f32 v u (fma.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))))
0.1b
(fma.f32 v (*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) 1)
29.5b
(-.f32 (fma.f32 2/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (+.f32 u (/.f32 u v)) (fma.f32 4/3 (/.f32 u (*.f32 v v)) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (*.f32 8 (pow.f32 (/.f32 u v) 3)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 3)) (+.f32 1 (fma.f32 2 (/.f32 (*.f32 u u) v) (fma.f32 4 (*.f32 (/.f32 u v) (/.f32 u v)) (*.f32 14/3 (/.f32 (*.f32 u u) (pow.f32 v 3))))))))
1.0b
(log.f32 (*.f32 (E.f32) (pow.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u) v)))
0.1b
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
Compiler

Compiled 49009 to 38858 computations (20.7% saved)

localize40.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
0.1b
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)
0.1b
(exp.f32 (/.f32 -2 v))
0.2b
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))

series297.0ms (3.8%)

Counts
2 → 48
Calls

2 calls:

231.0ms
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))
66.0ms
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×log-prod_binary32
10×add-sqr-sqrt_binary32
*-un-lft-identity_binary32
add-cube-cbrt_binary32
associate-+l+_binary32
Counts
2 → 47
Calls

2 calls:

4.0ms
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)
3.0ms
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))

simplify116.0ms (1.5%)

Algorithm
egg-herbie
Rules
538×fma-neg_binary32
519×cancel-sign-sub-inv_binary32
324×sub-neg_binary32
241×neg-sub0_binary32
238×neg-mul-1_binary32
Counts
95 → 135
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02573739
17783583
230633423
344073411
450653411

prune288.0ms (3.7%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2242226
Fresh123
Picked011
Done022
Total2257232
Error
0.0b
Counts
232 → 7
Alt Table
StatusErrorProgram
0.3b
(+.f32 (*.f32 (log.f32 (sqrt.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) v) (fma.f32 v (log.f32 (sqrt.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (pow.f32 (exp.f32 -2) (/.f32 1 v)) u)) 1)
30.7b
(+.f32 (fma.f32 u (-.f32 (/.f32 v (exp.f32 (/.f32 -2 v))) v) -2) 1)
0.1b
(fma.f32 v (*.f32 (*.f32 (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) (cbrt.f32 (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))) 1)
29.5b
(-.f32 (fma.f32 2/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (+.f32 u (/.f32 u v)) (fma.f32 4/3 (/.f32 u (*.f32 v v)) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (*.f32 8 (pow.f32 (/.f32 u v) 3)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 3)) (+.f32 1 (fma.f32 2 (/.f32 (*.f32 u u) v) (fma.f32 4 (*.f32 (/.f32 u v) (/.f32 u v)) (*.f32 14/3 (/.f32 (*.f32 u u) (pow.f32 v 3))))))))
1.0b
(log.f32 (*.f32 (E.f32) (pow.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u) v)))
0.1b
(+.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1)
Compiler

Compiled 7186 to 5209 computations (27.5% saved)

regimes373.0ms (4.8%)

Accuracy

Total 0.1b remaining (71.4%)

Threshold costs 0.1b (71.4%)

Counts
73 → 1
Compiler

Compiled 9780 to 7032 computations (28.1% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
*-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01557
12057
22457
32657
42757
52657

end1.0ms (0%)

Compiler

Compiled 39 to 29 computations (25.6% saved)

sample1.9s (23.7%)

Algorithm
intervals
Results
973.0ms8000×body128valid
205.0ms8000×pre128true
Compiler

Compiled 283 to 201 computations (29% saved)

Profiling

Loading profile data...