Details

Time bar (total: 7.4s)

analyze1.4s (19.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.8%99.2%0
0%0.8%99.2%1
0%0.8%99.2%2
0%0.8%99.2%3
0%0.8%99.2%4
0%0.8%99.2%5
0.2%0.4%99.4%6
0.2%0.4%99.4%7
0.2%0.4%99.4%8
0.2%0.4%99.4%9
0.3%0.2%99.5%10
0.3%0.2%99.5%11
0.3%0.2%99.5%12
0.3%0.2%99.5%13
0.3%0.1%99.6%14
Compiler

Compiled 62 to 45 computations (27.4% saved)

sample3.0s (40.7%)

Results
2.6s8256×body128valid
359.0ms1024×body128invalid
Compiler

Compiled 124 to 90 computations (27.4% saved)

preprocess51.0ms (0.7%)

Algorithm
egg-herbie
Rules
516×fma-neg_binary32
426×fma-def_binary32
304×distribute-rgt-in_binary32
225×unsub-neg_binary32
193×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075259
1186217
2445217
3942182
41406182
51644182
61945182
72744182
84465182
044
Stop Event
saturated
node limit
Compiler

Compiled 29 to 20 computations (31% saved)

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
717×fma-def_binary32
598×times-frac_binary32
385×fma-neg_binary32
232×div-sub_binary32
205×distribute-neg-frac_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01837
13831
28431
317226
426126
531226
638226
748626
874626
988026
10108526
11176426
12392226
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.4b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
1.0b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 146 to 89 computations (39% saved)

localize53.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (-.f32 1 u) normAngle)
0.2b
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
0.4b
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
1.6b
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle)))

series84.0ms (1.1%)

Counts
4 → 96
Calls

27 calls:

13.0ms
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
normAngle
0
6.0ms
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
normAngle
0
5.0ms
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
n0_i
-inf
4.0ms
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
n0_i
0
4.0ms
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
n0_i
inf

rewrite60.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
625×prod-diff_binary32
158×add-sqr-sqrt_binary32
155×*-un-lft-identity_binary32
155×pow1_binary32
144×add-cbrt-cube_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01549
131249
2401349
01558
Stop Event
saturated
node limit
Counts
4 → 90

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
691×cancel-sign-sub-inv_binary32
391×fma-def_binary32
371×associate-*r*_binary32
266×associate-+r+_binary32
236×associate-*l*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02632410
19102364
237372360
Stop Event
node limit
Counts
186 → 141

prune219.0ms (3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1329141
Fresh011
Picked101
Done000
Total13310143
Error
0.0b
Counts
143 → 10
Alt Table
StatusErrorProgram
1.0b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 u normAngle)))) n1_i))
0.9b
(+.f32 (*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.0b
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 2) n1_i))
1.2b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 3) n1_i))
1.3b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) 2) (/.f32 (sin.f32 normAngle) (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.9b
(+.f32 (*.f32 (/.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 normAngle (-.f32 1 u))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
8.4b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
Compiler

Compiled 5867 to 3348 computations (42.9% saved)

localize41.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
0.1b
(*.f32 (-.f32 1 u) normAngle)
0.2b
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
0.4b
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))

series50.0ms (0.7%)

Counts
1 → 48
Calls

12 calls:

16.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
normAngle
0
4.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
normAngle
-inf
4.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
normAngle
inf
3.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
n1_i
inf
3.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
n1_i
0

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
287×expm1-udef_binary32
286×log1p-udef_binary32
165×add-sqr-sqrt_binary32
162×*-un-lft-identity_binary32
162×pow1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01521
132021
2430721
01526
Stop Event
saturated
node limit
Counts
1 → 40

simplify41.0ms (0.6%)

Algorithm
egg-herbie
Rules
402×cancel-sign-sub-inv_binary32
390×associate--l+_binary32
262×associate-*r*_binary32
230×fma-def_binary32
225×distribute-rgt-out_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671478
15721471
223401410
Stop Event
node limit
Counts
88 → 60

prune244.0ms (3.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1564160
Fresh639
Picked101
Done000
Total1637170
Error
0.0b
Counts
170 → 7
Alt Table
StatusErrorProgram
1.0b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 u normAngle)))) n1_i))
0.8b
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 u n1_i))
0.7b
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
8.4b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.6b
(-.f32 (+.f32 (fma.f32 n1_i u (fma.f32 1/6 (*.f32 n0_i (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3))) n0_i)) (*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)) (*.f32 n0_i (+.f32 (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle)) u)))
0.8b
(+.f32 n0_i (*.f32 u (-.f32 n1_i n0_i)))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 2) n1_i))
Compiler

Compiled 5540 to 3088 computations (44.3% saved)

localize80.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)
0.1b
(*.f32 u (*.f32 normAngle normAngle))
0.1b
(*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3))
0.1b
(*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle))

series60.0ms (0.8%)

Counts
4 → 108
Calls

27 calls:

7.0ms
(*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)
u
0
3.0ms
(*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle))
u
inf
3.0ms
(*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)
n0_i
-inf
3.0ms
(*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)
n0_i
inf
3.0ms
(*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)
n0_i
0

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
276×expm1-udef_binary32
276×log1p-udef_binary32
187×associate-*r*_binary32
162×add-sqr-sqrt_binary32
155×pow1_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01643
134040
2398740
01643
Stop Event
saturated
node limit
Counts
4 → 58

simplify124.0ms (1.7%)

Algorithm
egg-herbie
Rules
676×associate-*l*_binary32
603×*-commutative_binary32
582×sqr-pow_binary32
488×associate-*r*_binary32
245×cube-prod_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0201188
1541188
21461188
34811188
423031188
523541188
624851188
726851188
828711188
930921188
1036821188
1140081188
1244151188
1349171188
Stop Event
node limit
Counts
166 → 67

prune113.0ms (1.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New67067
Fresh066
Picked011
Done000
Total67774
Error
0.0b
Counts
74 → 7
Alt Table
StatusErrorProgram
1.0b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 u normAngle)))) n1_i))
0.8b
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 u n1_i))
0.7b
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
8.4b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.6b
(-.f32 (+.f32 (fma.f32 n1_i u (fma.f32 1/6 (*.f32 n0_i (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3))) n0_i)) (*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)) (*.f32 n0_i (+.f32 (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle)) u)))
0.8b
(+.f32 n0_i (*.f32 u (-.f32 n1_i n0_i)))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 2) n1_i))
Compiler

Compiled 3120 to 1559 computations (50% saved)

localize89.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
0.1b
(*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3))))
0.1b
(*.f32 normAngle (*.f32 u n0_i))
0.4b
(*.f32 1/6 (pow.f32 u 3))

series167.0ms (2.3%)

Counts
4 → 120
Calls

33 calls:

14.0ms
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
n0_i
-inf
12.0ms
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
n1_i
inf
12.0ms
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
n1_i
0
12.0ms
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
n0_i
inf
12.0ms
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
n0_i
0

rewrite41.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
300×add-sqr-sqrt_binary32
293×pow1_binary32
292×*-un-lft-identity_binary32
279×add-log-exp_binary32
279×log1p-expm1-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02696
159196
026102
Stop Event
saturated
node limit
Counts
4 → 31

simplify73.0ms (1%)

Algorithm
egg-herbie
Rules
725×fma-def_binary32
406×associate-*l*_binary32
349×cancel-sign-sub-inv_binary32
320×associate-*r*_binary32
270×sub-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01003140
13742952
211062598
345562598
Stop Event
node limit
Counts
151 → 69

prune117.0ms (1.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New77178
Fresh145
Picked011
Done011
Total78785
Error
0.0b
Counts
85 → 7
Alt Table
StatusErrorProgram
1.0b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 u normAngle)))) n1_i))
0.8b
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 u n1_i))
0.7b
(+.f32 (+.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/2) (*.f32 1/6 (pow.f32 u 3)))) (-.f32 n0_i (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle))))))) (*.f32 u n1_i))
8.4b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.6b
(-.f32 (+.f32 (fma.f32 n1_i u (fma.f32 1/6 (*.f32 n0_i (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3))) n0_i)) (*.f32 (*.f32 n0_i (*.f32 u (*.f32 normAngle normAngle))) 1/3)) (*.f32 n0_i (+.f32 (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle)) u)))
0.6b
(+.f32 (+.f32 n0_i (*.f32 (*.f32 normAngle normAngle) (*.f32 n0_i (+.f32 (fma.f32 1/6 (pow.f32 u 3) (*.f32 u 1/3)) (*.f32 (*.f32 u u) -1/2))))) (*.f32 u (-.f32 n1_i n0_i)))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 2) n1_i))
Compiler

Compiled 3793 to 1659 computations (56.3% saved)

regimes912.0ms (12.3%)

Accuracy

Total 0.4b remaining (95.8%)

Threshold costs 0.4b (95.8%)

Counts
164 → 1
Compiler

Compiled 22938 to 15437 computations (32.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02452
13552
23952
34152
44252
Stop Event
saturated

end127.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 298 to 187 computations (37.2% saved)

Profiling

Loading profile data...