Details

Time bar (total: 8.0s)

analyze123.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)

sample2.1s (26.5%)

Results
2.0s8256×body128valid
Compiler

Compiled 81 to 61 computations (24.7% saved)

simplify155.0ms (1.9%)

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.2b
(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)

localize37.0ms (0.5%)

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))

series279.0ms (3.5%)

Counts
4 → 80
Calls

4 calls:

202.0ms
(log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
66.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))

rewrite93.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
106×egg-rr
Counts
4 → 106
Calls

2 calls:

90.0ms
((exp.f32 (/.f32 -2 v)) (fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1) (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01153
122453
2261853
3487253
4498853
000
100

simplify77.0ms (1%)

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
Counts
186 → 192
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02633048
19122982
236302942
351572942

prune343.0ms (4.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1857192
Fresh101
Picked101
Done000
Total1877194
Error
0.0b
Counts
194 → 7
Alt Table
StatusErrorProgram
0.2b
(log1p.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))
29.9b
(-.f32 (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v)))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)))))))
2.8b
(exp.f32 (log1p.f32 (*.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)))))
29.9b
(-.f32 (+.f32 (*.f32 1/3 (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 3))) (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (+.f32 (/.f32 (*.f32 v (pow.f32 u 2)) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (pow.f32 u 3)) (exp.f32 (/.f32 -2 v)))))) (+.f32 (*.f32 1/2 (*.f32 v (pow.f32 u 2))) (+.f32 1 (+.f32 (*.f32 1/3 (*.f32 v (pow.f32 u 3))) (+.f32 (*.f32 v u) (+.f32 (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (*.f32 1/2 (/.f32 (*.f32 v (pow.f32 u 2)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)))))))))
28.8b
(-.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))))))))
29.9b
(fma.f32 v (-.f32 (+.f32 (/.f32 (pow.f32 u 3) (exp.f32 (/.f32 -2 v))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 3))) (+.f32 (/.f32 (pow.f32 u 2) (exp.f32 (/.f32 -2 v))) (/.f32 u (exp.f32 (/.f32 -2 v)))))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 u 2) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (+.f32 u (*.f32 2 (/.f32 1 v)))))))) 1)
0.3b
(*.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) (pow.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) 2))
Compiler

Compiled 5964 to 4329 computations (27.4% saved)

localize45.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series213.0ms (2.7%)

Counts
3 → 72
Calls

3 calls:

88.0ms
(expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))
63.0ms
(log1p.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))
62.0ms
(fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)

rewrite69.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
91×egg-rr
Counts
3 → 91
Calls

2 calls:

66.0ms
((expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) (log1p.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))) (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01359
124359
2281259
3515759
000
100

simplify124.0ms (1.6%)

Algorithm
egg-herbie
Rules
565×times-frac_binary32
364×associate-/l*_binary32
360×fma-def_binary32
334×associate-/r*_binary32
289×associate-*r*_binary32
Counts
163 → 139
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03865788
113815563
249455552
349945552

prune277.0ms (3.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1645169
Fresh246
Picked101
Done000
Total1679176
Error
0b
Counts
176 → 9
Alt Table
StatusErrorProgram
0.3b
(log1p.f32 (fma.f32 (exp.f32 (*.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)))) (E.f32) -1))
0.3b
(log1p.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
29.9b
(-.f32 (fma.f32 1/3 (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 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 1/2 (*.f32 v (*.f32 u u)) (+.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))))))))
29.9b
(-.f32 (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v)))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)))))))
28.8b
(-.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))))))))
0.2b
(fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)
29.9b
(fma.f32 v (-.f32 (+.f32 (/.f32 (pow.f32 u 3) (exp.f32 (/.f32 -2 v))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 3))) (+.f32 (/.f32 (pow.f32 u 2) (exp.f32 (/.f32 -2 v))) (/.f32 u (exp.f32 (/.f32 -2 v)))))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 u 2) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (+.f32 u (*.f32 2 (/.f32 1 v)))))))) 1)
0.3b
(*.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) (pow.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) 2))
0.3b
(log1p.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))) (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))) (log.f32 (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
Compiler

Compiled 8215 to 6115 computations (25.6% saved)

localize35.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series164.0ms (2.1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite81.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
57×egg-rr
Counts
2 → 57
Calls

2 calls:

79.0ms
((log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
120328
2235928
3496328
4507028
000
100

simplify51.0ms (0.6%)

Algorithm
egg-herbie
Rules
761×fma-def_binary32
627×associate-/l*_binary32
279×cancel-sign-sub-inv_binary32
235×sub-neg_binary32
163×distribute-rgt-in_binary32
Counts
105 → 105
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01601694
15101670
219681545
352601545

prune158.0ms (2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1360136
Fresh088
Picked011
Done000
Total1369145
Error
0b
Counts
145 → 9
Alt Table
StatusErrorProgram
0.3b
(log1p.f32 (fma.f32 (exp.f32 (*.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)))) (E.f32) -1))
0.3b
(log1p.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
29.9b
(-.f32 (fma.f32 1/3 (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 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 1/2 (*.f32 v (*.f32 u u)) (+.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))))))))
29.9b
(-.f32 (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v)))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)))))))
28.8b
(-.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))))))))
0.2b
(fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)
29.9b
(fma.f32 v (-.f32 (+.f32 (/.f32 (pow.f32 u 3) (exp.f32 (/.f32 -2 v))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 3))) (+.f32 (/.f32 (pow.f32 u 2) (exp.f32 (/.f32 -2 v))) (/.f32 u (exp.f32 (/.f32 -2 v)))))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 u 2) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (+.f32 u (*.f32 2 (/.f32 1 v)))))))) 1)
0.3b
(*.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) (pow.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) 2))
0.3b
(log1p.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))) (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))) (log.f32 (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
Compiler

Compiled 4196 to 3090 computations (26.4% saved)

localize64.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(log1p.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
0.1b
(exp.f32 (/.f32 -2 v))
0.2b
(log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))
0.8b
(expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))

series967.0ms (12.1%)

Counts
2 → 48
Calls

2 calls:

650.0ms
(log1p.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
316.0ms
(log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
42×egg-rr
Counts
2 → 42
Calls

2 calls:

60.0ms
((log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log1p.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01746
130713
2341013
3500213
000
100

simplify246.0ms (3.1%)

Algorithm
egg-herbie
Rules
814×fma-def_binary32
341×*-commutative_binary32
227×+-commutative_binary32
172×associate-+r+_binary32
149×associate-/l*_binary32
Counts
90 → 127
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
086714917
1322913522
2494913522
3497513522

prune1.1s (13.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3810381
Fresh077
Picked011
Done011
Total3819390
Error
0b
Counts
390 → 9
Alt Table
StatusErrorProgram
0.3b
(log1p.f32 (fma.f32 (exp.f32 (*.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)))) (E.f32) -1))
0.3b
(log1p.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1))))) (log.f32 (sqrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
29.9b
(-.f32 (fma.f32 1/3 (/.f32 (*.f32 v (pow.f32 u 3)) (pow.f32 (exp.f32 (/.f32 -2 v)) 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 1/2 (*.f32 v (*.f32 u u)) (+.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))))))))
29.9b
(-.f32 (+.f32 (/.f32 (*.f32 v u) (exp.f32 (/.f32 -2 v))) (/.f32 (*.f32 v (*.f32 u u)) (exp.f32 (/.f32 -2 v)))) (fma.f32 (*.f32 v (*.f32 u u)) 1/2 (+.f32 1 (fma.f32 v u (*.f32 1/2 (/.f32 (*.f32 v (*.f32 u u)) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)))))))
28.8b
(-.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))))))))
0.2b
(fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)
29.9b
(fma.f32 v (-.f32 (+.f32 (/.f32 (pow.f32 u 3) (exp.f32 (/.f32 -2 v))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 3))) (+.f32 (/.f32 (pow.f32 u 2) (exp.f32 (/.f32 -2 v))) (/.f32 u (exp.f32 (/.f32 -2 v)))))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 u 2) (pow.f32 (exp.f32 (/.f32 -2 v)) 2))) (+.f32 (*.f32 1/3 (pow.f32 u 3)) (+.f32 (*.f32 1/2 (pow.f32 u 2)) (+.f32 (/.f32 (pow.f32 u 3) (pow.f32 (exp.f32 (/.f32 -2 v)) 2)) (+.f32 u (*.f32 2 (/.f32 1 v)))))))) 1)
0.3b
(*.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) (pow.f32 (cbrt.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)) 2))
0.3b
(log1p.f32 (+.f32 (log.f32 (*.f32 (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))) (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))) (log.f32 (cbrt.f32 (exp.f32 (expm1.f32 (fma.f32 v (log.f32 (fma.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 u) u)) 1)))))))
Compiler

Compiled 40909 to 32761 computations (19.9% saved)

regimes850.0ms (10.6%)

Accuracy

Total 0.1b remaining (79.2%)

Threshold costs 0.1b (79.2%)

Counts
166 → 1
Compiler

Compiled 18584 to 13960 computations (24.9% 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
01525
12125
22525
32725
42825
52725

end265.0ms (3.3%)

Compiler

Compiled 500 to 358 computations (28.4% saved)

Profiling

Loading profile data...