Details

Time bar (total: 11.7s)

analyze701.0ms (6%)

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

Compiled 38 to 30 computations (21.1% saved)

sample52.0ms (0.4%)

Algorithm
intervals
Results
21.0ms224×body128valid
8.0ms256×pre128true
7.0ms32×body256valid
Compiler

Compiled 63 to 53 computations (15.9% saved)

simplify201.0ms (1.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (57.0ms)

IterNodesCost
0502636

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112

Merged error: 0.4b

Counts
2 → 1
Compiler

Compiled 46 to 36 computations (21.7% saved)

localize45.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
0.1b
(sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
0.3b
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
0.4b
(*.f32 (*.f32 uy 2) PI.f32)

rewrite58.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
16×sqrt-div_binary32_93
14×pow1_binary32_135
13×add-log-exp_binary32_113
12×associate-*r/_binary32_21
11×add-cbrt-cube_binary32_110 add-exp-log_binary32_112
*-un-lft-identity_binary32_77 add-sqr-sqrt_binary32_98
frac-times_binary32_87
associate-*r*_binary32_19 flip3-+_binary32_80 add-cube-cbrt_binary32_109 flip-+_binary32_51
flip3--_binary32_81 flip--_binary32_52
sum-log_binary32_165 pow-prod-down_binary32_145
associate-*l/_binary32_22 prod-exp_binary32_123 associate-*l*_binary32_20 cbrt-unprod_binary32_107
sqrt-pow1_binary32_94 *-commutative_binary32_10 sqrt-prod_binary32_92
distribute-lft-out_binary32_30 unswap-sqr_binary32_45 pow1/2_binary32_154 associate-+r-_binary32_13 +-commutative_binary32_9 associate-+l-_binary32_14 associate-+r+_binary32_11 diff-log_binary32_166
Counts
4 → 80
Calls

4 calls:

18.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
12.0ms
(sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
10.0ms
(+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
8.0ms
(*.f32 (*.f32 uy 2) PI.f32)

series648.0ms (5.5%)

Counts
4 → 12
Calls

4 calls:

427.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
160.0ms
(sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
34.0ms
(*.f32 (*.f32 uy 2) PI.f32)
27.0ms
(+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))

simplify77.0ms (0.7%)

Algorithm
egg-herbie
Counts
92 → 92
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
049972301
149972301

prune154.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New84892
Fresh000
Picked101
Done000
Total85893

Merged error: 0.0b

Counts
93 → 8
Compiler

Compiled 3165 to 1627 computations (48.6% saved)

localize39.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))
0.3b
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
0.4b
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))
0.4b
(*.f32 (*.f32 uy 2) PI.f32)

rewrite50.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
26×sqrt-div_binary32_93
22×add-sqr-sqrt_binary32_98
19×pow1_binary32_135
16×add-cbrt-cube_binary32_110 add-exp-log_binary32_112
15×sqrt-prod_binary32_92
13×flip3--_binary32_81 *-un-lft-identity_binary32_77 flip--_binary32_52
12×associate-*r*_binary32_19 associate-*r/_binary32_21
11×add-cube-cbrt_binary32_109
10×associate-*l*_binary32_20
pow-prod-down_binary32_145
frac-times_binary32_87
prod-exp_binary32_123 cbrt-unprod_binary32_107
add-log-exp_binary32_113 associate-*l/_binary32_22 unswap-sqr_binary32_45
pow1/2_binary32_154 sqrt-pow1_binary32_94 *-commutative_binary32_10
rem-sqrt-square_binary32_90 sqrt-unprod_binary32_96 difference-of-squares_binary32_46 distribute-lft-out--_binary32_31
Counts
4 → 99
Calls

4 calls:

16.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
14.0ms
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))
5.0ms
(*.f32 (*.f32 uy 2) PI.f32)
3.0ms
(sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))

series796.0ms (6.8%)

Counts
4 → 12
Calls

4 calls:

507.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
204.0ms
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))
50.0ms
(sqrt.f32 (-.f32 ux (*.f32 ux maxCos)))
35.0ms
(*.f32 (*.f32 uy 2) PI.f32)

simplify67.0ms (0.6%)

Algorithm
egg-herbie
Counts
111 → 111
Iterations

Useful iterations: 0 (39.0ms)

IterNodesCost
059502972

prune156.0ms (1.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1083111
Fresh437
Picked011
Done000
Total1127119

Merged error: 0.0b

Counts
119 → 7
Compiler

Compiled 3724 to 1689 computations (54.6% saved)

localize46.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))
0.4b
(*.f32 (*.f32 uy 2) PI.f32)
0.4b
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
0.4b
(*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))

rewrite119.0ms (1%)

Algorithm
rewrite-expression-head
Rules
198×sqrt-div_binary32_93
60×flip3--_binary32_81 frac-times_binary32_87 flip--_binary32_52
44×associate-*r/_binary32_21
38×sqrt-prod_binary32_92
30×associate-*l/_binary32_22 pow1_binary32_135 add-sqr-sqrt_binary32_98
26×associate-*r*_binary32_19
25×add-cbrt-cube_binary32_110 add-exp-log_binary32_112
19×pow-prod-down_binary32_145
18×*-un-lft-identity_binary32_77
14×add-cube-cbrt_binary32_109
13×prod-exp_binary32_123 cbrt-unprod_binary32_107
11×associate-*l*_binary32_20
unswap-sqr_binary32_45
pow1/2_binary32_154 sqrt-pow1_binary32_94
add-log-exp_binary32_113 *-commutative_binary32_10
sqrt-unprod_binary32_96
difference-of-squares_binary32_46 distribute-lft-out--_binary32_31
Counts
4 → 165
Calls

4 calls:

31.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))
27.0ms
(*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
16.0ms
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
5.0ms
(*.f32 (*.f32 uy 2) PI.f32)

series1.0s (8.6%)

Counts
4 → 12
Calls

4 calls:

515.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))))
251.0ms
(*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
204.0ms
(*.f32 (*.f32 (sqrt.f32 (-.f32 ux (*.f32 ux maxCos))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos)))))) (sqrt.f32 (sqrt.f32 (-.f32 2 (-.f32 ux (*.f32 ux maxCos))))))
32.0ms
(*.f32 (*.f32 uy 2) PI.f32)

simplify122.0ms (1%)

Algorithm
egg-herbie
Counts
177 → 177
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
049566981
149566981

prune354.0ms (3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1761177
Fresh055
Picked011
Done011
Total1768184

Merged error: 0b

Counts
184 → 8
Compiler

Compiled 8369 to 3853 computations (54% saved)

localize68.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (-.f32 (*.f32 ux maxCos) ux))
0.1b
(pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)
0.3b
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (/.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (-.f32 (*.f32 ux maxCos) ux))))))
0.4b
(*.f32 (*.f32 uy 2) PI.f32)

rewrite82.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
36×associate-*r*_binary32_19 add-sqr-sqrt_binary32_98
26×add-cube-cbrt_binary32_109 *-un-lft-identity_binary32_77 times-frac_binary32_83
19×sqrt-prod_binary32_92
17×add-cbrt-cube_binary32_110 add-exp-log_binary32_112
14×pow1_binary32_135
associate-*l*_binary32_20
prod-exp_binary32_123 cbrt-unprod_binary32_107
flip3-+_binary32_80 flip-+_binary32_51 pow-prod-down_binary32_145
add-log-exp_binary32_113 unswap-sqr_binary32_45 frac-times_binary32_87
flip3--_binary32_81 pow-unpow_binary32_151 associate-*r/_binary32_21 unpow-prod-down_binary32_153 cube-prod_binary32_102 *-commutative_binary32_10 flip--_binary32_52
associate-*l/_binary32_22 associate-/r/_binary32_25 sub-neg_binary32_70 sqrt-div_binary32_93 cube-div_binary32_103
cube-mult_binary32_104 pow-pow_binary32_146 unpow3_binary32_140 distribute-rgt-in_binary32_29 cbrt-undiv_binary32_108 pow-exp_binary32_142 distribute-lft-in_binary32_28 rem-cube-cbrt_binary32_99 sqr-pow_binary32_49 div-exp_binary32_125 pow-to-exp_binary32_143 div-inv_binary32_74
Counts
4 → 121
Calls

4 calls:

31.0ms
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (/.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (-.f32 (*.f32 ux maxCos) ux))))))
15.0ms
(*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (-.f32 (*.f32 ux maxCos) ux))
9.0ms
(pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)
5.0ms
(*.f32 (*.f32 uy 2) PI.f32)

series4.5s (38.3%)

Counts
4 → 12
Calls

4 calls:

4.3s
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) PI.f32)) (/.f32 (sqrt.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (+.f32 1 (pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)))) (sqrt.f32 (+.f32 1 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (-.f32 (*.f32 ux maxCos) ux))))))
52.0ms
(pow.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) 3)
51.0ms
(*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)) (-.f32 (*.f32 ux maxCos) ux))
34.0ms
(*.f32 (*.f32 uy 2) PI.f32)

simplify93.0ms (0.8%)

Algorithm
egg-herbie
Counts
133 → 133
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
050685139

prune331.0ms (2.8%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1330133
Fresh055
Picked011
Done022
Total1338141

Merged error: 0b

Counts
141 → 8
Compiler

Compiled 7465 to 3978 computations (46.7% saved)

regimes154.0ms (1.3%)

Compiler

Compiled 2050 to 1312 computations (36% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
011235
111235

end0.0ms (0%)

sample1.8s (15.3%)

Algorithm
intervals
Results
694.0ms6983×body128valid
252.0ms8000×pre128true
214.0ms1017×body256valid
Compiler

Compiled 396 to 258 computations (34.8% saved)

Profiling

Loading profile data...