Details

Time bar (total: 6.1s)

analyze156.0ms (2.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%2.1%97.9%0
0%2.1%97.9%1
1%1%97.9%2
1%1%97.9%3
1.5%0.5%97.9%4
1.5%0.5%97.9%5
1.8%0.3%97.9%6
1.8%0.3%97.9%7
1.9%0.1%97.9%8
1.9%0.1%97.9%9
2%0.1%97.9%10
2%0.1%97.9%11
2%0%97.9%12
2%0%97.9%13
2%0%97.9%14
Compiler

Compiled 44 to 32 computations (27.3% saved)

sample55.0ms (0.9%)

Algorithm
intervals
Results
31.0ms256×body128valid
7.0ms256×pre128true
Compiler

Compiled 81 to 59 computations (27.2% saved)

simplify74.0ms (1.2%)

Algorithm
egg-herbie
Rules
672×fma-neg_binary32
634×associate-*l*_binary32
530×associate-*r*_binary32
445×associate-/r*_binary32
406×*-commutative_binary32
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02653
16643
223735
386432
4257232
5389032
6429332
7487132
8487032

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (*.f32 6 PI.f32) s) r)))
0.5b
(*.f32 (/.f32 (/.f32 1/8 (*.f32 s PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 (/.f32 r s)) -1/3)))
Compiler

Compiled 136 to 98 computations (27.9% saved)

localize127.0ms (2.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (*.f32 (*.f32 6 PI.f32) s) r)
0.3b
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
0.3b
(/.f32 (neg.f32 r) (*.f32 3 s))
0.3b
(*.f32 (*.f32 2 PI.f32) s)

rewrite232.0ms (3.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
62×pow1_binary32
40×pow-prod-down_binary32
36×add-exp-log_binary32
28×add-sqr-sqrt_binary32
22×add-cbrt-cube_binary32
Counts
4 → 164
Calls

4 calls:

16.0ms
(/.f32 (neg.f32 r) (*.f32 3 s))
16.0ms
(*.f32 (*.f32 (*.f32 6 PI.f32) s) r)
15.0ms
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
14.0ms
(*.f32 (*.f32 2 PI.f32) s)
Compiler

Compiled 5102 to 3059 computations (40% saved)

series62.0ms (1%)

Error
0.1b
Counts
4 → 21
Calls

4 calls:

17.0ms
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
17.0ms
(*.f32 (*.f32 (*.f32 6 PI.f32) s) r)
15.0ms
(/.f32 (neg.f32 r) (*.f32 3 s))
8.0ms
(*.f32 (*.f32 2 PI.f32) s)
Compiler

Compiled 1591 to 1130 computations (29% saved)

simplify151.0ms (2.5%)

Algorithm
egg-herbie
Rules
419×unswap-sqr_binary32
321×associate-*l*_binary32
303×fma-def_binary32
278×distribute-rgt-neg-out_binary32
277×associate-*r*_binary32
Counts
185 → 103
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01831918
14601629
220041629
348651629
449801629

prune155.0ms (2.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1003103
Fresh011
Picked101
Done000
Total1014105
Error
0.0b
Counts
105 → 4
Alt Table
StatusErrorProgram
0.5b
(*.f32 (/.f32 (/.f32 1/8 (*.f32 s PI.f32)) r) (+.f32 (exp.f32 (/.f32 (neg.f32 r) s)) (pow.f32 (exp.f32 (/.f32 r s)) -1/3)))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (*.f32 (*.f32 (*.f32 6 PI.f32) s) r)))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6))) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (exp.f32 (log.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
Compiler

Compiled 2980 to 1728 computations (42% saved)

localize80.0ms (1.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (*.f32 (*.f32 6 PI.f32) s) r)
0.3b
(/.f32 (/.f32 (neg.f32 r) s) 3)
0.3b
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
0.3b
(*.f32 (*.f32 2 PI.f32) s)

rewrite282.0ms (4.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
62×pow1_binary32
40×pow-prod-down_binary32
36×add-exp-log_binary32
28×add-sqr-sqrt_binary32
27×add-cube-cbrt_binary32
Counts
4 → 163
Calls

4 calls:

22.0ms
(/.f32 (/.f32 (neg.f32 r) s) 3)
17.0ms
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
15.0ms
(*.f32 (*.f32 (*.f32 6 PI.f32) s) r)
14.0ms
(*.f32 (*.f32 2 PI.f32) s)
Compiler

Compiled 5153 to 2946 computations (42.8% saved)

series65.0ms (1.1%)

Error
0.0b
Counts
4 → 21
Calls

4 calls:

18.0ms
(*.f32 (*.f32 (*.f32 6 PI.f32) s) r)
17.0ms
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
16.0ms
(/.f32 (/.f32 (neg.f32 r) s) 3)
8.0ms
(*.f32 (*.f32 2 PI.f32) s)
Compiler

Compiled 1591 to 1097 computations (31% saved)

simplify125.0ms (2%)

Algorithm
egg-herbie
Rules
945×fma-def_binary32
444×times-frac_binary32
357×unswap-sqr_binary32
296×associate-*l*_binary32
236×associate-*r*_binary32
Counts
184 → 101
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01911957
14521671
217631661
347741661
455691661

prune115.0ms (1.9%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New992101
Fresh213
Picked101
Done000
Total1023105
Error
0.0b
Counts
105 → 3
Alt Table
StatusErrorProgram
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (exp.f32 (log.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6))) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
Compiler

Compiled 2870 to 1604 computations (44.1% saved)

localize79.0ms (1.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
0.3b
(*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)
0.3b
(*.f32 (*.f32 2 PI.f32) s)
0.3b
(*.f32 PI.f32 r)

rewrite279.0ms (4.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
69×pow1_binary32
45×pow-prod-down_binary32
34×add-exp-log_binary32
32×add-sqr-sqrt_binary32
20×add-cbrt-cube_binary32
Counts
4 → 144
Calls

4 calls:

19.0ms
(*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)
18.0ms
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
14.0ms
(*.f32 PI.f32 r)
14.0ms
(*.f32 (*.f32 2 PI.f32) s)
Compiler

Compiled 4310 to 2241 computations (48% saved)

series53.0ms (0.9%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

17.0ms
(*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)
17.0ms
(*.f32 (*.f32 (*.f32 2 PI.f32) s) r)
7.0ms
(*.f32 (*.f32 2 PI.f32) s)
6.0ms
(*.f32 PI.f32 r)
Compiler

Compiled 1394 to 910 computations (34.7% saved)

simplify183.0ms (3%)

Algorithm
egg-herbie
Rules
603×fma-def_binary32
455×unswap-sqr_binary32
427×log-prod_binary32
382×prod-exp_binary32
294×associate-*l*_binary32
Counts
162 → 91
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01501562
13241400
213391388
331631388
447351388
549661388
649861388
749931388
849851388

prune100.0ms (1.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New90191
Fresh022
Picked011
Done000
Total90494
Error
0.0b
Counts
94 → 4
Alt Table
StatusErrorProgram
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (exp.f32 (log.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6))) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (*.f32 (*.f32 s (*.f32 (sqrt.f32 (*.f32 PI.f32 r)) (sqrt.f32 (*.f32 PI.f32 r)))) 6)))
Compiler

Compiled 2424 to 1275 computations (47.4% saved)

localize112.0ms (1.8%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (*.f32 2 PI.f32) s)
0.3b
(*.f32 PI.f32 r)
0.3b
(*.f32 PI.f32 r)
0.5b
(*.f32 (sqrt.f32 (*.f32 PI.f32 r)) (sqrt.f32 (*.f32 PI.f32 r)))

rewrite523.0ms (8.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
40×pow1_binary32
37×add-sqr-sqrt_binary32
26×add-exp-log_binary32
23×pow-prod-down_binary32
21×add-cube-cbrt_binary32
Counts
4 → 159
Calls

4 calls:

16.0ms
(*.f32 (sqrt.f32 (*.f32 PI.f32 r)) (sqrt.f32 (*.f32 PI.f32 r)))
15.0ms
(*.f32 (*.f32 2 PI.f32) s)
15.0ms
(*.f32 PI.f32 r)
13.0ms
(*.f32 PI.f32 r)
Compiler

Compiled 5266 to 2411 computations (54.2% saved)

series32.0ms (0.5%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

8.0ms
(*.f32 PI.f32 r)
7.0ms
(*.f32 (*.f32 2 PI.f32) s)
7.0ms
(*.f32 (sqrt.f32 (*.f32 PI.f32 r)) (sqrt.f32 (*.f32 PI.f32 r)))
6.0ms
(*.f32 PI.f32 r)
Compiler

Compiled 1081 to 690 computations (36.2% saved)

simplify100.0ms (1.6%)

Algorithm
egg-herbie
Rules
703×prod-exp_binary32
396×unswap-sqr_binary32
359×*-commutative_binary32
339×exp-prod_binary32
317×fma-def_binary32
Counts
171 → 79
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01221230
12301114
28161096
318111085
440501071
550381071

prune93.0ms (1.5%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New79079
Fresh022
Picked011
Done011
Total79483
Error
0.0b
Counts
83 → 4
Alt Table
StatusErrorProgram
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (exp.f32 (log.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (neg.f32 r) (*.f32 3 s)))) (*.f32 (*.f32 (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6))) (cbrt.f32 (*.f32 (*.f32 s (*.f32 PI.f32 r)) 6)))))
0.1b
(+.f32 (/.f32 (*.f32 1/4 (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 2 PI.f32) s) r)) (/.f32 (*.f32 3/4 (exp.f32 (/.f32 (/.f32 (neg.f32 r) s) 3))) (*.f32 (*.f32 s (*.f32 (sqrt.f32 (*.f32 PI.f32 r)) (sqrt.f32 (*.f32 PI.f32 r)))) 6)))
Compiler

Compiled 2118 to 1043 computations (50.8% saved)

regimes1.0s (16.7%)

Accuracy

Total 0.0b remaining (25%)

Threshold costs 0.0b (25%)

Compiler

Compiled 26908 to 18532 computations (31.1% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02867
14467
25067
35567
45867
55967
65967

end1.0ms (0%)

Compiler

Compiled 42 to 27 computations (35.7% saved)

sample1.9s (30.4%)

Algorithm
intervals
Results
1.1s8000×body128valid
212.0ms8000×pre128true
Compiler

Compiled 255 to 171 computations (32.9% saved)

Profiling

Loading profile data...