Details

Time bar (total: 11.3s)

analyze602.0ms (5.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.1%99.9%0
0%0.1%99.9%1
0%0.1%99.9%2
0%0.1%99.9%3
0%0%99.9%4
0%0%99.9%5
0%0%99.9%6
0.1%0%99.9%7
0.1%0%99.9%8
0.1%0%99.9%9
0.1%0%99.9%10
0.1%0%99.9%11
0.1%0%99.9%12
0.1%0%99.9%13
0.1%0%99.9%14
Compiler

Compiled 51 to 37 computations (27.5% saved)

sample2.7s (23.9%)

Results
2.5s8256×body128valid
Compiler

Compiled 130 to 94 computations (27.7% saved)

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Rules
743×sub-neg_binary32
674×fma-neg_binary32
386×associate--l-_binary32
316×distribute-rgt-in_binary32
286×unsub-neg_binary32
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01739
14135
211735
343133
4175533
5413533
6496633

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
Compiler

Compiled 156 to 110 computations (29.5% saved)

localize58.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))
0.2b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
0.4b
(*.f32 (*.f32 uy 2) (PI.f32))
13.7b
(fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)

series260.0ms (2.3%)

Counts
4 → 88
Calls

4 calls:

147.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
97.0ms
(sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))
13.0ms
(fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)
3.0ms
(*.f32 (*.f32 uy 2) (PI.f32))

rewrite74.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
316×expm1-udef_binary32
315×log1p-udef_binary32
177×add-sqr-sqrt_binary32
166×log1p-expm1-u_binary32
166×expm1-log1p-u_binary32
Counts
4 → 85
Calls

4 calls:

72.0ms
(sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))
72.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))
72.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
72.0ms
(fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01781
135381
2424681
3510681
000
100

simplify124.0ms (1.1%)

Algorithm
egg-herbie
Rules
561×fma-def_binary32
414×associate-*r*_binary32
293×associate-*l*_binary32
230×times-frac_binary32
205×associate--r+_binary32
Counts
173 → 189
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04258582
115027608
251837608

prune343.0ms (3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1809189
Fresh101
Picked101
Done000
Total1829191
Error
0.1b
Counts
191 → 9
Alt Table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (expm1.f32 (log1p.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))
5.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (fma.f32 1/2 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 6)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5)))) (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (fma.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5)))))))))))
5.0b
(sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))
1.2b
(-.f32 (+.f32 (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))) (+.f32 (*.f32 4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))))) (*.f32 2 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 uy 2)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))))
0.9b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (exp.f32 (*.f32 1/2 (log1p.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (/.f32 (+.f32 (pow.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 3) 1) (+.f32 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 1 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 1))))))
13.1b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))) 1)
Compiler

Compiled 13544 to 9065 computations (33.1% saved)

localize163.0ms (1.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f32 (*.f32 ux (-.f32 2 ux)) 3)
0.7b
(*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))
1.0b
(fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))
1.8b
(*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos))

series274.0ms (2.4%)

Counts
4 → 72
Calls

4 calls:

149.0ms
(fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))
83.0ms
(*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos))
35.0ms
(*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))
4.0ms
(pow.f32 (*.f32 ux (-.f32 2 ux)) 3)

rewrite68.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
282×log1p-expm1-u_binary32
282×expm1-log1p-u_binary32
274×add-cbrt-cube_binary32
273×add-log-exp_binary32
272×add-exp-log_binary32
Counts
4 → 61
Calls

4 calls:

66.0ms
(pow.f32 (*.f32 ux (-.f32 2 ux)) 3)
66.0ms
(*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))))
66.0ms
(fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))
66.0ms
(*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028127
1624109
25064109
000
100

simplify98.0ms (0.9%)

Algorithm
egg-herbie
Rules
721×associate-/r*_binary32
515×associate-/l*_binary32
321×cancel-sign-sub-inv_binary32
224×fma-neg_binary32
184×sub-neg_binary32
Counts
133 → 129
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01733105
15512953
221062750
355812750

prune552.0ms (4.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1610161
Fresh088
Picked011
Done000
Total1619170
Error
0.1b
Counts
170 → 9
Alt Table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (expm1.f32 (log1p.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))
5.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (fma.f32 1/2 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 6)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5)))) (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (fma.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5)))))))))))
5.0b
(sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))
1.2b
(-.f32 (+.f32 (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))) (+.f32 (*.f32 4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))))) (*.f32 2 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 uy 2)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))))
0.9b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (exp.f32 (*.f32 1/2 (log1p.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (/.f32 (+.f32 (pow.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 3) 1) (+.f32 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 1 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 1))))))
13.1b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))) 1)
Compiler

Compiled 18092 to 11515 computations (36.4% saved)

localize162.0ms (1.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(pow.f32 (PI.f32) 2)
1.2b
(*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))
1.6b
(pow.f32 (PI.f32) 6)
1.6b
(pow.f32 (PI.f32) 4)

series14.0ms (0.1%)

Counts
4 → 12
Calls

4 calls:

14.0ms
(*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))
0.0ms
(pow.f32 (PI.f32) 4)
0.0ms
(pow.f32 (PI.f32) 2)
0.0ms
(pow.f32 (PI.f32) 6)

rewrite49.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
785×log1p-expm1-u_binary32
785×expm1-log1p-u_binary32
162×log1p-udef_binary32
97×add-sqr-sqrt_binary32
97×add-cbrt-cube_binary32
Counts
4 → 79
Calls

4 calls:

48.0ms
(pow.f32 (PI.f32) 2)
48.0ms
(*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6))
48.0ms
(pow.f32 (PI.f32) 6)
48.0ms
(pow.f32 (PI.f32) 4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
123323
2207323
3488923
000
100

simplify139.0ms (1.2%)

Algorithm
egg-herbie
Rules
2552×unswap-sqr_binary32
711×sqr-pow_binary32
491×*-commutative_binary32
387×cube-prod_binary32
375×fabs-mul_binary32
Counts
91 → 80
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07132
115132
240132
3160132
4755132
51095132
61155132
71253132
81389132
91528132
101700132
111772132
121938132
132163132
142489132
152871132
163326132
173449132
183568132
193708132
203743132
217926132

prune512.0ms (4.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New80080
Fresh077
Picked011
Done011
Total80989
Error
0.1b
Counts
89 → 9
Alt Table
StatusErrorProgram
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (expm1.f32 (log1p.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1)))))
5.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (fma.f32 1/2 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 6)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5)))) (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (fma.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5)))))))))))
5.0b
(sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))
1.2b
(-.f32 (+.f32 (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))) (+.f32 (*.f32 4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))))) (*.f32 2 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 uy 2)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))))
0.9b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (exp.f32 (*.f32 1/2 (log1p.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (/.f32 (+.f32 (pow.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 3) 1) (+.f32 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 1 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 1))))))
13.1b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))) 1)
Compiler

Compiled 13627 to 9883 computations (27.5% saved)

localize83.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
0.1b
(sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))
0.2b
(*.f32 maxCos (pow.f32 ux 2))
0.2b
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))

series92.0ms (0.8%)

Counts
4 → 20
Calls

4 calls:

63.0ms
(sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))
10.0ms
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
9.0ms
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
8.0ms
(*.f32 maxCos (pow.f32 ux 2))

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
895×prod-diff_binary32
192×add-sqr-sqrt_binary32
192×log1p-expm1-u_binary32
192×expm1-log1p-u_binary32
181×add-cube-cbrt_binary32
Counts
4 → 68
Calls

4 calls:

71.0ms
(*.f32 2 (*.f32 maxCos (pow.f32 ux 2)))
71.0ms
(sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))
71.0ms
(*.f32 maxCos (pow.f32 ux 2))
71.0ms
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01763
139757
2465257
3626857
000
100

simplify90.0ms (0.8%)

Algorithm
egg-herbie
Rules
377×cancel-sign-sub-inv_binary32
369×fma-neg_binary32
272×sub-neg_binary32
267×distribute-neg-in_binary32
262×fma-def_binary32
Counts
88 → 108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02122720
17012374
228402153
349202093
450982093

prune264.0ms (2.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1053108
Fresh156
Picked101
Done022
Total10710117
Error
0.1b
Counts
117 → 10
Alt Table
StatusErrorProgram
5.2b
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (-.f32 (*.f32 2 (fma.f32 maxCos (*.f32 ux ux) ux)) (fma.f32 ux ux (fma.f32 2 (*.f32 maxCos ux) (pow.f32 (*.f32 maxCos ux) 2))))) 2)) (sqrt.f32 (cbrt.f32 (-.f32 (*.f32 2 (fma.f32 maxCos (*.f32 ux ux) ux)) (fma.f32 ux ux (fma.f32 2 (*.f32 maxCos ux) (pow.f32 (*.f32 maxCos ux) 2)))))))
1.2b
(-.f32 (+.f32 (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))) (*.f32 2/3 (*.f32 (*.f32 (pow.f32 uy 4) (pow.f32 (PI.f32) 4)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))) (+.f32 (*.f32 4/45 (*.f32 (*.f32 (pow.f32 uy 6) (pow.f32 (PI.f32) 6)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux)))))))) (*.f32 2 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 uy 2)) (sqrt.f32 (-.f32 (+.f32 (*.f32 2 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 2 ux)) (+.f32 (pow.f32 ux 2) (+.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (*.f32 2 (*.f32 maxCos ux))))))))))
5.5b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))) (+.f32 (sqrt.f32 (*.f32 ux (-.f32 2 ux))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (fma.f32 1/2 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 6)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5)))) (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))))))))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (fma.f32 1/2 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (fma.f32 1/2 (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 1/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (*.f32 3/2 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 5))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5)))))))))))
5.1b
(/.f32 (sqrt.f32 (-.f32 (pow.f32 (*.f32 2 (fma.f32 maxCos (*.f32 ux ux) ux)) 2) (pow.f32 (fma.f32 ux ux (fma.f32 2 (*.f32 maxCos ux) (pow.f32 (*.f32 maxCos ux) 2))) 2))) (sqrt.f32 (fma.f32 2 (fma.f32 maxCos (*.f32 ux ux) ux) (fma.f32 ux ux (fma.f32 2 (*.f32 maxCos ux) (pow.f32 (*.f32 maxCos ux) 2))))))
0.9b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (-.f32 (fma.f32 (*.f32 maxCos (*.f32 ux ux)) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (sqrt.f32 (*.f32 ux (-.f32 2 ux))))) (fma.f32 (*.f32 maxCos ux) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux)))) (*.f32 1/2 (+.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))) (sqrt.f32 (/.f32 1 (*.f32 ux (-.f32 2 ux))))) (*.f32 (*.f32 (sqrt.f32 (/.f32 1 (pow.f32 (*.f32 ux (-.f32 2 ux)) 3))) (*.f32 maxCos maxCos)) (+.f32 (pow.f32 ux 4) (*.f32 ux ux))))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (exp.f32 (*.f32 1/2 (log1p.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))))))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (pow.f32 (cbrt.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))) 3))
13.1b
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (/.f32 (+.f32 (pow.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 3) 1) (+.f32 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 1 (*.f32 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1))) 1))))))
13.1b
(-.f32 (exp.f32 (log1p.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 ux (fma.f32 ux maxCos 1)) 1))))) 1)
5.6b
(pow.f32 (pow.f32 (-.f32 (*.f32 2 (fma.f32 maxCos (*.f32 ux ux) ux)) (fma.f32 ux ux (fma.f32 2 (*.f32 maxCos ux) (pow.f32 (*.f32 maxCos ux) 2)))) 3/2) 1/3)
Compiler

Compiled 6183 to 4003 computations (35.3% saved)

regimes4.0s (35.5%)

Accuracy

Total 0.1b remaining (29.3%)

Threshold costs 0.1b (29.3%)

Counts
184 → 1
Compiler

Compiled 112662 to 79421 computations (29.5% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02357
13757
24657
35857
48157
59757
610757
711357
811557
911457

end433.0ms (3.8%)

Compiler

Compiled 856 to 599 computations (30% saved)

Profiling

Loading profile data...