Details

Time bar (total: 6.3s)

analyze109.0ms (1.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%24.7%75.3%0
0%24.7%75.3%1
0%24.7%75.3%2
12.4%12.4%75.3%3
12.4%12.4%75.3%4
18.5%6.2%75.3%5
18.5%6.2%75.3%6
21.6%3.1%75.3%7
21.6%3.1%75.3%8
23.2%1.5%75.3%9
23.2%1.5%75.3%10
23.9%0.8%75.3%11
23.9%0.8%75.3%12
24.3%0.4%75.3%13
24.3%0.4%75.3%14
Compiler

Compiled 35 to 18 computations (48.6% saved)

sample1.6s (25.5%)

Results
1.5s8256×body128valid
Compiler

Compiled 98 to 49 computations (50% saved)

simplify89.0ms (1.4%)

Algorithm
egg-herbie
Rules
505×fma-def_binary32
440×times-frac_binary32
349×distribute-rgt-in_binary32
300×fma-neg_binary32
273×distribute-rgt-out_binary32
Counts
1 → 2
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01243
13843
28241
318141
435739
577230
6229229
7334129
8424329
9492229
10487529

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(/.f32 (/.f32 1 s) (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
0.1b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Compiler

Compiled 142 to 75 computations (47.2% saved)

localize40.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
0.0b
(*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
0.0b
(*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
0.0b
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))

series157.0ms (2.5%)

Counts
4 → 96
Calls

4 calls:

109.0ms
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
26.0ms
(*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
13.0ms
(*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
10.0ms
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))

rewrite92.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
726×prod-diff_binary32
198×log1p-udef_binary32
135×add-sqr-sqrt_binary32
129×egg-rr
126×add-log-exp_binary32
Counts
4 → 129
Calls

4 calls:

89.0ms
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
89.0ms
(*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
89.0ms
(*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
89.0ms
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
012100
126756
2316356
3494756

simplify118.0ms (1.9%)

Algorithm
egg-herbie
Rules
584×fma-neg_binary32
372×unswap-sqr_binary32
318×distribute-rgt-neg-in_binary32
290×times-frac_binary32
280×distribute-neg-frac_binary32
Counts
225 → 170
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0831990
12451934
26781858
328861848
447411848
548651840
650461840

prune288.0ms (4.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2264230
Fresh101
Picked011
Done000
Total2275232
Error
0.0b
Counts
232 → 5
Alt Table
StatusErrorProgram
0.1b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
0.0b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 s (+.f32 1 (+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)))))
11.6b
(/.f32 (exp.f32 (/.f32 x s)) (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))
4.7b
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
11.6b
(*.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 x s))) 2) (*.f32 (cbrt.f32 (exp.f32 (/.f32 x s))) (/.f32 (/.f32 1 s) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))))
Compiler

Compiled 6447 to 2481 computations (61.5% saved)

localize77.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2))
0.0b
(exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))
0.0b
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
0.0b
(pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)

series58.0ms (0.9%)

Counts
3 → 24
Calls

3 calls:

29.0ms
(+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2))
18.0ms
(pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)
10.0ms
(exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))

rewrite103.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
879×prod-diff_binary32
351×fma-def_binary32
218×fma-neg_binary32
184×expm1-udef_binary32
184×log1p-udef_binary32
Counts
3 → 100
Calls

3 calls:

101.0ms
(+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2))
101.0ms
(exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))
101.0ms
(pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01249
125532
2263732
3485032
4504732

simplify36.0ms (0.6%)

Algorithm
egg-herbie
Rules
706×associate-/r*_binary32
568×fma-def_binary32
310×fma-neg_binary32
262×associate-/r/_binary32
256×distribute-rgt-neg-in_binary32
Counts
124 → 119
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042478
1133450
2412416
31753400
45549400

prune243.0ms (3.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1840184
Fresh033
Picked011
Done011
Total1845189
Error
0.0b
Counts
189 → 5
Alt Table
StatusErrorProgram
0.1b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
0.0b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 s (+.f32 1 (+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)))))
11.6b
(/.f32 (exp.f32 (/.f32 x s)) (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))
4.7b
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
11.6b
(*.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 x s))) 2) (*.f32 (cbrt.f32 (exp.f32 (/.f32 x s))) (/.f32 (/.f32 1 s) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))))
Compiler

Compiled 6111 to 2854 computations (53.3% saved)

localize38.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)
0.7b
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
0.9b
(log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))
4.0b
(-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))))

series596.0ms (9.5%)

Counts
4 → 96
Calls

4 calls:

443.0ms
(log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))
108.0ms
(-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))))
35.0ms
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
9.0ms
(pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)

rewrite107.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
740×prod-diff_binary32
228×log1p-udef_binary32
209×egg-rr
130×add-sqr-sqrt_binary32
127×log1p-expm1-u_binary32
Counts
4 → 209
Calls

4 calls:

101.0ms
(pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)
101.0ms
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
101.0ms
(log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))
101.0ms
(-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01375
127273
2330273
3507473

simplify108.0ms (1.7%)

Algorithm
egg-herbie
Rules
744×times-frac_binary32
561×fma-neg_binary32
353×associate-/l*_binary32
345×fma-def_binary32
314×associate-/r*_binary32
Counts
305 → 282
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01482384
14592203
213602013
340871950
449321950
550331950

prune236.0ms (3.8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2811282
Fresh202
Picked011
Done022
Total2834287
Error
0.0b
Counts
287 → 4
Alt Table
StatusErrorProgram
0.1b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
0.0b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 s (+.f32 1 (+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)))))
4.7b
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
11.6b
(/.f32 (/.f32 (exp.f32 (/.f32 x s)) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)) s)
Compiler

Compiled 8902 to 4217 computations (52.6% saved)

localize30.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f32 (exp.f32 (/.f32 x s)) 1)
0.0b
(exp.f32 (/.f32 x s))
0.1b
(pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)
1.1b
(/.f32 (exp.f32 (/.f32 x s)) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))

series59.0ms (0.9%)

Counts
3 → 60
Calls

3 calls:

49.0ms
(/.f32 (exp.f32 (/.f32 x s)) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))
5.0ms
(+.f32 (exp.f32 (/.f32 x s)) 1)
5.0ms
(exp.f32 (/.f32 x s))

rewrite97.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
493×prod-diff_binary32
477×log-prod_binary32
176×expm1-udef_binary32
176×log1p-udef_binary32
159×fma-def_binary32
Counts
3 → 111
Calls

3 calls:

95.0ms
(+.f32 (exp.f32 (/.f32 x s)) 1)
95.0ms
(exp.f32 (/.f32 x s))
95.0ms
(/.f32 (exp.f32 (/.f32 x s)) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01035
121334
2251734
3494734
4545134

simplify63.0ms (1%)

Algorithm
egg-herbie
Rules
947×fma-neg_binary32
723×fma-def_binary32
333×cancel-sign-sub-inv_binary32
296×times-frac_binary32
287×associate-/r/_binary32
Counts
171 → 134
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0501002
1130978
2365948
31744903
44499903
55286903

prune217.0ms (3.5%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New2150215
Fresh000
Picked011
Done033
Total2154219
Error
0.0b
Counts
219 → 4
Alt Table
StatusErrorProgram
0.1b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
0.0b
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 s (+.f32 1 (+.f32 (*.f32 2 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s)))) (pow.f32 (exp.f32 (*.f32 -1 (/.f32 (fabs.f32 x) s))) 2)))))
4.7b
(exp.f32 (-.f32 (/.f32 x s) (log.f32 (*.f32 s (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)))))
11.6b
(/.f32 (/.f32 (exp.f32 (/.f32 x s)) (pow.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) 2)) s)
Compiler

Compiled 4834 to 2262 computations (53.2% saved)

regimes1.3s (21.5%)

Accuracy

Total 0.0b remaining (33.3%)

Threshold costs 0.0b (33.3%)

Counts
259 → 1
Compiler

Compiled 30222 to 19423 computations (35.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
*-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
distribute-frac-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01946
12846
23146
33346
43446
53346

end349.0ms (5.6%)

Compiler

Compiled 155 to 87 computations (43.9% saved)

Profiling

Loading profile data...