Details

Time bar (total: 8.5s)

analyze1.5s (17.5%)

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.1s (36.8%)

Results
2.8s8256×body128valid
357.0ms1045×body128invalid
Compiler

Compiled 124 to 90 computations (27.4% saved)

preprocess56.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
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.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))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 normAngle) u)) (/.f32 1 (sin.f32 u))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 normAngle u)) (/.f32 1 (sin.f32 u))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 1 (sin.f32 n0_i))) normAngle) (*.f32 (*.f32 (sin.f32 (*.f32 u n0_i)) (/.f32 1 (sin.f32 n0_i))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 1 (sin.f32 n1_i))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u n1_i)) (/.f32 1 (sin.f32 n1_i))) normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n0_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) u) (*.f32 (*.f32 (sin.f32 (*.f32 n0_i normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n1_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 n1_i normAngle)) (/.f32 1 (sin.f32 normAngle))) u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i))
Outputs
(+.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))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 1 (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i))
(fma.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 n1_i (sin.f32 normAngle)) (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 n0_i (sin.f32 normAngle))))
(/.f32 (fma.f32 (sin.f32 (*.f32 u normAngle)) n1_i (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 normAngle) u)) (/.f32 1 (sin.f32 u))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 normAngle u)) (/.f32 1 (sin.f32 u))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 u (-.f32 1 normAngle))) (/.f32 1 (sin.f32 u))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 1 (sin.f32 u)) n1_i)))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u (-.f32 1 normAngle))) (sin.f32 u)) (*.f32 n1_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 u))))
(fma.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 n1_i (sin.f32 u)) (*.f32 (sin.f32 (*.f32 u (-.f32 1 normAngle))) (/.f32 n0_i (sin.f32 u))))
(/.f32 (fma.f32 n0_i (sin.f32 (-.f32 u (*.f32 u normAngle))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 1 (sin.f32 n0_i))) normAngle) (*.f32 (*.f32 (sin.f32 (*.f32 u n0_i)) (/.f32 1 (sin.f32 n0_i))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 1 (sin.f32 n0_i))) normAngle (*.f32 (sin.f32 (*.f32 u n0_i)) (*.f32 (/.f32 1 (sin.f32 n0_i)) n1_i)))
(fma.f32 normAngle (/.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (sin.f32 n0_i)) (/.f32 (*.f32 n1_i (sin.f32 (*.f32 u n0_i))) (sin.f32 n0_i)))
(fma.f32 n1_i (/.f32 (sin.f32 (*.f32 u n0_i)) (sin.f32 n0_i)) (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 normAngle (sin.f32 n0_i))))
(/.f32 (fma.f32 normAngle (sin.f32 (-.f32 n0_i (*.f32 u n0_i))) (*.f32 n1_i (sin.f32 (*.f32 u n0_i)))) (sin.f32 n0_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 1 (sin.f32 n1_i))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u n1_i)) (/.f32 1 (sin.f32 n1_i))) normAngle))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 1 (sin.f32 n1_i))) n0_i (*.f32 normAngle (*.f32 (/.f32 1 (sin.f32 n1_i)) (sin.f32 (*.f32 u n1_i)))))
(fma.f32 normAngle (/.f32 (sin.f32 (*.f32 u n1_i)) (sin.f32 n1_i)) (*.f32 n0_i (/.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (sin.f32 n1_i))))
(fma.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 n0_i (sin.f32 n1_i)) (*.f32 normAngle (/.f32 (sin.f32 (*.f32 u n1_i)) (sin.f32 n1_i))))
(/.f32 (fma.f32 n0_i (sin.f32 (-.f32 n1_i (*.f32 u n1_i))) (*.f32 normAngle (sin.f32 (*.f32 u n1_i)))) (sin.f32 n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n0_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) u) (*.f32 (*.f32 (sin.f32 (*.f32 n0_i normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 1 n0_i)))) u (*.f32 (sin.f32 (*.f32 normAngle n0_i)) (*.f32 (/.f32 1 (sin.f32 normAngle)) n1_i)))
(fma.f32 u (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 n0_i))) (sin.f32 normAngle)) (*.f32 n1_i (/.f32 (sin.f32 (*.f32 normAngle n0_i)) (sin.f32 normAngle))))
(*.f32 (/.f32 1 (sin.f32 normAngle)) (+.f32 (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i))) (*.f32 u (sin.f32 (*.f32 normAngle (-.f32 1 n0_i))))))
(/.f32 (fma.f32 u (sin.f32 (*.f32 normAngle (-.f32 1 n0_i))) (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i)))) (sin.f32 normAngle))
(/.f32 (fma.f32 u (sin.f32 (-.f32 normAngle (*.f32 normAngle n0_i))) (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i)))) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n1_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 n1_i normAngle)) (/.f32 1 (sin.f32 normAngle))) u))
(fma.f32 (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 1 n1_i)))) n0_i (*.f32 u (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle n1_i)))))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 n1_i))) (sin.f32 normAngle)) (*.f32 u (/.f32 (sin.f32 (*.f32 normAngle n1_i)) (sin.f32 normAngle))))
(*.f32 (/.f32 1 (sin.f32 normAngle)) (+.f32 (*.f32 n0_i (sin.f32 (*.f32 normAngle (-.f32 1 n1_i)))) (*.f32 u (sin.f32 (*.f32 normAngle n1_i)))))
(/.f32 (fma.f32 u (sin.f32 (*.f32 normAngle n1_i)) (*.f32 n0_i (sin.f32 (-.f32 normAngle (*.f32 normAngle n1_i))))) (sin.f32 normAngle))
(/.f32 (fma.f32 n0_i (sin.f32 (-.f32 normAngle (*.f32 normAngle n1_i))) (*.f32 u (sin.f32 (*.f32 normAngle n1_i)))) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i (*.f32 n0_i (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 u normAngle)))))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) (/.f32 (*.f32 n1_i (sin.f32 (*.f32 (-.f32 1 u) normAngle))) (sin.f32 normAngle)))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 n1_i (sin.f32 normAngle))))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n1_i (*.f32 n0_i (sin.f32 (*.f32 u normAngle)))) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n1_i (*.f32 n0_i (sin.f32 (*.f32 u normAngle)))) (sin.f32 normAngle))
Compiler

Compiled 29 to 20 computations (31% saved)

simplify34.0ms (0.4%)

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
Calls
Call 1
Inputs
(+.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))
Outputs
(+.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))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 1 (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i (/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle)))
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 n1_i (sin.f32 normAngle))))
(/.f32 (fma.f32 (sin.f32 (*.f32 u normAngle)) n1_i (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.3b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.9b
(+.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)

localize82.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (-.f32 1 u) normAngle)
0.1b
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
0.3b
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
1.7b
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle)))

series45.0ms (0.5%)

Counts
4 → 96
Calls

27 calls:

TimeVariablePointExpression
16.0ms
n0_i
@0
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
4.0ms
u
@0
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
3.0ms
normAngle
@0
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
3.0ms
normAngle
@0
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
2.0ms
u
@inf
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)

rewrite59.0ms (0.7%)

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
Stop Event
node limit
Counts
4 → 90
Calls
Call 1
Inputs
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle)))
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 1 u) normAngle)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 u normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 u normAngle))) 2) (/.f32 (sin.f32 normAngle) (cbrt.f32 (sin.f32 (*.f32 u normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (sin.f32 (*.f32 u normAngle))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 u normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (sin.f32 (*.f32 u normAngle))) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) 1) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2))) (cbrt.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1 (sin.f32 (*.f32 u normAngle))) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) -1) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 u normAngle)) 3) (pow.f32 (sin.f32 normAngle) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 u normAngle)) 3) (pow.f32 (/.f32 1 (sin.f32 normAngle)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 1 (sin.f32 normAngle)) 3) (pow.f32 (sin.f32 (*.f32 u normAngle)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (sin.f32 normAngle) (sin.f32 (*.f32 normAngle (-.f32 1 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.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))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) 1) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2))) (cbrt.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) -1) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) 3) (pow.f32 (sin.f32 normAngle) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 1 (sin.f32 normAngle)) 3) (pow.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) 3) (pow.f32 (/.f32 1 (sin.f32 normAngle)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) n0_i) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 n0_i (sin.f32 (*.f32 normAngle (-.f32 1 u)))) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) (/.f32 n0_i (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)) 3) (pow.f32 n0_i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 n0_i 3) (pow.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 normAngle (*.f32 (neg.f32 u) normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 normAngle (*.f32 normAngle (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 normAngle (-.f32 1 u)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 u 3)) normAngle) (+.f32 1 (fma.f32 u u u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 u u)) normAngle) (+.f32 u 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 normAngle (-.f32 1 (pow.f32 u 3))) (+.f32 1 (fma.f32 u u u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 normAngle (-.f32 1 (*.f32 u u))) (+.f32 u 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 normAngle (-.f32 1 u)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 normAngle (-.f32 1 u))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 normAngle (-.f32 1 u))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 normAngle) (-.f32 1 u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 normAngle (-.f32 1 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 normAngle 3) (pow.f32 (-.f32 1 u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) (pow.f32 normAngle 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 normAngle (-.f32 1 u))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 normAngle (-.f32 1 u))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 normAngle (-.f32 1 u))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 normAngle (-.f32 1 u))))))))

simplify62.0ms (0.7%)

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
Calls
Call 1
Inputs
(/.f32 (*.f32 u normAngle) (sin.f32 normAngle))
(-.f32 (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)) (*.f32 1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))) (*.f32 1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))) (+.f32 (*.f32 1/5040 (/.f32 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 7)) (sin.f32 normAngle))) (*.f32 1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
u
(-.f32 (+.f32 (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2))) u) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))
(-.f32 (+.f32 (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) u))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 31/15120 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 u (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))))))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 7/2160 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
n0_i
(-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 (+.f32 n0_i (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 3)))) (sin.f32 normAngle)))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 (+.f32 (*.f32 1/2 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 2)))) n0_i)) (+.f32 (*.f32 1/6 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 2)))) (+.f32 (*.f32 n0_i u) (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 (*.f32 1/2 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 11/120 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/36 (*.f32 n0_i (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (*.f32 n0_i (pow.f32 normAngle 4)))) n0_i)))))) (+.f32 (*.f32 1/6 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 n0_i u) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 5/72 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) (*.f32 1/12 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 4)))))))))))
(-.f32 (+.f32 (*.f32 1/216 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/36 (*.f32 n0_i (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/5040 (*.f32 n0_i (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/60 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/72 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 6)))) (+.f32 (*.f32 11/120 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 1/360 (*.f32 n0_i (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))))))))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/720 (*.f32 n0_i (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/120 (*.f32 n0_i (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/12 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/6 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 4)))) (+.f32 (*.f32 n0_i u) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 11/756 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 6)))) (+.f32 (*.f32 5/72 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) (*.f32 1/72 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 6)))))))))))))))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
normAngle
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
Outputs
(/.f32 (*.f32 u normAngle) (sin.f32 normAngle))
(/.f32 u (/.f32 (sin.f32 normAngle) normAngle))
(-.f32 (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)) (*.f32 1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))))
(-.f32 (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)) (/.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle)))
(+.f32 (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)) (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6))
(fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))) (*.f32 1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))))
(+.f32 (fma.f32 1/120 (/.f32 (pow.f32 u 5) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 5))) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle))) (*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3)))))
(fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (+.f32 (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)) (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6)))
(fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6)))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))) (+.f32 (*.f32 1/5040 (/.f32 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 7)) (sin.f32 normAngle))) (*.f32 1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))))
(-.f32 (fma.f32 1/120 (/.f32 (pow.f32 u 5) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 5))) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle))) (fma.f32 1/5040 (/.f32 (pow.f32 u 7) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 7))) (/.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))))
(-.f32 (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))) (fma.f32 1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) (*.f32 1/5040 (*.f32 (/.f32 (pow.f32 u 7) (sin.f32 normAngle)) (pow.f32 normAngle 7)))))
(+.f32 (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6))) (*.f32 -1/5040 (*.f32 (/.f32 (pow.f32 u 7) (sin.f32 normAngle)) (pow.f32 normAngle 7))))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
u
(-.f32 (+.f32 (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2))) u) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))
(+.f32 (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u) (*.f32 -1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle))))
(+.f32 (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u) (*.f32 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) -1/6))
(fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) (+.f32 u (*.f32 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) -1/6)))
(-.f32 (+.f32 (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) u))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))))
(-.f32 (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4)) (fma.f32 7/360 (*.f32 u (pow.f32 normAngle 4)) u))) (fma.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)) (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))))
(-.f32 (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u)) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/36))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 31/15120 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 u (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))))))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 7/2160 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4)) (fma.f32 31/15120 (*.f32 u (pow.f32 normAngle 6)) (fma.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6)) (+.f32 u (fma.f32 7/360 (*.f32 u (pow.f32 normAngle 4)) (*.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)))))))) (fma.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (*.f32 7/2160 (pow.f32 u 3)) (pow.f32 normAngle 6))))))
(-.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 31/15120) (*.f32 (pow.f32 u 5) 1/720))) (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u))) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (pow.f32 normAngle 6) (*.f32 (pow.f32 u 3) 7/2160))))))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 1 (+.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))) (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle))))
(-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (fma.f32 1/6 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) 1) (+.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))) (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle))))
(-.f32 (fma.f32 1/6 (/.f32 (*.f32 (pow.f32 normAngle 3) (*.f32 (pow.f32 u 3) (cos.f32 normAngle))) (sin.f32 normAngle)) 1) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle))) 1)) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) u))
(-.f32 (+.f32 1 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3))))) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(+.f32 1 (-.f32 (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)))))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 normAngle normAngle)))))))
(+.f32 1 (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4)))) (-.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (+.f32 (fma.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) 1/18 (*.f32 (*.f32 (*.f32 1/2 (*.f32 u u)) normAngle) normAngle)) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4)) u)))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(+.f32 1 (-.f32 (fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (fma.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))))))))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) (fma.f32 1/720 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 6)) (*.f32 (*.f32 1/270 (pow.f32 u 3)) (pow.f32 normAngle 6)))))))))
(+.f32 1 (-.f32 (-.f32 (+.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 2/945) (*.f32 (pow.f32 u 5) 1/360))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4)) u)) (fma.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) 1/18 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 1/720 (pow.f32 u 6)) (*.f32 (pow.f32 u 3) 1/270)))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
n0_i
(-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))
(-.f32 n0_i (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))
(-.f32 n0_i (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle (*.f32 u n0_i)))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle (*.f32 u n0_i))))))
(-.f32 (+.f32 n0_i (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 3)))) (sin.f32 normAngle)))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(+.f32 n0_i (-.f32 (*.f32 1/6 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 3) n0_i))))) (fma.f32 1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 1/6 (/.f32 (*.f32 (pow.f32 normAngle 3) (*.f32 (pow.f32 u 3) n0_i)) (/.f32 (sin.f32 normAngle) (cos.f32 normAngle))) n0_i) (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle (*.f32 u n0_i))))))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 (+.f32 (*.f32 1/2 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 2)))) n0_i)) (+.f32 (*.f32 1/6 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 2)))) (+.f32 (*.f32 n0_i u) (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))))))
(-.f32 (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 (*.f32 normAngle normAngle) n0_i)) n0_i)) (fma.f32 1/6 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 n0_i u (*.f32 (*.f32 1/2 (*.f32 u u)) (*.f32 (*.f32 normAngle normAngle) n0_i)))))
(+.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 (*.f32 1/2 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 11/120 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/36 (*.f32 n0_i (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (*.f32 n0_i (pow.f32 normAngle 4)))) n0_i)))))) (+.f32 (*.f32 1/6 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 n0_i u) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 5/72 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) (*.f32 1/12 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 4)))))))))))
(-.f32 (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/12 (*.f32 (*.f32 u u) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 11/120 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/36 (*.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) n0_i) (fma.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/24 (*.f32 (pow.f32 u 4) (*.f32 (pow.f32 normAngle 4) n0_i)) n0_i)))))) (fma.f32 1/6 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/12 (*.f32 n0_i (*.f32 (pow.f32 normAngle 4) (*.f32 u u))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 n0_i u (fma.f32 1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 5/72 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) (*.f32 1/12 (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) n0_i))))))))))
(-.f32 (fma.f32 1/2 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 1/12 (*.f32 u (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i))) (fma.f32 11/120 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/36 (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 3) n0_i)) (fma.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (*.f32 (pow.f32 u 3) n0_i)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 4) n0_i)) n0_i)))))) (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 1/12 (*.f32 u (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 u n0_i (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle)) (*.f32 (*.f32 (pow.f32 normAngle 4) n0_i) (+.f32 (*.f32 (pow.f32 u 3) 1/12) (*.f32 u 5/72)))))))))
(-.f32 (+.f32 (*.f32 1/216 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/36 (*.f32 n0_i (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/5040 (*.f32 n0_i (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/60 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/72 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 6)))) (+.f32 (*.f32 11/120 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 1/360 (*.f32 n0_i (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))))))))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/720 (*.f32 n0_i (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/120 (*.f32 n0_i (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/12 (*.f32 (pow.f32 u 3) (*.f32 n0_i (pow.f32 normAngle 4)))) (+.f32 (*.f32 1/6 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/12 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 4)))) (+.f32 (*.f32 n0_i u) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 11/756 (*.f32 n0_i (*.f32 u (pow.f32 normAngle 6)))) (+.f32 (*.f32 5/72 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) (*.f32 1/72 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 6)))))))))))))))
(-.f32 (fma.f32 1/216 (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 1/36 (*.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) n0_i) (fma.f32 1/5040 (*.f32 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) n0_i) (+.f32 (fma.f32 1/24 (*.f32 (pow.f32 u 4) (*.f32 (pow.f32 normAngle 4) n0_i)) n0_i) (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/12 (*.f32 (*.f32 u u) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/60 (*.f32 u (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 1/72 (*.f32 n0_i (*.f32 (pow.f32 normAngle 6) (*.f32 u u))) (fma.f32 11/120 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/6 (*.f32 (pow.f32 u 3) (*.f32 (*.f32 normAngle normAngle) n0_i)) (*.f32 (*.f32 1/360 n0_i) (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))))))))))))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/720 (*.f32 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 6)) n0_i) (fma.f32 1/120 (*.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)) n0_i) (fma.f32 1/12 (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/6 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/12 (*.f32 n0_i (*.f32 (pow.f32 normAngle 4) (*.f32 u u))) (fma.f32 n0_i u (fma.f32 1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 11/756 (*.f32 u (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 5/72 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) (*.f32 1/72 (*.f32 (*.f32 (*.f32 u u) n0_i) (pow.f32 normAngle 6))))))))))))))
(-.f32 (fma.f32 1/216 (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 1/36 (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 3) n0_i)) (fma.f32 1/5040 (*.f32 (pow.f32 normAngle 6) (*.f32 (pow.f32 u 7) n0_i)) (+.f32 (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 4) n0_i)) n0_i) (fma.f32 1/2 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 1/12 (*.f32 u (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i))) (fma.f32 1/60 (*.f32 (pow.f32 normAngle 6) (*.f32 u n0_i)) (fma.f32 1/72 (*.f32 u (*.f32 (pow.f32 normAngle 6) (*.f32 u n0_i))) (fma.f32 11/120 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (*.f32 (pow.f32 u 3) n0_i)) (*.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6)) (*.f32 1/360 n0_i)))))))))))) (fma.f32 1/120 (*.f32 (pow.f32 u 5) (*.f32 (pow.f32 normAngle 4) n0_i)) (fma.f32 1/720 (*.f32 (pow.f32 normAngle 6) (*.f32 (pow.f32 u 6) n0_i)) (fma.f32 1/120 (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 1/12 (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 3) n0_i)) (fma.f32 1/6 (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle) (fma.f32 1/12 (*.f32 u (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i))) (fma.f32 u n0_i (fma.f32 1/2 (*.f32 u (*.f32 (*.f32 normAngle (*.f32 u n0_i)) normAngle)) (fma.f32 11/756 (*.f32 (pow.f32 normAngle 6) (*.f32 u n0_i)) (fma.f32 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) 5/72 (*.f32 (*.f32 u u) (*.f32 (*.f32 (pow.f32 normAngle 6) n0_i) 1/72)))))))))))))
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
(/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle)) n0_i)
normAngle
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(neg.f32 (*.f32 u normAngle))
(*.f32 normAngle (neg.f32 u))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(neg.f32 (*.f32 u normAngle))
(*.f32 normAngle (neg.f32 u))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))

prune249.0ms (2.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1347141
Fresh011
Picked101
Done000
Total1358143
Error
0.0b
Counts
143 → 8
Alt Table
StatusErrorProgram
8.3b
(/.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 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.1b
(+.f32 (pow.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))) 3) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.0b
(+.f32 (*.f32 (log.f32 (exp.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.0b
(+.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))
2.6b
(+.f32 (-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.4b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 31/15120 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 u (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))))))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 7/2160 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))) n1_i))
0.8b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 5851 to 3358 computations (42.6% saved)

localize232.0ms (2.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (-.f32 1 u) normAngle)
0.1b
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
0.2b
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))
0.3b
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))

series9.0ms (0.1%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
5.0ms
normAngle
@0
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))
2.0ms
normAngle
@inf
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))
1.0ms
u
@0
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))
1.0ms
u
@inf
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))
0.0ms
u
@-inf
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))

rewrite37.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
690×pow1_binary32
637×add-log-exp_binary32
637×log1p-expm1-u_binary32
637×expm1-log1p-u_binary32
78×add-sqr-sqrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
116510
2178810
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (*.f32 1/6 u)) normAngle) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 1/36 (*.f32 (pow.f32 normAngle 4) (*.f32 u u))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 u) (*.f32 normAngle normAngle)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 u))))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
12 → 12
Calls
Call 1
Inputs
Outputs

prune419.0ms (4.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1111112
Fresh077
Picked101
Done000
Total1128120
Error
0.0b
Counts
120 → 8
Alt Table
StatusErrorProgram
8.3b
(/.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 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.3b
(+.f32 (*.f32 (-.f32 1 u) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 31/15120 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 u (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))))))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 7/2160 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))) n1_i))
1.1b
(+.f32 (pow.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))) 3) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.0b
(+.f32 (*.f32 (log.f32 (exp.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.0b
(+.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))
2.6b
(+.f32 (-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 13261 to 9756 computations (26.4% saved)

localize188.0ms (2.2%)

Local error

Found 4 expressions with local error:

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

series15.0ms (0.2%)

Counts
3 → 12
Calls

18 calls:

TimeVariablePointExpression
7.0ms
u
@inf
(*.f32 (-.f32 1 u) n0_i)
1.0ms
normAngle
@0
(*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))
1.0ms
u
@0
(*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))
1.0ms
u
@inf
(*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))
1.0ms
normAngle
@inf
(*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))

rewrite62.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
247×expm1-udef_binary32
246×log1p-udef_binary32
204×log-pow_binary32
149×fma-def_binary32
146×add-sqr-sqrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01527
131427
2349127
Stop Event
node limit
Counts
3 → 59
Calls
Call 1
Inputs
(*.f32 (-.f32 1 u) n0_i)
(*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))
(*.f32 u (pow.f32 normAngle 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 n0_i (*.f32 (neg.f32 u) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 n0_i (*.f32 n0_i (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (-.f32 1 u) n0_i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 u 3)) n0_i) (+.f32 1 (fma.f32 u u u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 u u)) n0_i) (+.f32 1 u))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 n0_i (-.f32 1 (pow.f32 u 3))) (+.f32 1 (fma.f32 u u u)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 n0_i (-.f32 1 (*.f32 u u))) (+.f32 1 u))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (-.f32 1 u) n0_i) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (-.f32 1 u) n0_i) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (-.f32 1 u) n0_i)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (-.f32 1 u) n0_i)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (-.f32 1 u) n0_i) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 n0_i) (-.f32 1 u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (-.f32 1 u) n0_i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (-.f32 1 u) n0_i) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) (pow.f32 n0_i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 n0_i 3) (pow.f32 (-.f32 1 u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (-.f32 1 u) n0_i)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (-.f32 1 u) n0_i)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (-.f32 1 u) n0_i)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 n0_i (*.f32 (neg.f32 u) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 n0_i (*.f32 n0_i (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 n0_i 1 (*.f32 (neg.f32 u) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 n0_i 1 (*.f32 n0_i (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 n0_i) (pow.f32 (cbrt.f32 n0_i) 2) (*.f32 (neg.f32 u) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 n0_i) (pow.f32 (cbrt.f32 n0_i) 2) (*.f32 n0_i (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 n0_i) 2) (cbrt.f32 n0_i) (*.f32 (neg.f32 u) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 n0_i) 2) (cbrt.f32 n0_i) (*.f32 n0_i (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 n0_i) (sqrt.f32 n0_i) (*.f32 (neg.f32 u) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 n0_i) (sqrt.f32 n0_i) (*.f32 n0_i (neg.f32 u)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (-.f32 1 u) n0_i)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 u (pow.f32 (cbrt.f32 normAngle) 2)) (cbrt.f32 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 normAngle (pow.f32 u 3/2)) (sqrt.f32 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 6)) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 (pow.f32 u 3)) (*.f32 normAngle normAngle)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 1/6 (pow.f32 u 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u (*.f32 normAngle normAngle)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u (*.f32 normAngle normAngle)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u (*.f32 normAngle normAngle)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u (*.f32 normAngle normAngle))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 normAngle (sqrt.f32 u)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 normAngle 4) (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 u) (*.f32 normAngle normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u (*.f32 normAngle normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u (*.f32 normAngle normAngle)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 u 3) (pow.f32 (*.f32 normAngle normAngle) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 normAngle normAngle) 3) (pow.f32 u 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u (*.f32 normAngle normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u (*.f32 normAngle normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u (*.f32 normAngle normAngle))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u (*.f32 normAngle normAngle))))))))

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
111×fma-def_binary32
89×fma-neg_binary32
23×cancel-sign-sub-inv_binary32
20×associate-*r*_binary32
19×sub-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0776
11676
23476
35776
48576
516776
630176
741076
849176
949776
Stop Event
saturated
Counts
71 → 64
Calls
Call 1
Inputs
n0_i
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(*.f32 -1 (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(*.f32 -1 (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 u n0_i))
Outputs
n0_i
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(*.f32 -1 (*.f32 u n0_i))
(neg.f32 (*.f32 n0_i u))
(*.f32 n0_i (neg.f32 u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(*.f32 -1 (*.f32 u n0_i))
(neg.f32 (*.f32 n0_i u))
(*.f32 n0_i (neg.f32 u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))
(-.f32 n0_i (*.f32 u n0_i))
(-.f32 n0_i (*.f32 n0_i u))

prune262.0ms (3.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New76076
Fresh077
Picked011
Done000
Total76884
Error
0.0b
Counts
84 → 8
Alt Table
StatusErrorProgram
8.3b
(/.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 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.3b
(+.f32 (*.f32 (-.f32 1 u) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 31/15120 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 u (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))))))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 7/2160 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))) n1_i))
1.1b
(+.f32 (pow.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 n0_i (sin.f32 normAngle)))) 3) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.0b
(+.f32 (*.f32 (log.f32 (exp.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.0b
(+.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))
2.6b
(+.f32 (-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 7791 to 5811 computations (25.4% saved)

localize81.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i)
0.2b
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
1.6b
(/.f32 (sin.f32 normAngle) (*.f32 u normAngle))
1.7b
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle)))

series22.0ms (0.3%)

Counts
3 → 64
Calls

21 calls:

TimeVariablePointExpression
3.0ms
u
@-inf
(*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i)
3.0ms
n0_i
@0
(*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i)
1.0ms
u
@0
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
1.0ms
normAngle
@0
(/.f32 (sin.f32 normAngle) (*.f32 u normAngle))
1.0ms
normAngle
@-inf
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))

rewrite649.0ms (7.6%)

Algorithm
batch-egg-rewrite
Rules
548×prod-diff_binary32
182×add-sqr-sqrt_binary32
177×*-un-lft-identity_binary32
177×pow1_binary32
167×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01756
135953
2484653
Stop Event
node limit
Counts
3 → 107
Calls
Call 1
Inputs
(/.f32 (sin.f32 normAngle) (*.f32 u normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 normAngle) (/.f32 1 (*.f32 normAngle u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (cbrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 2)) (cbrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2)) (*.f32 (cbrt.f32 (sin.f32 normAngle)) (/.f32 1 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 normAngle)) (*.f32 (sqrt.f32 (sin.f32 normAngle)) (/.f32 1 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 normAngle)) (/.f32 1 (*.f32 u (neg.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 normAngle u)) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 normAngle) u) (/.f32 1 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 normAngle) (/.f32 (sin.f32 normAngle) u))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2)) normAngle) (/.f32 (cbrt.f32 (sin.f32 normAngle)) u))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 normAngle)) normAngle) (/.f32 (sqrt.f32 (sin.f32 normAngle)) u))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 normAngle)) u) (/.f32 (sqrt.f32 (sin.f32 normAngle)) normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 u) (/.f32 (sin.f32 normAngle) normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2)) u) (/.f32 (cbrt.f32 (sin.f32 normAngle)) normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2)) 1) (/.f32 (cbrt.f32 (sin.f32 normAngle)) (*.f32 normAngle u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 normAngle)) 1) (/.f32 (sqrt.f32 (sin.f32 normAngle)) (*.f32 normAngle u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 normAngle u)) 2)) (/.f32 (sin.f32 normAngle) (cbrt.f32 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2)) (pow.f32 (cbrt.f32 (*.f32 normAngle u)) 2)) (cbrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 normAngle)) (pow.f32 (cbrt.f32 (*.f32 normAngle u)) 2)) (/.f32 (sqrt.f32 (sin.f32 normAngle)) (cbrt.f32 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 normAngle u))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2)) (sqrt.f32 (*.f32 normAngle u))) (/.f32 (cbrt.f32 (sin.f32 normAngle)) (sqrt.f32 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 normAngle) (*.f32 u (neg.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 normAngle) 3) (pow.f32 (*.f32 normAngle u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cos.f32 normAngle) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) (pow.f32 (cbrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2) (cbrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cos.f32 normAngle)) 2) (*.f32 (cbrt.f32 (cos.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) (sqrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cos.f32 normAngle)) (*.f32 (sqrt.f32 (cos.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (cos.f32 normAngle)) (/.f32 1 (/.f32 (neg.f32 (sin.f32 normAngle)) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (cos.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (cos.f32 normAngle)) 2) 1) (/.f32 (cbrt.f32 (cos.f32 normAngle)) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (cos.f32 normAngle)) 1) (/.f32 (sqrt.f32 (cos.f32 normAngle)) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (cos.f32 normAngle)) (sin.f32 normAngle)) (/.f32 (sqrt.f32 (cos.f32 normAngle)) (/.f32 1 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sin.f32 normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 1 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (cos.f32 normAngle)) 2) (sin.f32 normAngle)) (/.f32 (cbrt.f32 (cos.f32 normAngle)) (/.f32 1 (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 2))) (/.f32 (cos.f32 normAngle) (cbrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (cos.f32 normAngle)) 2) (cbrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 2))) (cbrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (cos.f32 normAngle)) (cbrt.f32 (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 2))) (/.f32 (sqrt.f32 (cos.f32 normAngle)) (cbrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))) (/.f32 (cos.f32 normAngle) (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (cos.f32 normAngle)) 2) (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))) (/.f32 (cbrt.f32 (cos.f32 normAngle)) (sqrt.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cos.f32 normAngle) 1) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cos.f32 normAngle) (neg.f32 (sin.f32 normAngle))) (*.f32 u (neg.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) u)) normAngle)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) normAngle) u)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) u) normAngle)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) 1) (*.f32 normAngle u))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (pow.f32 (cbrt.f32 (*.f32 normAngle u)) 2)) (cbrt.f32 (*.f32 normAngle u)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (sqrt.f32 (*.f32 normAngle u))) (sqrt.f32 (*.f32 normAngle u)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 (cos.f32 normAngle) (*.f32 normAngle u))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (neg.f32 (sin.f32 normAngle)) (*.f32 normAngle u))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (cos.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (cos.f32 normAngle) 3) (pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 n0_i (*.f32 (neg.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 n0_i (*.f32 n0_i (neg.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 3)) n0_i) (+.f32 (+.f32 1 (pow.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2)) (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2)) n0_i) (+.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 n0_i (-.f32 1 (pow.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 3))) (+.f32 (+.f32 1 (pow.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2)) (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 n0_i (-.f32 1 (pow.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))) 2))) (+.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 n0_i) (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) 3) (pow.f32 n0_i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 n0_i 3) (pow.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)))))))

simplify53.0ms (0.6%)

Algorithm
egg-herbie
Rules
453×distribute-rgt-neg-in_binary32
408×fma-def_binary32
329×associate-*l*_binary32
300×associate-*r*_binary32
267×times-frac_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0901603
12731603
28501500
335731500
Stop Event
node limit
Counts
171 → 140
Calls
Call 1
Inputs
(/.f32 1 u)
(-.f32 (/.f32 1 u) (*.f32 1/6 (/.f32 (pow.f32 normAngle 2) u)))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (pow.f32 normAngle 4) u)) (/.f32 1 u)) (*.f32 1/6 (/.f32 (pow.f32 normAngle 2) u)))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (pow.f32 normAngle 4) u)) (/.f32 1 u)) (+.f32 (*.f32 1/5040 (/.f32 (pow.f32 normAngle 6) u)) (*.f32 1/6 (/.f32 (pow.f32 normAngle 2) u))))
u
(-.f32 u (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))))
(-.f32 u (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4)))))
(-.f32 u (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))))))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
n0_i
(-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 u))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) n0_i) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 u n0_i)))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/45 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) n0_i)) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 u n0_i)))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 2/945 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/45 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) n0_i))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 u n0_i)))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
Outputs
(/.f32 1 u)
(-.f32 (/.f32 1 u) (*.f32 1/6 (/.f32 (pow.f32 normAngle 2) u)))
(+.f32 (/.f32 1 u) (*.f32 -1/6 (/.f32 (*.f32 normAngle normAngle) u)))
(-.f32 (/.f32 1 u) (*.f32 1/6 (/.f32 (*.f32 normAngle normAngle) u)))
(fma.f32 (/.f32 (*.f32 normAngle normAngle) u) -1/6 (/.f32 1 u))
(fma.f32 (*.f32 (/.f32 normAngle u) normAngle) -1/6 (/.f32 1 u))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (pow.f32 normAngle 4) u)) (/.f32 1 u)) (*.f32 1/6 (/.f32 (pow.f32 normAngle 2) u)))
(+.f32 (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (/.f32 1 u)) (*.f32 -1/6 (/.f32 (*.f32 normAngle normAngle) u)))
(+.f32 (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (/.f32 1 u)) (*.f32 (/.f32 (*.f32 normAngle normAngle) u) -1/6))
(fma.f32 (/.f32 (*.f32 normAngle normAngle) u) -1/6 (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (/.f32 1 u)))
(fma.f32 (*.f32 (/.f32 normAngle u) normAngle) -1/6 (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (/.f32 1 u)))
(-.f32 (+.f32 (*.f32 1/120 (/.f32 (pow.f32 normAngle 4) u)) (/.f32 1 u)) (+.f32 (*.f32 1/5040 (/.f32 (pow.f32 normAngle 6) u)) (*.f32 1/6 (/.f32 (pow.f32 normAngle 2) u))))
(-.f32 (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (/.f32 1 u)) (fma.f32 1/5040 (/.f32 (pow.f32 normAngle 6) u) (*.f32 1/6 (/.f32 (*.f32 normAngle normAngle) u))))
(-.f32 (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (/.f32 1 u)) (fma.f32 1/6 (/.f32 (*.f32 normAngle normAngle) u) (*.f32 1/5040 (/.f32 (pow.f32 normAngle 6) u))))
(+.f32 (/.f32 1 u) (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (fma.f32 (/.f32 (*.f32 normAngle normAngle) u) -1/6 (/.f32 -1/5040 (/.f32 u (pow.f32 normAngle 6))))))
(+.f32 (/.f32 1 u) (fma.f32 1/120 (/.f32 (pow.f32 normAngle 4) u) (fma.f32 (*.f32 (/.f32 normAngle u) normAngle) -1/6 (*.f32 (/.f32 (pow.f32 normAngle 6) u) -1/5040))))
u
(-.f32 u (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))))
(+.f32 u (*.f32 -1/3 (*.f32 u (*.f32 normAngle normAngle))))
(+.f32 u (*.f32 (*.f32 u (*.f32 normAngle normAngle)) -1/3))
(fma.f32 (*.f32 u (*.f32 normAngle normAngle)) -1/3 u)
(-.f32 u (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4)))))
(-.f32 u (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (*.f32 (*.f32 1/45 u) (pow.f32 normAngle 4))))
(-.f32 u (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (*.f32 u (*.f32 (pow.f32 normAngle 4) 1/45))))
(-.f32 u (*.f32 u (+.f32 (*.f32 (*.f32 normAngle normAngle) 1/3) (*.f32 (pow.f32 normAngle 4) 1/45))))
(+.f32 u (*.f32 u (+.f32 (*.f32 (*.f32 normAngle normAngle) -1/3) (*.f32 (pow.f32 normAngle 4) -1/45))))
(-.f32 u (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))))))
(-.f32 u (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (*.f32 (*.f32 1/45 u) (pow.f32 normAngle 4)))))
(-.f32 u (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (*.f32 u (*.f32 (pow.f32 normAngle 6) 2/945)))))
(-.f32 u (fma.f32 u (*.f32 (pow.f32 normAngle 4) 1/45) (*.f32 u (+.f32 (*.f32 (*.f32 normAngle normAngle) 1/3) (*.f32 (pow.f32 normAngle 6) 2/945)))))
(-.f32 (fma.f32 (*.f32 u (*.f32 normAngle normAngle)) -1/3 u) (*.f32 u (+.f32 (*.f32 (pow.f32 normAngle 4) 1/45) (*.f32 (pow.f32 normAngle 6) 2/945))))
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
(/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))
(/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))
(*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)
n0_i
(-.f32 n0_i (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))
(-.f32 n0_i (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle))))
(-.f32 n0_i (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle)))
(-.f32 n0_i (*.f32 (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle) n0_i))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) -1/2)
(*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2))
(*.f32 u (*.f32 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) -1/2))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(neg.f32 (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2)) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 -1/2 normAngle) (*.f32 u (*.f32 u normAngle))) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 (*.f32 u u) -1/2)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) -1/2)
(*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2))
(*.f32 u (*.f32 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) -1/2))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(neg.f32 (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2)) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 -1/2 normAngle) (*.f32 u (*.f32 u normAngle))) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 (*.f32 u u) -1/2)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 n0_i (-.f32 1 u))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) n0_i) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 u n0_i)))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) n0_i) (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (*.f32 u n0_i)))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))))))
(+.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (-.f32 (*.f32 u 1/3) (*.f32 1/2 (*.f32 u u)))) (*.f32 u n0_i)))
(+.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/3) (*.f32 (*.f32 u u) -1/2))) (*.f32 u n0_i)))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 1/45 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) n0_i)) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 u n0_i)))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 1/45 (*.f32 (*.f32 u n0_i) (pow.f32 normAngle 4)) n0_i)) (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (*.f32 u n0_i)))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) (fma.f32 1/45 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) n0_i)) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))))))
(+.f32 (fma.f32 1/45 (*.f32 (pow.f32 normAngle 4) (*.f32 u n0_i)) n0_i) (-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (-.f32 (*.f32 u 1/3) (*.f32 1/2 (*.f32 u u)))) (*.f32 u n0_i)))
(+.f32 (fma.f32 (*.f32 u (*.f32 1/45 n0_i)) (pow.f32 normAngle 4) n0_i) (-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/3) (*.f32 (*.f32 u u) -1/2))) (*.f32 u n0_i)))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 (*.f32 2/945 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 6)))) (+.f32 (*.f32 1/45 (*.f32 u (*.f32 n0_i (pow.f32 normAngle 4)))) n0_i))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 u n0_i)))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i)) (fma.f32 2/945 (*.f32 u (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 1/45 (*.f32 (*.f32 u n0_i) (pow.f32 normAngle 4)) n0_i))) (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (*.f32 u n0_i)))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) (fma.f32 2/945 (*.f32 u (*.f32 (pow.f32 normAngle 6) n0_i)) (fma.f32 1/45 (*.f32 u (*.f32 (pow.f32 normAngle 4) n0_i)) n0_i))) (fma.f32 u n0_i (*.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))))))
(+.f32 (*.f32 n0_i (*.f32 u (+.f32 (*.f32 (pow.f32 normAngle 4) 1/45) (*.f32 (pow.f32 normAngle 6) 2/945)))) (+.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (-.f32 (*.f32 u 1/3) (*.f32 1/2 (*.f32 u u)))) (*.f32 u n0_i))))
(+.f32 n0_i (+.f32 (*.f32 (*.f32 u n0_i) (+.f32 (*.f32 (pow.f32 normAngle 4) 1/45) (*.f32 (pow.f32 normAngle 6) 2/945))) (-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (+.f32 (*.f32 u 1/3) (*.f32 (*.f32 u u) -1/2))) (*.f32 u n0_i))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) -1/2)
(*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2))
(*.f32 u (*.f32 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) -1/2))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(neg.f32 (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2)) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 -1/2 normAngle) (*.f32 u (*.f32 u normAngle))) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 (*.f32 u u) -1/2)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) -1/2)
(*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2))
(*.f32 u (*.f32 (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i))) -1/2))
(neg.f32 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(neg.f32 (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (*.f32 (*.f32 u u) -1/2)) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 -1/2 normAngle) (*.f32 u (*.f32 u normAngle))) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 (*.f32 u u) -1/2)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle)))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(*.f32 (-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))) n0_i)
(-.f32 n0_i (fma.f32 1/2 (*.f32 (*.f32 (*.f32 u u) n0_i) (*.f32 normAngle normAngle)) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (*.f32 u n0_i) normAngle)))))
(-.f32 n0_i (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle (*.f32 normAngle n0_i)))) (/.f32 (*.f32 (*.f32 u normAngle) (*.f32 (cos.f32 normAngle) n0_i)) (sin.f32 normAngle))))
(*.f32 n0_i (-.f32 1 (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))
(-.f32 n0_i (*.f32 n0_i (fma.f32 (*.f32 normAngle normAngle) (*.f32 1/2 (*.f32 u u)) (*.f32 (/.f32 (*.f32 u (cos.f32 normAngle)) (sin.f32 normAngle)) normAngle))))

prune289.0ms (3.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1792181
Fresh336
Picked101
Done011
Total1836189
Error
0.0b
Counts
189 → 6
Alt Table
StatusErrorProgram
8.3b
(/.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 n0_i (*.f32 (neg.f32 (fma.f32 1/2 (pow.f32 (*.f32 normAngle u) 2) (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))) n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.3b
(+.f32 (*.f32 (-.f32 1 u) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 (*.f32 31/15120 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 u (+.f32 (*.f32 7/360 (*.f32 u (pow.f32 normAngle 4))) (*.f32 1/6 (*.f32 u (pow.f32 normAngle 2)))))))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 7/2160 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))) n1_i))
1.0b
(+.f32 (*.f32 (log.f32 (exp.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.0b
(+.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))
0.9b
(+.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (log.f32 (+.f32 1 (expm1.f32 (*.f32 (*.f32 normAngle u) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 7481 to 3011 computations (59.8% saved)

regimes739.0ms (8.7%)

Accuracy

Total 0.2b remaining (82%)

Threshold costs 0.2b (82%)

Counts
209 → 1
Compiler

Compiled 7694 to 3286 computations (57.3% saved)

simplify4.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
044103
160103
264103
366103
467103
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i) (*.f32 (+.f32 (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6))) (*.f32 -1/5040 (*.f32 (/.f32 (pow.f32 u 7) (sin.f32 normAngle)) (pow.f32 normAngle 7)))) n1_i))
Outputs
(+.f32 (*.f32 (-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))) n0_i) (*.f32 (+.f32 (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) -1/6))) (*.f32 -1/5040 (*.f32 (/.f32 (pow.f32 u 7) (sin.f32 normAngle)) (pow.f32 normAngle 7)))) n1_i))

end219.0ms (2.6%)

Stop Event
fuel
Compiler

Compiled 400 to 271 computations (32.3% saved)

Profiling

Loading profile data...