Details

Time bar (total: 6.4s)

analyze171.0ms (2.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)

sample42.0ms (0.6%)

Algorithm
intervals
Results
21.0ms256×body128valid
5.0ms256×pre128true
Compiler

Compiled 65 to 33 computations (49.2% saved)

simplify76.0ms (1.2%)

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.1b
Counts
3 → 2
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.1b
(/.f32 (/.f32 1 s) (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
Compiler

Compiled 142 to 75 computations (47.2% saved)

localize49.0ms (0.8%)

Local error

Found 4 expressions with local error:

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

series108.0ms (1.7%)

Counts
4 → 80
Calls

4 calls:

73.0ms
(/.f32 (/.f32 1 s) (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
13.0ms
(+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)
13.0ms
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
10.0ms
(exp.f32 (/.f32 (fabs.f32 x) s))

rewrite68.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
194×times-frac_binary32
181×*-un-lft-identity_binary32
118×add-sqr-sqrt_binary32
109×add-cube-cbrt_binary32
83×exp-prod_binary32
Counts
4 → 226
Calls

4 calls:

21.0ms
(/.f32 (/.f32 1 s) (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
10.0ms
(+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)
7.0ms
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
4.0ms
(exp.f32 (/.f32 (fabs.f32 x) s))

simplify251.0ms (3.9%)

Algorithm
egg-herbie
Rules
512×times-frac_binary32
341×associate-/l*_binary32
335×associate-/r*_binary32
292×distribute-rgt-in_binary32
268×distribute-lft-in_binary32
Counts
306 → 305
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03117856
16537564
216367474
345917474
449657474
549147474

prune417.0ms (6.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3014305
Fresh101
Picked101
Done000
Total3034307
Error
0.0b
Counts
307 → 4
Alt Table
StatusErrorProgram
0.8b
(exp.f32 (-.f32 (neg.f32 (log.f32 s)) (log.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))))
0.1b
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
0.1b
(*.f32 (/.f32 1 (sqrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s))))))) (/.f32 (/.f32 1 s) (sqrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s))))))))
0.1b
(/.f32 1 (fma.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2) s (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))))
Compiler

Compiled 9163 to 3605 computations (60.7% saved)

localize54.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
0.0b
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
0.1b
(exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s)))
8.7b
(sqrt.f32 (/.f32 (fabs.f32 x) s))

series580.0ms (9%)

Counts
3 → 18
Calls

3 calls:

534.0ms
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
27.0ms
(exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s)))
19.0ms
(sqrt.f32 (/.f32 (fabs.f32 x) s))

rewrite56.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
164×times-frac_binary32
158×*-un-lft-identity_binary32
101×add-sqr-sqrt_binary32
88×add-cube-cbrt_binary32
50×sqrt-prod_binary32
Counts
3 → 183
Calls

3 calls:

19.0ms
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
5.0ms
(exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s)))
3.0ms
(sqrt.f32 (/.f32 (fabs.f32 x) s))

simplify176.0ms (2.7%)

Algorithm
egg-herbie
Rules
667×associate-+l+_binary32
527×associate-/l*_binary32
329×associate-*r/_binary32
258×associate-/r/_binary32
245×distribute-rgt-in_binary32
Counts
201 → 215
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02387949
14326063
29395987
325565982
453215982

prune441.0ms (6.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3641365
Fresh123
Picked011
Done000
Total3654369
Error
0b
Counts
369 → 4
Alt Table
StatusErrorProgram
0.1b
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
0.1b
(/.f32 (/.f32 (/.f32 1 s) (*.f32 (cbrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))) (cbrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))))) (cbrt.f32 (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2))))
0.1b
(*.f32 (/.f32 1 (sqrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s))))))) (/.f32 (/.f32 1 s) (sqrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s))))))))
0.1b
(/.f32 1 (fma.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2) s (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))))
Compiler

Compiled 13367 to 4187 computations (68.7% saved)

localize39.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2)
0.0b
(/.f32 1 (fma.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2) s (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))))
0.0b
(exp.f32 (/.f32 (fabs.f32 x) s))
0.0b
(/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))

series155.0ms (2.4%)

Counts
3 → 40
Calls

3 calls:

109.0ms
(/.f32 1 (fma.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2) s (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))))
27.0ms
(/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))
19.0ms
(+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2)

rewrite27.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary32
20×add-sqr-sqrt_binary32
20×add-cube-cbrt_binary32
18×times-frac_binary32
add-exp-log_binary32
Counts
3 → 79
Calls

3 calls:

12.0ms
(/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))
7.0ms
(+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2)
4.0ms
(/.f32 1 (fma.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 2) s (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))))

simplify115.0ms (1.8%)

Algorithm
egg-herbie
Rules
449×cancel-sign-sub-inv_binary32
367×fma-neg_binary32
247×unswap-sqr_binary32
246×associate-/l*_binary32
242×times-frac_binary32
Counts
119 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01743160
13682863
28772846
329792846
449252846
549372846

prune271.0ms (4.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2311232
Fresh112
Picked101
Done011
Total2333236
Error
0b
Counts
236 → 3
Alt Table
StatusErrorProgram
0.1b
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
0.1b
(/.f32 (/.f32 (/.f32 1 s) (*.f32 (cbrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))) (cbrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))))) (cbrt.f32 (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2))))
0.0b
(/.f32 1 (+.f32 (*.f32 2 s) (+.f32 (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) s))))
Compiler

Compiled 6341 to 2230 computations (64.8% saved)

localize47.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

series123.0ms (1.9%)

Counts
2 → 32
Calls

2 calls:

110.0ms
(/.f32 1 (+.f32 (*.f32 2 s) (+.f32 (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) s))))
12.0ms
(*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) s)

rewrite23.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary32
12×*-un-lft-identity_binary32
12×add-cube-cbrt_binary32
times-frac_binary32
add-exp-log_binary32
Counts
2 → 55
Calls

2 calls:

12.0ms
(/.f32 1 (+.f32 (*.f32 2 s) (+.f32 (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) s))))
8.0ms
(*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) s)

simplify109.0ms (1.7%)

Algorithm
egg-herbie
Rules
460×fma-neg_binary32
424×cancel-sign-sub-inv_binary32
318×associate-*l*_binary32
282×associate-*r*_binary32
267×fma-def_binary32
Counts
87 → 96
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01322670
13122396
29072384
331792384
449392384
550122384

prune276.0ms (4.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2370237
Fresh011
Picked011
Done011
Total2373240
Error
0b
Counts
240 → 3
Alt Table
StatusErrorProgram
0.1b
(/.f32 (/.f32 1 s) (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2)))
0.1b
(/.f32 (/.f32 (/.f32 1 s) (*.f32 (cbrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))) (cbrt.f32 (+.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 2 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))))) (cbrt.f32 (+.f32 (pow.f32 (exp.f32 (sqrt.f32 (/.f32 (fabs.f32 x) s))) (sqrt.f32 (/.f32 (fabs.f32 x) s))) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 2))))
0.0b
(/.f32 1 (+.f32 (*.f32 2 s) (+.f32 (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) s))))
Compiler

Compiled 7223 to 2467 computations (65.8% saved)

regimes1.4s (21.9%)

Accuracy

Total 0.0b remaining (21.6%)

Threshold costs 0.0b (21.6%)

Counts
251 → 1
Compiler

Compiled 32145 to 19741 computations (38.6% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
*-commutative_binary32
1-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01637
12237
22137

end1.0ms (0%)

Compiler

Compiled 25 to 15 computations (40% saved)

sample1.3s (20.9%)

Algorithm
intervals
Results
633.0ms8000×body128valid
149.0ms8000×pre128true
Compiler

Compiled 172 to 94 computations (45.3% saved)

Profiling

Loading profile data...