Details

Time bar (total: 21.2s)

analyze120.0ms (0.6%)

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)

sample1.8s (8.4%)

Results
1.7s8256×body128valid
Compiler

Compiled 81 to 61 computations (24.7% saved)

simplify78.0ms (0.4%)

Algorithm
egg-herbie
Rules
2871×fma-def_binary32
361×distribute-rgt-in_binary32
327×distribute-rgt-out_binary32
316×associate-+r+_binary32
188×fma-neg_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01323
12119
23519
36219
412919
521819
633719
751719
884619
996619
10104319
11107219
12111319
13124119
14150919
15185419
16227319
17237319
18237919
19273119
20309019
21331019
22355019
23355019
24355019
25355019
Stop Event
node limit
Counts
1 → 2

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

Compiled 94 to 70 computations (25.5% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series182.0ms (0.9%)

Counts
4 → 80
Calls

4 calls:

127.0ms
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
46.0ms
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
8.0ms
(fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)
2.0ms
(exp.f32 (/.f32 -2 v))

rewrite73.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
481×log-prod_binary32
205×prod-diff_binary32
198×expm1-udef_binary32
197×log1p-udef_binary32
172×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01153
122653
2272153
Stop Event
node limit
Counts
4 → 106
Calls

4 calls:

71.0ms
(fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)
71.0ms
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
71.0ms
(exp.f32 (/.f32 -2 v))
71.0ms
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))

simplify63.0ms (0.3%)

Algorithm
egg-herbie
Rules
629×cancel-sign-sub-inv_binary32
438×sub-neg_binary32
254×fma-def_binary32
231×+-commutative_binary32
225×fma-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02633048
19262982
237892942
Stop Event
node limit
Counts
186 → 194

prune189.0ms (0.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1877194
Fresh101
Picked011
Done000
Total1888196
Error
0.0b
Counts
196 → 8
Alt Table
StatusErrorProgram
31.0b
(+.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) u)) (-.f32 (-.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) (*.f32 u u))) (fma.f32 1/2 (*.f32 v (*.f32 u u)) 1)) (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))
1.5b
(+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1))) (cbrt.f32 (exp.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1))))) (log.f32 (cbrt.f32 (exp.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)))))
29.5b
(-.f32 (fma.f32 2 (/.f32 u v) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (fma.f32 u 2 (/.f32 4/3 (/.f32 (*.f32 v v) u))))) (fma.f32 (/.f32 u (/.f32 (*.f32 v v) u)) 4 (fma.f32 2 (/.f32 u (/.f32 v u)) 1)))
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
30.1b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2/3 (/.f32 u (pow.f32 v 4)) (fma.f32 2 (+.f32 (/.f32 u v) (/.f32 u (*.f32 v v))) (fma.f32 8/3 (pow.f32 (/.f32 u v) 3) (/.f32 (*.f32 (pow.f32 u 3) 8) (pow.f32 v 4)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 4)) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (fma.f32 14/3 (/.f32 u (/.f32 (pow.f32 v 4) u)) (/.f32 2 v)))))) 1)
1.1b
(pow.f32 (pow.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) 3) 1/3)
29.8b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (/.f32 u v) (fma.f32 2 (/.f32 u (*.f32 v v)) (*.f32 8/3 (pow.f32 (/.f32 u v) 3))))) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (/.f32 2 v)))) 1)
0.2b
(/.f32 (+.f32 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
Compiler

Compiled 5989 to 4335 computations (27.6% saved)

localize66.0ms (0.3%)

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 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
0.3b
(pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3)
0.3b
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))

series4.1s (19.5%)

Counts
3 → 72
Calls

3 calls:

3.7s
(/.f32 (+.f32 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
248.0ms
(pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3)
156.0ms
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))

rewrite72.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
317×log1p-udef_binary32
184×add-sqr-sqrt_binary32
178×log1p-expm1-u_binary32
178×expm1-log1p-u_binary32
175×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018124
1406109
24894109
Stop Event
node limit
Counts
3 → 74
Calls

3 calls:

69.0ms
(/.f32 (+.f32 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
69.0ms
(pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3)
69.0ms
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))

simplify473.0ms (2.2%)

Algorithm
egg-herbie
Rules
677×fma-def_binary32
420×associate-/r*_binary32
379×associate-/l*_binary32
357×times-frac_binary32
59×sqr-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0233681457
Stop Event
node limit
Counts
146 → 177

prune4.2s (19.5%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New5581559
Fresh156
Picked011
Done011
Total5598567
Error
0.0b
Counts
567 → 8
Alt Table
StatusErrorProgram
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
0.3b
(/.f32 (+.f32 (pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
31.0b
(+.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) u)) (-.f32 (-.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) (*.f32 u u))) (fma.f32 1/2 (*.f32 v (*.f32 u u)) 1)) (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))
29.5b
(-.f32 (fma.f32 2 (/.f32 u v) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (fma.f32 u 2 (/.f32 4/3 (/.f32 (*.f32 v v) u))))) (fma.f32 (/.f32 u (/.f32 (*.f32 v v) u)) 4 (fma.f32 2 (/.f32 u (/.f32 v u)) 1)))
30.1b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2/3 (/.f32 u (pow.f32 v 4)) (fma.f32 2 (+.f32 (/.f32 u v) (/.f32 u (*.f32 v v))) (fma.f32 8/3 (pow.f32 (/.f32 u v) 3) (/.f32 (*.f32 (pow.f32 u 3) 8) (pow.f32 v 4)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 4)) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (fma.f32 14/3 (/.f32 u (/.f32 (pow.f32 v 4) u)) (/.f32 2 v)))))) 1)
1.1b
(pow.f32 (pow.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) 3) 1/3)
29.8b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (/.f32 u v) (fma.f32 2 (/.f32 u (*.f32 v v)) (*.f32 8/3 (pow.f32 (/.f32 u v) 3))))) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (/.f32 2 v)))) 1)
0.2b
(/.f32 (+.f32 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
Compiler

Compiled 145745 to 110531 computations (24.2% saved)

localize81.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f32 (+.f32 (pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
0.3b
(pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3)
0.3b
(*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)))
23.5b
(-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)

series4.9s (22.9%)

Counts
3 → 72
Calls

3 calls:

3.9s
(/.f32 (+.f32 (pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
954.0ms
(pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3)
59.0ms
(-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)

rewrite46.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
219×add-sqr-sqrt_binary32
212×expm1-log1p-u_binary32
211×log1p-expm1-u_binary32
206×add-cbrt-cube_binary32
206×add-log-exp_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
021131
1473110
Stop Event
node limit
Counts
3 → 73
Calls

3 calls:

43.0ms
(/.f32 (+.f32 (pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
42.0ms
(pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3)
42.0ms
(-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)

simplify481.0ms (2.3%)

Algorithm
egg-herbie
Rules
703×fma-def_binary32
428×associate-/r*_binary32
413×associate-/l*_binary32
365×times-frac_binary32
60×sqr-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0249483395
Stop Event
node limit
Counts
145 → 182

prune3.0s (14.2%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New3200320
Fresh055
Picked011
Done022
Total3208328
Error
0.0b
Counts
328 → 8
Alt Table
StatusErrorProgram
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
0.3b
(/.f32 (+.f32 (pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
31.0b
(+.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) u)) (-.f32 (-.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) (*.f32 u u))) (fma.f32 1/2 (*.f32 v (*.f32 u u)) 1)) (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))
29.5b
(-.f32 (fma.f32 2 (/.f32 u v) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (fma.f32 u 2 (/.f32 4/3 (/.f32 (*.f32 v v) u))))) (fma.f32 (/.f32 u (/.f32 (*.f32 v v) u)) 4 (fma.f32 2 (/.f32 u (/.f32 v u)) 1)))
30.1b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2/3 (/.f32 u (pow.f32 v 4)) (fma.f32 2 (+.f32 (/.f32 u v) (/.f32 u (*.f32 v v))) (fma.f32 8/3 (pow.f32 (/.f32 u v) 3) (/.f32 (*.f32 (pow.f32 u 3) 8) (pow.f32 v 4)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 4)) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (fma.f32 14/3 (/.f32 u (/.f32 (pow.f32 v 4) u)) (/.f32 2 v)))))) 1)
1.1b
(pow.f32 (pow.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) 3) 1/3)
29.8b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2 (/.f32 u v) (fma.f32 2 (/.f32 u (*.f32 v v)) (*.f32 8/3 (pow.f32 (/.f32 u v) 3))))) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (/.f32 2 v)))) 1)
0.2b
(/.f32 (+.f32 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
Compiler

Compiled 130570 to 99625 computations (23.7% saved)

localize51.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series147.0ms (0.7%)

Counts
1 → 24
Calls

1 calls:

147.0ms
(pow.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) 3)

rewrite47.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
545×log-prod_binary32
225×expm1-udef_binary32
224×log1p-udef_binary32
205×prod-diff_binary32
196×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01322
126922
2312922
Stop Event
node limit
Counts
1 → 28
Calls

1 calls:

46.0ms
(pow.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) 3)

simplify79.0ms (0.4%)

Algorithm
egg-herbie
Rules
795×fma-def_binary32
686×associate-/l*_binary32
561×associate-/r*_binary32
207×*-commutative_binary32
206×+-commutative_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05716527
122266423
Stop Event
node limit
Counts
52 → 66

prune460.0ms (2.2%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New2151216
Fresh134
Picked011
Done033
Total2168224
Error
0.0b
Counts
224 → 8
Alt Table
StatusErrorProgram
0.1b
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
0.3b
(/.f32 (+.f32 (pow.f32 (log1p.f32 (-.f32 (pow.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u) v) 1)) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
29.6b
(pow.f32 (-.f32 (fma.f32 8 (pow.f32 u 3) (fma.f32 56 (/.f32 (pow.f32 u 5) (*.f32 v v)) (fma.f32 48 (/.f32 (pow.f32 u 3) v) (fma.f32 6 (/.f32 u v) (fma.f32 u 6 (fma.f32 4 (/.f32 u (*.f32 v v)) (/.f32 (*.f32 120 (pow.f32 u 3)) (*.f32 v v)))))))) (+.f32 1 (fma.f32 12 (*.f32 u u) (fma.f32 30 (/.f32 u (/.f32 v u)) (fma.f32 140 (/.f32 (pow.f32 u 4) (*.f32 v v)) (fma.f32 24 (/.f32 (pow.f32 u 4) v) (*.f32 40 (/.f32 (*.f32 u u) (*.f32 v v))))))))) 1/3)
30.1b
(fma.f32 v (-.f32 (fma.f32 4/3 (/.f32 u (pow.f32 v 3)) (fma.f32 2/3 (/.f32 u (pow.f32 v 4)) (fma.f32 2 (+.f32 (/.f32 u v) (/.f32 u (*.f32 v v))) (fma.f32 8/3 (pow.f32 (/.f32 u v) 3) (/.f32 (*.f32 (pow.f32 u 3) 8) (pow.f32 v 4)))))) (fma.f32 4 (/.f32 (pow.f32 u 4) (pow.f32 v 4)) (fma.f32 2 (/.f32 u (/.f32 (*.f32 v v) u)) (fma.f32 4 (/.f32 u (/.f32 (pow.f32 v 3) u)) (fma.f32 14/3 (/.f32 u (/.f32 (pow.f32 v 4) u)) (/.f32 2 v)))))) 1)
31.0b
(+.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) u)) (-.f32 (-.f32 (/.f32 v (/.f32 (exp.f32 (/.f32 -2 v)) (*.f32 u u))) (fma.f32 1/2 (*.f32 v (*.f32 u u)) 1)) (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))))))
29.5b
(-.f32 (fma.f32 2 (/.f32 u v) (fma.f32 8/3 (/.f32 (pow.f32 u 3) (*.f32 v v)) (fma.f32 u 2 (/.f32 4/3 (/.f32 (*.f32 v v) u))))) (fma.f32 (/.f32 u (/.f32 (*.f32 v v) u)) 4 (fma.f32 2 (/.f32 u (/.f32 v u)) 1)))
1.1b
(pow.f32 (pow.f32 (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) 3) 1/3)
0.2b
(/.f32 (+.f32 (pow.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 3) 1) (fma.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) (-.f32 1 (*.f32 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))) 1))))
Compiler

Compiled 14647 to 11221 computations (23.4% saved)

regimes266.0ms (1.3%)

Accuracy

Total 0.1b remaining (67.2%)

Threshold costs 0.1b (67.2%)

Counts
39 → 1
Compiler

Compiled 6514 to 4754 computations (27% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
11519
21919
32119
42219
Stop Event
saturated

end243.0ms (1.1%)

Compiler

Compiled 453 to 304 computations (32.9% saved)

Profiling

Loading profile data...