Details

Time bar (total: 15.8s)

analyze255.0ms (1.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%1.6%98.4%0
0%1.6%98.4%1
0%1.6%98.4%2
0.4%1.2%98.4%3
0.6%1%98.4%4
0.9%0.7%98.4%5
1%0.5%98.4%6
1.2%0.4%98.4%7
1.3%0.3%98.4%8
1.4%0.2%98.4%9
1.4%0.1%98.4%10
1.5%0.1%98.4%11
1.5%0.1%98.4%12
1.5%0%98.4%13
1.5%0%98.4%14
Compiler

Compiled 54 to 41 computations (24.1% saved)

sample2.3s (14.8%)

Results
2.2s8256×body128valid
Compiler

Compiled 147 to 112 computations (23.8% saved)

simplify74.0ms (0.5%)

Algorithm
egg-herbie
Rules
1145×fma-def_binary32
518×unswap-sqr_binary32
445×fma-neg_binary32
420×times-frac_binary32
354×associate-*l*_binary32
Counts
1 → 2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02259
14259
27259
312051
417948
531946
650546
778846
8124946
9258446
10441946
11483246
12482746

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Compiler

Compiled 127 to 93 computations (26.8% saved)

localize76.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f32 (/.f32 (PI.f32) s))
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
0.3b
(/.f32 (PI.f32) s)
0.3b
(/.f32 (neg.f32 (PI.f32)) s)

series766.0ms (4.8%)

Counts
4 → 44
Calls

4 calls:

755.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
5.0ms
(/.f32 (neg.f32 (PI.f32)) s)
3.0ms
(exp.f32 (/.f32 (PI.f32) s))
2.0ms
(/.f32 (PI.f32) s)

rewrite68.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
250×add-sqr-sqrt_binary32
237×log1p-expm1-u_binary32
237×expm1-log1p-u_binary32
234×add-log-exp_binary32
231×add-exp-log_binary32
Counts
4 → 80
Calls

4 calls:

67.0ms
(exp.f32 (/.f32 (PI.f32) s))
67.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
67.0ms
(/.f32 (PI.f32) s)
67.0ms
(/.f32 (neg.f32 (PI.f32)) s)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02265
149665
2496965
3523165
000
100

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
668×times-frac_binary32
443×associate-/r*_binary32
423×associate-/l*_binary32
279×fma-def_binary32
219×associate-*l*_binary32
Counts
124 → 120
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03875134
114085028
249875028

prune257.0ms (1.6%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1155120
Fresh000
Picked101
Done000
Total1165121
Error
0.3b
Counts
121 → 5
Alt Table
StatusErrorProgram
31.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
17.6b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
Compiler

Compiled 8307 to 4762 computations (42.7% saved)

localize85.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s))
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
0.3b
(/.f32 (neg.f32 (PI.f32)) s)
1.6b
(exp.f32 (PI.f32))

series708.0ms (4.5%)

Counts
3 → 36
Calls

3 calls:

704.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
3.0ms
(pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s))
0.0ms
(exp.f32 (PI.f32))

rewrite38.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
263×add-sqr-sqrt_binary32
250×log1p-expm1-u_binary32
250×expm1-log1p-u_binary32
246×add-log-exp_binary32
243×add-exp-log_binary32
Counts
3 → 49
Calls

3 calls:

37.0ms
(pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s))
37.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
37.0ms
(exp.f32 (PI.f32))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02363
152163
2517863
000
100

simplify122.0ms (0.8%)

Algorithm
egg-herbie
Rules
668×times-frac_binary32
443×associate-/r*_binary32
423×associate-/l*_binary32
279×fma-def_binary32
219×associate-*l*_binary32
Counts
85 → 91
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03875078
114084972
249874972

prune187.0ms (1.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1150115
Fresh044
Picked011
Done000
Total1155120
Error
0.3b
Counts
120 → 5
Alt Table
StatusErrorProgram
31.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
17.6b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
Compiler

Compiled 8238 to 4843 computations (41.2% saved)

localize83.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
0.3b
(/.f32 (PI.f32) s)
0.3b
(/.f32 (neg.f32 (PI.f32)) s)
0.5b
(pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)

series3.8s (24%)

Counts
2 → 14
Calls

2 calls:

3.8s
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
11.0ms
(pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)

rewrite35.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
266×add-sqr-sqrt_binary32
256×log1p-expm1-u_binary32
256×expm1-log1p-u_binary32
252×add-log-exp_binary32
249×add-exp-log_binary32
Counts
2 → 37
Calls

2 calls:

34.0ms
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
34.0ms
(pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02551
154351
2517651
000
100

simplify61.0ms (0.4%)

Algorithm
egg-herbie
Rules
594×times-frac_binary32
390×associate-/r*_binary32
361×associate-+r+_binary32
339×associate-/l*_binary32
237×associate-*r*_binary32
Counts
51 → 60
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02693596
110413498
253873498

prune159.0ms (1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1070107
Fresh033
Picked011
Done011
Total1075112
Error
0.3b
Counts
112 → 5
Alt Table
StatusErrorProgram
31.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
17.6b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
Compiler

Compiled 7471 to 4223 computations (43.5% saved)

localize90.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
0.3b
(/.f32 (PI.f32) s)
0.3b
(/.f32 (neg.f32 (PI.f32)) s)
0.7b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)

series5.3s (33.8%)

Counts
1 → 24
Calls

1 calls:

5.3s
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)

rewrite60.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
257×log1p-expm1-u_binary32
257×expm1-log1p-u_binary32
252×add-log-exp_binary32
249×add-cbrt-cube_binary32
249×add-exp-log_binary32
Counts
1 → 19
Calls

1 calls:

59.0ms
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02546
154446
2483946
3488846
000
100

simplify277.0ms (1.8%)

Algorithm
egg-herbie
Rules
886×fma-def_binary32
372×*-commutative_binary32
266×+-commutative_binary32
240×associate-+r+_binary32
179×distribute-rgt-in_binary32
Counts
43 → 59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096910964
1341210605
2497610271
3494310177
4499410177
5496610177

prune372.0ms (2.4%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1532155
Fresh022
Picked011
Done022
Total1537160
Error
0.2b
Counts
160 → 7
Alt Table
StatusErrorProgram
31.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (pow.f32 (sqrt.f32 (/.f32 (PI.f32) s)) 2)))))) -1)))
0.4b
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) (/.f32 1 s)))))) -1)))
17.6b
(cbrt.f32 (*.f32 (pow.f32 (neg.f32 s) 3) (pow.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)) 3)))
1.5b
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))) 2) 3) (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))))
0.9b
(*.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) (pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 2))
0.9b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))) 3)
Compiler

Compiled 21436 to 12573 computations (41.3% saved)

regimes269.0ms (1.7%)

Accuracy

Total 0.2b remaining (44.1%)

Threshold costs 0.2b (44.1%)

Counts
33 → 1
Compiler

Compiled 5298 to 3449 computations (34.9% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02349
14049
25449
36549
47049
57149
67049

end202.0ms (1.3%)

Compiler

Compiled 358 to 278 computations (22.3% saved)

Profiling

Loading profile data...