Details

Time bar (total: 8.1s)

analyze590.0ms (7.3%)

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
Compiler

Compiled 62 to 45 computations (27.4% saved)

sample3.9s (48.2%)

Results
3.0s8256×body64valid
834.0ms2090×body64invalid

preprocess66.0ms (0.8%)

Algorithm
egg-herbie
Rules
516×fma-neg_binary32
426×fma-def_binary32
343×distribute-rgt-neg-out_binary32
334×distribute-rgt-neg-in_binary32
327×neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075259
1186217
2445217
3942182
41406182
51644182
61945182
72744182
84465182
96179182
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)

simplify67.0ms (0.8%)

Algorithm
egg-herbie
Rules
1069×fma-neg_binary32
1021×fma-def_binary32
887×div-sub_binary32
598×times-frac_binary32
281×sub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01837
13831
28431
317226
426126
531226
638226
748626
874626
988026
10108526
11176426
12392226
13510626
14574926
15644526
16710326
17743926
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))

prune3.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
0.8b
(+.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))
7.0b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
Compiler

Compiled 146 to 89 computations (39% saved)

localize58.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

series26.0ms (0.3%)

Counts
4 → 96
Calls

27 calls:

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

rewrite70.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
819×log-prod_binary32
625×prod-diff_binary32
275×expm1-udef_binary32
274×log1p-udef_binary32
237×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

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

simplify100.0ms (1.2%)

Algorithm
egg-herbie
Rules
729×fma-def_binary32
729×fma-neg_binary32
361×*-commutative_binary32
341×associate-+l+_binary32
333×sub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01712110
15142027
217451993
365051979
Stop Event
node limit
Counts
208 → 167
Calls
Call 1
Inputs
(/.f32 (*.f32 u normAngle) (sin.f32 normAngle))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (+.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/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (+.f32 (*.f32 -1/5040 (/.f32 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 7)) (sin.f32 normAngle))) (+.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 (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 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u)) (pow.f32 normAngle 2)) u)
(+.f32 (*.f32 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))))) (pow.f32 normAngle 4)) (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u)) (pow.f32 normAngle 2)) u))
(+.f32 (*.f32 (-.f32 (*.f32 -1/5040 (pow.f32 u 7)) (+.f32 (*.f32 1/120 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))) (+.f32 (*.f32 -1/5040 u) (*.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))))))))) (pow.f32 normAngle 6)) (+.f32 (*.f32 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))))) (pow.f32 normAngle 4)) (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u)) (pow.f32 normAngle 2)) u)))
(/.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 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))))
(+.f32 1 (+.f32 (*.f32 -1 (/.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 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (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 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(-.f32 1 u)
(-.f32 (+.f32 1 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u))) (pow.f32 normAngle 2))) u)
(-.f32 (+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u))) (pow.f32 normAngle 2)) (*.f32 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 1/120 (-.f32 1 u)))) (pow.f32 normAngle 4)))) u)
(-.f32 (+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u))) (pow.f32 normAngle 2)) (+.f32 (*.f32 (-.f32 (*.f32 -1/5040 (pow.f32 (-.f32 1 u) 7)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 1/120 (-.f32 1 u))))) (+.f32 (*.f32 1/120 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 -1/5040 (-.f32 1 u))))) (pow.f32 normAngle 6)) (*.f32 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 1/120 (-.f32 1 u)))) (pow.f32 normAngle 4))))) u)
(/.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))
normAngle
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(*.f32 -1 (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(*.f32 -1 (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
n0_i
(+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 (*.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 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i 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 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(*.f32 (-.f32 1 u) n0_i)
(+.f32 (*.f32 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))) (pow.f32 normAngle 2)) (*.f32 (-.f32 1 u) n0_i))
(+.f32 (*.f32 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))) (pow.f32 normAngle 2)) (+.f32 (*.f32 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (+.f32 (*.f32 1/120 (*.f32 (-.f32 1 u) n0_i)) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i)))))) (pow.f32 normAngle 4)) (*.f32 (-.f32 1 u) n0_i)))
(+.f32 (*.f32 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))) (pow.f32 normAngle 2)) (+.f32 (*.f32 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (+.f32 (*.f32 1/120 (*.f32 (-.f32 1 u) n0_i)) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i)))))) (pow.f32 normAngle 4)) (+.f32 (*.f32 (-.f32 1 u) n0_i) (*.f32 (-.f32 (*.f32 -1/5040 (*.f32 (pow.f32 (-.f32 1 u) 7) n0_i)) (+.f32 (*.f32 -1/5040 (*.f32 (-.f32 1 u) n0_i)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (+.f32 (*.f32 1/120 (*.f32 (-.f32 1 u) n0_i)) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))))))) (*.f32 1/120 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) 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))
Outputs
(/.f32 (*.f32 u normAngle) (sin.f32 normAngle))
(/.f32 u (/.f32 (sin.f32 normAngle) normAngle))
(*.f32 normAngle (/.f32 u (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.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 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (+.f32 (*.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (fma.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle)) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle))))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (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 u (/.f32 (sin.f32 normAngle) normAngle))))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 5) (/.f32 (pow.f32 u 5) (sin.f32 normAngle))) (*.f32 normAngle (/.f32 u (sin.f32 normAngle)))))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (+.f32 (*.f32 -1/5040 (/.f32 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 7)) (sin.f32 normAngle))) (+.f32 (*.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (fma.f32 -1/5040 (/.f32 (pow.f32 u 7) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 7))) (fma.f32 1/120 (/.f32 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 5)) (sin.f32 normAngle)) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)) (fma.f32 -1/5040 (*.f32 (/.f32 (pow.f32 u 7) (sin.f32 normAngle)) (pow.f32 normAngle 7)) (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 5) (/.f32 (pow.f32 u 5) (sin.f32 normAngle))) (fma.f32 -1/5040 (*.f32 (pow.f32 normAngle 7) (/.f32 (pow.f32 u 7) (sin.f32 normAngle))) (*.f32 normAngle (/.f32 u (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 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u)) (pow.f32 normAngle 2)) u)
(fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u)) (*.f32 normAngle normAngle) u)
(fma.f32 -1/6 (*.f32 (*.f32 normAngle normAngle) (-.f32 (pow.f32 u 3) u)) u)
(+.f32 (*.f32 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))))) (pow.f32 normAngle 4)) (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u)) (pow.f32 normAngle 2)) u))
(fma.f32 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (fma.f32 1/120 u (*.f32 -1/6 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u))))) (pow.f32 normAngle 4) (fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u)) (*.f32 normAngle normAngle) u))
(fma.f32 (-.f32 (*.f32 1/120 (-.f32 (pow.f32 u 5) u)) (*.f32 1/36 (-.f32 (pow.f32 u 3) u))) (pow.f32 normAngle 4) (fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u)) (*.f32 normAngle normAngle) u))
(fma.f32 (fma.f32 1/120 (-.f32 (pow.f32 u 5) u) (*.f32 -1/36 (-.f32 (pow.f32 u 3) u))) (pow.f32 normAngle 4) (fma.f32 -1/6 (*.f32 (*.f32 normAngle normAngle) (-.f32 (pow.f32 u 3) u)) u))
(+.f32 (*.f32 (-.f32 (*.f32 -1/5040 (pow.f32 u 7)) (+.f32 (*.f32 1/120 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))) (+.f32 (*.f32 -1/5040 u) (*.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))))))))) (pow.f32 normAngle 6)) (+.f32 (*.f32 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u))))) (pow.f32 normAngle 4)) (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 u 3)) (*.f32 -1/6 u)) (pow.f32 normAngle 2)) u)))
(fma.f32 (-.f32 (*.f32 -1/5040 (pow.f32 u 7)) (fma.f32 1/120 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u)) (fma.f32 -1/5040 u (*.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (fma.f32 1/120 u (*.f32 -1/6 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u))))))))) (pow.f32 normAngle 6) (fma.f32 (-.f32 (*.f32 1/120 (pow.f32 u 5)) (fma.f32 1/120 u (*.f32 -1/6 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u))))) (pow.f32 normAngle 4) (fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u)) (*.f32 normAngle normAngle) u)))
(fma.f32 (-.f32 (-.f32 (*.f32 -1/5040 (pow.f32 u 7)) (*.f32 -1/720 (-.f32 (pow.f32 u 3) u))) (fma.f32 u -1/5040 (*.f32 -1/6 (-.f32 (*.f32 1/120 (-.f32 (pow.f32 u 5) u)) (*.f32 1/36 (-.f32 (pow.f32 u 3) u)))))) (pow.f32 normAngle 6) (fma.f32 (-.f32 (*.f32 1/120 (-.f32 (pow.f32 u 5) u)) (*.f32 1/36 (-.f32 (pow.f32 u 3) u))) (pow.f32 normAngle 4) (fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 u 3) u)) (*.f32 normAngle normAngle) u)))
(fma.f32 (-.f32 (*.f32 -1/5040 (pow.f32 u 7)) (fma.f32 u -1/5040 (fma.f32 -1/6 (fma.f32 1/120 (-.f32 (pow.f32 u 5) u) (*.f32 -1/36 (-.f32 (pow.f32 u 3) u))) (*.f32 (-.f32 (pow.f32 u 3) u) -1/720)))) (pow.f32 normAngle 6) (fma.f32 (fma.f32 1/120 (-.f32 (pow.f32 u 5) u) (*.f32 -1/36 (-.f32 (pow.f32 u 3) u))) (pow.f32 normAngle 4) (fma.f32 -1/6 (*.f32 (*.f32 normAngle normAngle) (-.f32 (pow.f32 u 3) u)) u)))
(/.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 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))))
(+.f32 1 (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle)))
(-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(+.f32 1 (+.f32 (*.f32 -1 (/.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 (fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))))
(+.f32 (-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))) (*.f32 -1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle)))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))))
(+.f32 1 (fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))) (fma.f32 1/6 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))))
(+.f32 (-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))) (fma.f32 -1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (/.f32 1/6 (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 normAngle 3) (*.f32 (pow.f32 u 3) (cos.f32 normAngle)))))))
(+.f32 (*.f32 (/.f32 1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 3) (cos.f32 normAngle)))) (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u)))
(-.f32 (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u -1/2)) (*.f32 (/.f32 1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 3) (cos.f32 normAngle))))) (fma.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) -1))
(/.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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
(/.f32 (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
(-.f32 1 u)
(-.f32 (+.f32 1 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u))) (pow.f32 normAngle 2))) u)
(+.f32 1 (-.f32 (*.f32 (*.f32 normAngle normAngle) (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)))) u))
(-.f32 (fma.f32 (*.f32 normAngle normAngle) (*.f32 -1/6 (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)) 1) u)
(fma.f32 -1/6 (*.f32 (*.f32 normAngle normAngle) (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (-.f32 1 u))
(fma.f32 (*.f32 normAngle normAngle) (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) (-.f32 1 u))
(-.f32 (+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u))) (pow.f32 normAngle 2)) (*.f32 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 1/120 (-.f32 1 u)))) (pow.f32 normAngle 4)))) u)
(+.f32 1 (-.f32 (fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 normAngle normAngle) (*.f32 (pow.f32 normAngle 4) (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (fma.f32 -1/6 (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 1/120 (-.f32 1 u)))))) u))
(+.f32 (fma.f32 (pow.f32 normAngle 4) (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (fma.f32 1/120 (-.f32 1 u) (*.f32 1/36 (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)))) (*.f32 (*.f32 (*.f32 normAngle normAngle) -1/6) (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))) (-.f32 1 u))
(-.f32 (fma.f32 normAngle (*.f32 normAngle (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)))) (fma.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (-.f32 (pow.f32 (-.f32 1 u) 5) (-.f32 1 u))) (*.f32 -1/36 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)))) 1)) u)
(-.f32 (fma.f32 normAngle (*.f32 normAngle (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6))) (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/120 (+.f32 (pow.f32 (-.f32 1 u) 5) (+.f32 u -1)) (*.f32 -1/36 (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1)))) 1)) u)
(-.f32 (+.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u))) (pow.f32 normAngle 2)) (+.f32 (*.f32 (-.f32 (*.f32 -1/5040 (pow.f32 (-.f32 1 u) 7)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 1/120 (-.f32 1 u))))) (+.f32 (*.f32 1/120 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 -1/5040 (-.f32 1 u))))) (pow.f32 normAngle 6)) (*.f32 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 -1/6 (pow.f32 (-.f32 1 u) 3)) (*.f32 -1/6 (-.f32 1 u)))) (*.f32 1/120 (-.f32 1 u)))) (pow.f32 normAngle 4))))) u)
(+.f32 1 (-.f32 (fma.f32 (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 normAngle normAngle) (fma.f32 (-.f32 (*.f32 -1/5040 (pow.f32 (-.f32 1 u) 7)) (fma.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (fma.f32 -1/6 (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 1/120 (-.f32 1 u)))) (fma.f32 1/120 (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 -1/5040 (-.f32 1 u))))) (pow.f32 normAngle 6) (*.f32 (pow.f32 normAngle 4) (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (fma.f32 -1/6 (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 1/120 (-.f32 1 u))))))) u))
(+.f32 1 (-.f32 (fma.f32 (*.f32 normAngle normAngle) (*.f32 -1/6 (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)) (fma.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 -1/5040 (pow.f32 (-.f32 1 u) 7)) (fma.f32 -1/6 (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (fma.f32 1/120 (-.f32 1 u) (*.f32 1/36 (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)))) (fma.f32 -1/5040 (-.f32 1 u) (*.f32 -1/720 (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))))) (*.f32 (pow.f32 normAngle 4) (-.f32 (*.f32 1/120 (pow.f32 (-.f32 1 u) 5)) (fma.f32 1/120 (-.f32 1 u) (*.f32 1/36 (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))))))) u))
(+.f32 (-.f32 1 u) (fma.f32 normAngle (*.f32 normAngle (*.f32 -1/6 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)))) (fma.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 -1/5040 (-.f32 (pow.f32 (-.f32 1 u) 7) (-.f32 1 u))) (fma.f32 -1/6 (+.f32 (*.f32 1/120 (-.f32 (pow.f32 (-.f32 1 u) 5) (-.f32 1 u))) (*.f32 -1/36 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)))) (*.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)) -1/720))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (-.f32 (pow.f32 (-.f32 1 u) 5) (-.f32 1 u))) (*.f32 -1/36 (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))))))))
(+.f32 (-.f32 1 u) (fma.f32 normAngle (*.f32 normAngle (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6))) (fma.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 -1/5040 (+.f32 (pow.f32 (-.f32 1 u) 7) (+.f32 u -1))) (fma.f32 -1/6 (fma.f32 1/120 (+.f32 (pow.f32 (-.f32 1 u) 5) (+.f32 u -1)) (*.f32 -1/36 (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1)))) (*.f32 (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1)) -1/720))) (*.f32 (pow.f32 normAngle 4) (fma.f32 1/120 (+.f32 (pow.f32 (-.f32 1 u) 5) (+.f32 u -1)) (*.f32 -1/36 (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1))))))))
(/.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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (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 (fma.f32 (neg.f32 u) normAngle normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (sin.f32 normAngle))
normAngle
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(*.f32 (neg.f32 u) normAngle)
(*.f32 u (neg.f32 normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(*.f32 (neg.f32 u) normAngle)
(*.f32 u (neg.f32 normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(+.f32 (*.f32 -1 (*.f32 u normAngle)) normAngle)
(fma.f32 -1 (*.f32 u normAngle) normAngle)
(fma.f32 (neg.f32 u) normAngle normAngle)
(-.f32 normAngle (*.f32 u normAngle))
n0_i
(+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(+.f32 n0_i (neg.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))) (sin.f32 normAngle))))
(-.f32 n0_i (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (*.f32 u normAngle) n0_i)))
(-.f32 n0_i (*.f32 (*.f32 (*.f32 u normAngle) n0_i) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (+.f32 n0_i (neg.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))) (sin.f32 normAngle)))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (*.f32 u normAngle) n0_i)))
(-.f32 (*.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) n0_i) (*.f32 (*.f32 (*.f32 u normAngle) n0_i) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.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 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))))
(fma.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 n0_i (neg.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))) (sin.f32 normAngle))))))
(fma.f32 1/6 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 3) n0_i))) (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (*.f32 u normAngle) n0_i))))
(fma.f32 -1/2 (*.f32 u (*.f32 u (*.f32 (*.f32 normAngle normAngle) n0_i))) (fma.f32 1/6 (*.f32 (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 3) n0_i)) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))) (-.f32 n0_i (*.f32 (*.f32 (*.f32 u normAngle) n0_i) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.f32 (*.f32 n0_i (sin.f32 (*.f32 (+.f32 1 (*.f32 -1 u)) normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (/.f32 (sin.f32 normAngle) n0_i))
(*.f32 (/.f32 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(*.f32 (-.f32 1 u) n0_i)
(-.f32 n0_i (*.f32 u n0_i))
(+.f32 (*.f32 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))) (pow.f32 normAngle 2)) (*.f32 (-.f32 1 u) n0_i))
(fma.f32 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i))) (*.f32 normAngle normAngle) (*.f32 (-.f32 1 u) n0_i))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 -1/6 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))) (*.f32 (-.f32 1 u) n0_i))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 (*.f32 -1/6 n0_i) (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 (-.f32 1 u) n0_i))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) n0_i) (-.f32 n0_i (*.f32 u n0_i)))
(+.f32 (*.f32 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))) (pow.f32 normAngle 2)) (+.f32 (*.f32 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (+.f32 (*.f32 1/120 (*.f32 (-.f32 1 u) n0_i)) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i)))))) (pow.f32 normAngle 4)) (*.f32 (-.f32 1 u) n0_i)))
(fma.f32 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i))) (*.f32 normAngle normAngle) (fma.f32 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (fma.f32 1/120 (*.f32 (-.f32 1 u) n0_i) (*.f32 -1/6 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i)))))) (pow.f32 normAngle 4) (*.f32 (-.f32 1 u) n0_i)))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 -1/6 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))) (fma.f32 (pow.f32 normAngle 4) (-.f32 (*.f32 1/120 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i) (*.f32 (-.f32 1 u) n0_i))) (*.f32 1/36 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)))) (*.f32 (-.f32 1 u) n0_i)))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 1/120 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 5) (-.f32 1 u))) (*.f32 -1/36 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))))) (fma.f32 (*.f32 normAngle normAngle) (*.f32 (*.f32 -1/6 n0_i) (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))) (*.f32 (-.f32 1 u) n0_i)))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 1/120 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 5) (+.f32 u -1))) (*.f32 -1/36 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1))))) (fma.f32 (*.f32 normAngle normAngle) (*.f32 (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) n0_i) (-.f32 n0_i (*.f32 u n0_i))))
(+.f32 (*.f32 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))) (pow.f32 normAngle 2)) (+.f32 (*.f32 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (+.f32 (*.f32 1/120 (*.f32 (-.f32 1 u) n0_i)) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i)))))) (pow.f32 normAngle 4)) (+.f32 (*.f32 (-.f32 1 u) n0_i) (*.f32 (-.f32 (*.f32 -1/5040 (*.f32 (pow.f32 (-.f32 1 u) 7) n0_i)) (+.f32 (*.f32 -1/5040 (*.f32 (-.f32 1 u) n0_i)) (+.f32 (*.f32 -1/6 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (+.f32 (*.f32 1/120 (*.f32 (-.f32 1 u) n0_i)) (*.f32 -1/6 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))))))) (*.f32 1/120 (-.f32 (*.f32 -1/6 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i)) (*.f32 -1/6 (*.f32 (-.f32 1 u) n0_i))))))) (pow.f32 normAngle 6)))))
(fma.f32 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i))) (*.f32 normAngle normAngle) (fma.f32 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (fma.f32 1/120 (*.f32 (-.f32 1 u) n0_i) (*.f32 -1/6 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i)))))) (pow.f32 normAngle 4) (fma.f32 (-.f32 1 u) n0_i (*.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 -1/5040 (*.f32 (pow.f32 (-.f32 1 u) 7) n0_i)) (fma.f32 -1/5040 (*.f32 (-.f32 1 u) n0_i) (fma.f32 -1/6 (-.f32 (*.f32 1/120 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i)) (fma.f32 1/120 (*.f32 (-.f32 1 u) n0_i) (*.f32 -1/6 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i)))))) (*.f32 1/120 (*.f32 -1/6 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 3) n0_i) (*.f32 (-.f32 1 u) n0_i)))))))))))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 -1/6 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))) (fma.f32 (pow.f32 normAngle 4) (-.f32 (*.f32 1/120 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i) (*.f32 (-.f32 1 u) n0_i))) (*.f32 1/36 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)))) (fma.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 -1/5040 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 7) n0_i) (*.f32 (-.f32 1 u) n0_i))) (fma.f32 -1/6 (-.f32 (*.f32 1/120 (-.f32 (*.f32 (pow.f32 (-.f32 1 u) 5) n0_i) (*.f32 (-.f32 1 u) n0_i))) (*.f32 1/36 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u)))) (*.f32 -1/720 (*.f32 n0_i (+.f32 (-.f32 (pow.f32 (-.f32 1 u) 3) 1) u))))) (*.f32 (-.f32 1 u) n0_i))))
(fma.f32 normAngle (*.f32 normAngle (*.f32 (*.f32 -1/6 n0_i) (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u)))) (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/120 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 5) (-.f32 1 u))) (*.f32 -1/36 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))))) (fma.f32 (pow.f32 normAngle 6) (+.f32 (fma.f32 -1/5040 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 7) (-.f32 1 u))) (*.f32 1/720 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))))) (*.f32 1/6 (fma.f32 1/120 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 5) (-.f32 1 u))) (*.f32 -1/36 (*.f32 n0_i (-.f32 (pow.f32 (-.f32 1 u) 3) (-.f32 1 u))))))) (*.f32 (-.f32 1 u) n0_i))))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 1/120 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 5) (+.f32 u -1))) (*.f32 -1/36 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1))))) (fma.f32 normAngle (*.f32 normAngle (*.f32 (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) n0_i)) (fma.f32 (pow.f32 normAngle 6) (+.f32 (fma.f32 -1/5040 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 7) (+.f32 u -1))) (*.f32 1/720 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1))))) (*.f32 1/6 (fma.f32 1/120 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 5) (+.f32 u -1))) (*.f32 -1/36 (*.f32 n0_i (+.f32 (pow.f32 (-.f32 1 u) 3) (+.f32 u -1))))))) (-.f32 n0_i (*.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))
(/.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 n0_i (sin.f32 normAngle)) (sin.f32 (fma.f32 (neg.f32 u) normAngle normAngle)))
(*.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) (/.f32 n0_i (sin.f32 normAngle)))

prune524.0ms (6.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1589167
Fresh101
Picked101
Done000
Total1609169
Error
0.0b
Counts
169 → 9
Alt Table
StatusErrorProgram
0.7b
(+.f32 (fma.f32 (*.f32 normAngle normAngle) (*.f32 (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) n0_i) (-.f32 n0_i (*.f32 u n0_i))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.0b
(+.f32 (*.f32 (log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 u normAngle))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 u normAngle))))) n1_i))
12.7b
(+.f32 (*.f32 (*.f32 (sin.f32 (cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.5b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
0.7b
(+.f32 (*.f32 (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u)) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.3b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 6214 to 3504 computations (43.6% saved)

localize83.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (-.f32 1 u) normAngle)
0.4b
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
0.4b
(/.f32 -1/6 (sin.f32 normAngle))
2.7b
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))

series12.0ms (0.2%)

Counts
2 → 28
Calls

9 calls:

TimeVariablePointExpression
4.0ms
normAngle
@-inf
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))
2.0ms
normAngle
@inf
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))
2.0ms
u
@0
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))
1.0ms
normAngle
@0
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))
1.0ms
u
@inf
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary32
409×exp-prod_binary32
404×pow-prod-down_binary32
280×pow2_binary32
246×pow-unpow_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
124521
2283421
Stop Event
node limit
Counts
2 → 70
Calls
Call 1
Inputs
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))
(/.f32 -1/6 (sin.f32 normAngle))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 normAngle u) 3) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 normAngle u) 3) (sin.f32 normAngle))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 -1/6 (/.f32 (sin.f32 normAngle) (pow.f32 (*.f32 normAngle u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (*.f32 normAngle u) 3) (*.f32 (sin.f32 normAngle) -6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (sin.f32 normAngle) (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3)) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3))) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3)) 1) (sin.f32 normAngle))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3)) (pow.f32 (cbrt.f32 (sin.f32 normAngle)) 2)) (cbrt.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1/6 (pow.f32 (*.f32 normAngle u) 3)) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 (*.f32 normAngle u) 3) 1/6) (neg.f32 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 normAngle u) 3) (sin.f32 normAngle))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u)) 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u)) 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 normAngle) (*.f32 -1/6 (pow.f32 (*.f32 normAngle u) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle))))) 2)) (cbrt.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))))) (sqrt.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 normAngle u) 3) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u)) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 normAngle u) 3) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (pow.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u)) 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (*.f32 normAngle u))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sqrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (*.f32 normAngle u) 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (fma.f32 3 (log.f32 (*.f32 normAngle u)) (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 normAngle u) 3) (sin.f32 normAngle)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 -1/6 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/6 (/.f32 1 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1/6 (sin.f32 normAngle)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 -1/6 (sin.f32 normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (pow.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) 2) (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) (sqrt.f32 (/.f32 -1/6 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/6 (/.f32 1 (neg.f32 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sin.f32 normAngle)) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 -1/6 (sin.f32 normAngle)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 1/36 (pow.f32 (sin.f32 normAngle) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 -1/6 (sin.f32 normAngle)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 -1/6 (sin.f32 normAngle))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sin.f32 normAngle) -6) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (/.f32 -1/6 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (sin.f32 normAngle) -6) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 2)) (cbrt.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle))))) (sqrt.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 1/36 (pow.f32 (sin.f32 normAngle) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 -1/6 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 -1/6 (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 -1/6 (sin.f32 normAngle)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 -1/6 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (/.f32 -1/6 (sin.f32 normAngle)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (sin.f32 normAngle) -6)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (/.f32 -1/6 (sin.f32 normAngle))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 -1/6 (sin.f32 normAngle))))))))

simplify36.0ms (0.4%)

Algorithm
egg-herbie
Rules
452×associate-*l*_binary32
444×distribute-lft-out_binary32
416×associate-+l+_binary32
416×distribute-rgt-in_binary32
408×distribute-lft-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063570
1178551
2609530
33152461
Stop Event
node limit
Counts
98 → 87
Calls
Call 1
Inputs
(*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))
(+.f32 (*.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))
(+.f32 (*.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -1/36 (pow.f32 u 3)) (*.f32 1/120 (pow.f32 u 3))) (pow.f32 normAngle 6)))))
(+.f32 (*.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 1/720 (pow.f32 u 3)) (+.f32 (*.f32 -1/5040 (pow.f32 u 3)) (*.f32 1/6 (+.f32 (*.f32 1/120 (pow.f32 u 3)) (*.f32 -1/36 (pow.f32 u 3)))))) (pow.f32 normAngle 8))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -1/36 (pow.f32 u 3)) (*.f32 1/120 (pow.f32 u 3))) (pow.f32 normAngle 6))))))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(/.f32 -1/6 normAngle)
(-.f32 (*.f32 -1/36 normAngle) (*.f32 1/6 (/.f32 1 normAngle)))
(-.f32 (+.f32 (*.f32 -7/2160 (pow.f32 normAngle 3)) (*.f32 -1/36 normAngle)) (*.f32 1/6 (/.f32 1 normAngle)))
(-.f32 (+.f32 (*.f32 -31/90720 (pow.f32 normAngle 5)) (+.f32 (*.f32 -7/2160 (pow.f32 normAngle 3)) (*.f32 -1/36 normAngle))) (*.f32 1/6 (/.f32 1 normAngle)))
Outputs
(*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2)))
(*.f32 -1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)))
(*.f32 -1/6 (*.f32 (*.f32 (pow.f32 u 3) normAngle) normAngle))
(*.f32 (pow.f32 u 3) (*.f32 -1/6 (*.f32 normAngle normAngle)))
(+.f32 (*.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))
(fma.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 -1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle))))
(fma.f32 -1/6 (*.f32 (*.f32 (pow.f32 u 3) normAngle) normAngle) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) -1/36)))
(*.f32 (pow.f32 u 3) (+.f32 (*.f32 -1/6 (*.f32 normAngle normAngle)) (*.f32 -1/36 (pow.f32 normAngle 4))))
(+.f32 (*.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -1/36 (pow.f32 u 3)) (*.f32 1/120 (pow.f32 u 3))) (pow.f32 normAngle 6)))))
(fma.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 -1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)) (*.f32 1/6 (*.f32 (*.f32 (pow.f32 u 3) -7/360) (pow.f32 normAngle 6)))))
(fma.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 -1/6 (*.f32 (*.f32 (pow.f32 u 3) normAngle) normAngle) (*.f32 (pow.f32 normAngle 6) (*.f32 (pow.f32 u 3) -7/2160))))
(fma.f32 (pow.f32 normAngle 6) (*.f32 (pow.f32 u 3) -7/2160) (*.f32 (pow.f32 u 3) (+.f32 (*.f32 -1/6 (*.f32 normAngle normAngle)) (*.f32 -1/36 (pow.f32 normAngle 4)))))
(*.f32 (pow.f32 u 3) (+.f32 (+.f32 (*.f32 -1/36 (pow.f32 normAngle 4)) (*.f32 -1/6 (*.f32 normAngle normAngle))) (*.f32 -7/2160 (pow.f32 normAngle 6))))
(+.f32 (*.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 1/720 (pow.f32 u 3)) (+.f32 (*.f32 -1/5040 (pow.f32 u 3)) (*.f32 1/6 (+.f32 (*.f32 1/120 (pow.f32 u 3)) (*.f32 -1/36 (pow.f32 u 3)))))) (pow.f32 normAngle 8))) (*.f32 1/6 (*.f32 (+.f32 (*.f32 -1/36 (pow.f32 u 3)) (*.f32 1/120 (pow.f32 u 3))) (pow.f32 normAngle 6))))))
(fma.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 -1/6 (*.f32 (pow.f32 u 3) (*.f32 normAngle normAngle)) (*.f32 1/6 (+.f32 (*.f32 (fma.f32 1/720 (pow.f32 u 3) (fma.f32 -1/5040 (pow.f32 u 3) (*.f32 1/6 (*.f32 (pow.f32 u 3) -7/360)))) (pow.f32 normAngle 8)) (*.f32 (*.f32 (pow.f32 u 3) -7/360) (pow.f32 normAngle 6))))))
(fma.f32 -1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 -1/6 (*.f32 (*.f32 (pow.f32 u 3) normAngle) normAngle) (fma.f32 (*.f32 (pow.f32 u 3) -7/2160) (pow.f32 normAngle 6) (*.f32 (+.f32 (*.f32 (pow.f32 u 3) -7/2160) (*.f32 (pow.f32 u 3) 1/840)) (*.f32 (pow.f32 normAngle 8) 1/6)))))
(fma.f32 1/6 (fma.f32 (*.f32 (pow.f32 u 3) -31/15120) (pow.f32 normAngle 8) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) -7/360))) (*.f32 (pow.f32 u 3) (+.f32 (*.f32 -1/6 (*.f32 normAngle normAngle)) (*.f32 -1/36 (pow.f32 normAngle 4)))))
(+.f32 (*.f32 (pow.f32 normAngle 8) (*.f32 (pow.f32 u 3) -31/90720)) (*.f32 (pow.f32 u 3) (+.f32 (+.f32 (*.f32 -1/36 (pow.f32 normAngle 4)) (*.f32 -1/6 (*.f32 normAngle normAngle))) (*.f32 -7/2160 (pow.f32 normAngle 6)))))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (pow.f32 normAngle 3)))
(*.f32 (/.f32 (pow.f32 u 3) (sin.f32 normAngle)) (*.f32 -1/6 (pow.f32 normAngle 3)))
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (pow.f32 (*.f32 normAngle u) 3))
(/.f32 -1/6 normAngle)
(-.f32 (*.f32 -1/36 normAngle) (*.f32 1/6 (/.f32 1 normAngle)))
(-.f32 (*.f32 normAngle -1/36) (/.f32 1/6 normAngle))
(fma.f32 normAngle -1/36 (/.f32 -1/6 normAngle))
(-.f32 (+.f32 (*.f32 -7/2160 (pow.f32 normAngle 3)) (*.f32 -1/36 normAngle)) (*.f32 1/6 (/.f32 1 normAngle)))
(-.f32 (fma.f32 -7/2160 (pow.f32 normAngle 3) (*.f32 normAngle -1/36)) (/.f32 1/6 normAngle))
(fma.f32 (pow.f32 normAngle 3) -7/2160 (fma.f32 normAngle -1/36 (/.f32 -1/6 normAngle)))
(fma.f32 normAngle -1/36 (fma.f32 (pow.f32 normAngle 3) -7/2160 (/.f32 -1/6 normAngle)))
(-.f32 (+.f32 (*.f32 -31/90720 (pow.f32 normAngle 5)) (+.f32 (*.f32 -7/2160 (pow.f32 normAngle 3)) (*.f32 -1/36 normAngle))) (*.f32 1/6 (/.f32 1 normAngle)))
(-.f32 (fma.f32 -31/90720 (pow.f32 normAngle 5) (fma.f32 -7/2160 (pow.f32 normAngle 3) (*.f32 normAngle -1/36))) (/.f32 1/6 normAngle))
(fma.f32 -31/90720 (pow.f32 normAngle 5) (fma.f32 (pow.f32 normAngle 3) -7/2160 (fma.f32 normAngle -1/36 (/.f32 -1/6 normAngle))))
(fma.f32 -31/90720 (pow.f32 normAngle 5) (fma.f32 normAngle -1/36 (fma.f32 (pow.f32 normAngle 3) -7/2160 (/.f32 -1/6 normAngle))))

prune587.0ms (7.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1675172
Fresh448
Picked101
Done000
Total1729181
Error
0.0b
Counts
181 → 9
Alt Table
StatusErrorProgram
0.7b
(+.f32 (fma.f32 (*.f32 normAngle normAngle) (*.f32 (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) n0_i) (-.f32 n0_i (*.f32 u n0_i))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.2b
(+.f32 (*.f32 (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u)) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.3b
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.5b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
12.3b
(+.f32 (*.f32 (*.f32 (sin.f32 (cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.6b
(+.f32 (*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.6b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) 2) (/.f32 (sin.f32 normAngle) (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 u normAngle))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 u normAngle))))) n1_i))
Compiler

Compiled 7544 to 4432 computations (41.3% saved)

localize130.0ms (1.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u)) n0_i)
0.3b
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
0.4b
(/.f32 -1/6 (sin.f32 normAngle))
2.7b
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))

series13.0ms (0.2%)

Counts
2 → 60
Calls

15 calls:

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

rewrite70.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
749×prod-diff_binary32
320×fma-def_binary32
309×expm1-udef_binary32
309×log1p-udef_binary32
256×log-pow_binary32
Iterations

Useful iterations: 2 (0.0ms)

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

simplify49.0ms (0.6%)

Algorithm
egg-herbie
Rules
603×distribute-rgt-in_binary32
583×distribute-lft-in_binary32
349×fma-neg_binary32
325×fma-def_binary32
316×distribute-lft-out_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0841507
12601436
27581320
332901192
Stop Event
node limit
Counts
97 → 63
Calls
Call 1
Inputs
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
n0_i
(+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.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 -1 (/.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 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.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 -1 (/.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 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(*.f32 (-.f32 1 u) n0_i)
(+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 u) (*.f32 -1/2 (pow.f32 u 2))) (*.f32 -1/2 u)) (*.f32 n0_i (pow.f32 normAngle 2))) (*.f32 (-.f32 1 u) n0_i))
(+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 u) (*.f32 -1/2 (pow.f32 u 2))) (*.f32 -1/2 u)) (*.f32 n0_i (pow.f32 normAngle 2))) (+.f32 (*.f32 (-.f32 (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u)))) (*.f32 1/24 u)) (*.f32 n0_i (pow.f32 normAngle 4))) (*.f32 (-.f32 1 u) n0_i)))
(+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 u) (*.f32 -1/2 (pow.f32 u 2))) (*.f32 -1/2 u)) (*.f32 n0_i (pow.f32 normAngle 2))) (+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 (-.f32 (*.f32 1/24 u) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u)))))) (+.f32 (*.f32 -1/5040 u) (*.f32 1/120 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u))))) (*.f32 -1/720 u)) (*.f32 n0_i (pow.f32 normAngle 6))) (+.f32 (*.f32 (-.f32 (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u)))) (*.f32 1/24 u)) (*.f32 n0_i (pow.f32 normAngle 4))) (*.f32 (-.f32 1 u) n0_i))))
(*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(+.f32 (*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(+.f32 (*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) n0_i))
(+.f32 (*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) n0_i))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(+.f32 (*.f32 -1 (/.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)))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) (+.f32 n0_i (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) (+.f32 n0_i (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
Outputs
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
(*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))
(*.f32 (*.f32 u u) (*.f32 normAngle normAngle))
(*.f32 (*.f32 u normAngle) (*.f32 u normAngle))
n0_i
(+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(+.f32 n0_i (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))))))
(-.f32 n0_i (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(-.f32 n0_i (*.f32 (/.f32 (*.f32 n0_i (cos.f32 normAngle)) (/.f32 (sin.f32 normAngle) u)) normAngle))
(-.f32 n0_i (*.f32 (*.f32 u (*.f32 normAngle n0_i)) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (+.f32 n0_i (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i))))
(*.f32 u (*.f32 (*.f32 u -1/2) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 u (*.f32 (*.f32 u n0_i) (*.f32 normAngle (*.f32 normAngle -1/2))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))))))
(-.f32 (*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i)))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) -1/2) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(+.f32 n0_i (+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i))))
(*.f32 u (*.f32 (*.f32 u -1/2) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 u (*.f32 (*.f32 u n0_i) (*.f32 normAngle (*.f32 normAngle -1/2))))
(+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle))))
(fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))))))
(-.f32 (*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i)))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) -1/2) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(+.f32 n0_i (+.f32 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u (*.f32 n0_i normAngle))) (sin.f32 normAngle)))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 1 u) n0_i)
(*.f32 n0_i (-.f32 1 u))
(-.f32 n0_i (*.f32 u n0_i))
(+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 u) (*.f32 -1/2 (pow.f32 u 2))) (*.f32 -1/2 u)) (*.f32 n0_i (pow.f32 normAngle 2))) (*.f32 (-.f32 1 u) n0_i))
(fma.f32 (+.f32 (fma.f32 -1/6 u (*.f32 (*.f32 u u) -1/2)) (*.f32 1/2 u)) (*.f32 (*.f32 normAngle normAngle) n0_i) (*.f32 n0_i (-.f32 1 u)))
(fma.f32 n0_i (-.f32 1 u) (*.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (fma.f32 u -1/6 (*.f32 -1/2 (-.f32 (*.f32 u u) u)))))
(*.f32 n0_i (+.f32 (-.f32 1 u) (*.f32 normAngle (*.f32 normAngle (fma.f32 u (*.f32 u -1/2) (*.f32 u 1/3))))))
(*.f32 n0_i (+.f32 (-.f32 1 u) (*.f32 normAngle (*.f32 normAngle (*.f32 u (+.f32 (*.f32 u -1/2) 1/3))))))
(+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 u) (*.f32 -1/2 (pow.f32 u 2))) (*.f32 -1/2 u)) (*.f32 n0_i (pow.f32 normAngle 2))) (+.f32 (*.f32 (-.f32 (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u)))) (*.f32 1/24 u)) (*.f32 n0_i (pow.f32 normAngle 4))) (*.f32 (-.f32 1 u) n0_i)))
(fma.f32 (+.f32 (fma.f32 -1/6 u (*.f32 (*.f32 u u) -1/2)) (*.f32 1/2 u)) (*.f32 (*.f32 normAngle normAngle) n0_i) (fma.f32 (+.f32 (fma.f32 1/120 u (*.f32 -1/6 (*.f32 u -1/3))) (*.f32 -1/24 u)) (*.f32 n0_i (pow.f32 normAngle 4)) (*.f32 n0_i (-.f32 1 u))))
(fma.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (fma.f32 u -1/6 (*.f32 -1/2 (-.f32 (*.f32 u u) u))) (fma.f32 n0_i (-.f32 1 u) (*.f32 (+.f32 (fma.f32 u 1/120 (*.f32 u 1/18)) (*.f32 u -1/24)) (*.f32 n0_i (pow.f32 normAngle 4)))))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 n0_i (fma.f32 u (*.f32 u -1/2) (*.f32 u 1/3))) (*.f32 n0_i (+.f32 (-.f32 1 u) (*.f32 (-.f32 0 (*.f32 u -1/45)) (pow.f32 normAngle 4)))))
(*.f32 n0_i (+.f32 (*.f32 normAngle (*.f32 normAngle (*.f32 u (+.f32 (*.f32 u -1/2) 1/3)))) (+.f32 (*.f32 (*.f32 u 1/45) (pow.f32 normAngle 4)) (-.f32 1 u))))
(+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 u) (*.f32 -1/2 (pow.f32 u 2))) (*.f32 -1/2 u)) (*.f32 n0_i (pow.f32 normAngle 2))) (+.f32 (*.f32 (-.f32 (+.f32 (*.f32 -1/6 (-.f32 (*.f32 1/24 u) (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u)))))) (+.f32 (*.f32 -1/5040 u) (*.f32 1/120 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u))))) (*.f32 -1/720 u)) (*.f32 n0_i (pow.f32 normAngle 6))) (+.f32 (*.f32 (-.f32 (+.f32 (*.f32 1/120 u) (*.f32 -1/6 (-.f32 (*.f32 -1/2 u) (*.f32 -1/6 u)))) (*.f32 1/24 u)) (*.f32 n0_i (pow.f32 normAngle 4))) (*.f32 (-.f32 1 u) n0_i))))
(fma.f32 (+.f32 (fma.f32 -1/6 u (*.f32 (*.f32 u u) -1/2)) (*.f32 1/2 u)) (*.f32 (*.f32 normAngle normAngle) n0_i) (fma.f32 (+.f32 (fma.f32 -1/6 (-.f32 (*.f32 u 1/24) (fma.f32 1/120 u (*.f32 -1/6 (*.f32 u -1/3)))) (fma.f32 -1/5040 u (*.f32 1/120 (*.f32 u -1/3)))) (*.f32 1/720 u)) (*.f32 n0_i (pow.f32 normAngle 6)) (fma.f32 (+.f32 (fma.f32 1/120 u (*.f32 -1/6 (*.f32 u -1/3))) (*.f32 -1/24 u)) (*.f32 n0_i (pow.f32 normAngle 4)) (*.f32 n0_i (-.f32 1 u)))))
(fma.f32 (*.f32 normAngle (*.f32 normAngle n0_i)) (fma.f32 u -1/6 (*.f32 -1/2 (-.f32 (*.f32 u u) u))) (fma.f32 (+.f32 (fma.f32 -1/6 (-.f32 (*.f32 u 1/30) (*.f32 u 1/18)) (fma.f32 u -1/5040 (*.f32 u -1/360))) (*.f32 u 1/720)) (*.f32 n0_i (pow.f32 normAngle 6)) (fma.f32 n0_i (-.f32 1 u) (*.f32 (+.f32 (fma.f32 u 1/120 (*.f32 u 1/18)) (*.f32 u -1/24)) (*.f32 n0_i (pow.f32 normAngle 4))))))
(fma.f32 (*.f32 normAngle normAngle) (*.f32 n0_i (fma.f32 u (*.f32 u -1/2) (*.f32 u 1/3))) (fma.f32 n0_i (-.f32 1 u) (*.f32 n0_i (+.f32 (*.f32 (fma.f32 -1/6 (*.f32 u -1/45) (fma.f32 u -1/5040 (*.f32 u -1/720))) (pow.f32 normAngle 6)) (*.f32 (-.f32 0 (*.f32 u -1/45)) (pow.f32 normAngle 4))))))
(*.f32 n0_i (+.f32 (+.f32 (-.f32 1 u) (*.f32 (*.f32 u 1/45) (pow.f32 normAngle 4))) (+.f32 (*.f32 normAngle (*.f32 normAngle (*.f32 u (+.f32 (*.f32 u -1/2) 1/3)))) (*.f32 (fma.f32 -1/6 (*.f32 u -1/45) (*.f32 u -1/630)) (pow.f32 normAngle 6)))))
(*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(*.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i))))
(*.f32 u (*.f32 (*.f32 u -1/2) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 u (*.f32 (*.f32 u n0_i) (*.f32 normAngle (*.f32 normAngle -1/2))))
(+.f32 (*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))))
(fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))))))
(-.f32 (*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i)))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) -1/2) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 (*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) n0_i))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(+.f32 (*.f32 -1/2 (*.f32 n0_i (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) n0_i))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))
(*.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i))))
(*.f32 u (*.f32 (*.f32 u -1/2) (*.f32 (*.f32 normAngle normAngle) n0_i)))
(*.f32 u (*.f32 (*.f32 u n0_i) (*.f32 normAngle (*.f32 normAngle -1/2))))
(+.f32 (*.f32 -1 (/.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)))))
(fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i))))))
(-.f32 (*.f32 (*.f32 u u) (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle n0_i)))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (*.f32 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) -1/2) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) (+.f32 n0_i (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 n0_i (*.f32 u normAngle))) (sin.f32 normAngle))) (+.f32 n0_i (*.f32 -1/2 (*.f32 (pow.f32 u 2) (*.f32 n0_i (pow.f32 normAngle 2))))))
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))
(*.f32 (-.f32 (+.f32 1 (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))) (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) n0_i)
(+.f32 n0_i (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 (*.f32 normAngle normAngle) n0_i)) (neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u (*.f32 normAngle n0_i)))))))
(-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle n0_i))) n0_i) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u (*.f32 normAngle n0_i))))
(*.f32 n0_i (-.f32 (fma.f32 (*.f32 u u) (*.f32 normAngle (*.f32 normAngle -1/2)) 1) (*.f32 (*.f32 u normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))
(+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))))

prune514.0ms (6.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1491150
Fresh178
Picked101
Done000
Total1518159
Error
0.0b
Counts
159 → 8
Alt Table
StatusErrorProgram
0.2b
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.3b
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.5b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
12.3b
(+.f32 (*.f32 (*.f32 (sin.f32 (cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.6b
(+.f32 (*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.6b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) 2) (/.f32 (sin.f32 normAngle) (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle))) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 u normAngle))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 u normAngle))))) n1_i))
Compiler

Compiled 7633 to 3639 computations (52.3% saved)

localize93.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))))
0.4b
(/.f32 -1/6 (sin.f32 normAngle))
1.3b
(*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
2.7b
(*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))

series48.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
38.0ms
normAngle
@0
(fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))))
1.0ms
u
@0
(*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
1.0ms
normAngle
@inf
(*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
1.0ms
normAngle
@-inf
(*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
1.0ms
u
@-inf
(*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))

rewrite73.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
433×fma-def_binary32
375×expm1-udef_binary32
375×log1p-udef_binary32
315×log-pow_binary32
233×fma-neg_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02047
144943
2582543
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 normAngle (*.f32 u -1/2)) (*.f32 u normAngle)) (*.f32 (/.f32 -1 (tan.f32 normAngle)) (*.f32 u normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 u normAngle) (*.f32 normAngle (*.f32 u -1/2))) (*.f32 (*.f32 u normAngle) (/.f32 -1 (tan.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 (pow.f32 (*.f32 u normAngle) 3) -1/8) (/.f32 1 (pow.f32 (tan.f32 normAngle) 3))) (*.f32 u normAngle)) (fma.f32 (/.f32 1 (tan.f32 normAngle)) (fma.f32 u (*.f32 normAngle -1/2) (/.f32 1 (tan.f32 normAngle))) (*.f32 1/4 (pow.f32 (*.f32 u normAngle) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 1/4 (pow.f32 (*.f32 u normAngle) 2)) (pow.f32 (/.f32 1 (tan.f32 normAngle)) 2)) (*.f32 u normAngle)) (fma.f32 u (*.f32 normAngle -1/2) (/.f32 1 (tan.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (pow.f32 (*.f32 u normAngle) 3) -1/8) (/.f32 1 (pow.f32 (tan.f32 normAngle) 3)))) (fma.f32 (/.f32 1 (tan.f32 normAngle)) (fma.f32 u (*.f32 normAngle -1/2) (/.f32 1 (tan.f32 normAngle))) (*.f32 1/4 (pow.f32 (*.f32 u normAngle) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 1/4 (pow.f32 (*.f32 u normAngle) 2)) (pow.f32 (/.f32 1 (tan.f32 normAngle)) 2))) (fma.f32 u (*.f32 normAngle -1/2) (/.f32 1 (tan.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (pow.f32 (exp.f32 normAngle) u) (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 u normAngle) 3) (pow.f32 (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle))) 3) (pow.f32 (*.f32 u normAngle) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 u normAngle) (*.f32 normAngle (*.f32 u -1/2)) (*.f32 (*.f32 u normAngle) (/.f32 -1 (tan.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 normAngle (*.f32 u -1/2)) (*.f32 u normAngle) (*.f32 (/.f32 -1 (tan.f32 normAngle)) (*.f32 u normAngle)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 normAngle (*.f32 u (fma.f32 u (*.f32 normAngle -1/2) (/.f32 -1 (tan.f32 normAngle)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) 1) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) (pow.f32 (cbrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 2) (cbrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) (sqrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) 3) (pow.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))) 3)) (fma.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (-.f32 (*.f32 (pow.f32 (*.f32 u normAngle) 6) (/.f32 1/36 (pow.f32 (sin.f32 normAngle) 2))) (*.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u))) (*.f32 (pow.f32 (*.f32 u normAngle) 6) (/.f32 1/36 (pow.f32 (sin.f32 normAngle) 2)))) (-.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (pow.f32 (exp.f32 (pow.f32 (*.f32 u normAngle) 3)) (/.f32 -1/6 (sin.f32 normAngle))) (exp.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (+.f32 1 (expm1.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) (exp.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u))) (+.f32 1 (expm1.f32 (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))))))))

simplify51.0ms (0.6%)

Algorithm
egg-herbie
Rules
482×distribute-lft-out_binary32
468×distribute-rgt-in_binary32
443×distribute-rgt-out_binary32
424×associate-*l*_binary32
422×fma-def_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0771225
12341189
27881183
337941086
Stop Event
node limit
Counts
97 → 76
Calls
Call 1
Inputs
(*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(+.f32 (*.f32 -1 (/.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 -1 (/.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 -1 (/.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/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(+.f32 (*.f32 -1 (/.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 -1 (/.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 -1 (/.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/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(+.f32 (*.f32 -1 (/.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 -1 (/.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 -1 (/.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 u)
(+.f32 (*.f32 (+.f32 1/3 (*.f32 -1/2 u)) (*.f32 u (pow.f32 normAngle 2))) (*.f32 -1 u))
(+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 (+.f32 1/3 (*.f32 -1/2 u)) (*.f32 u (pow.f32 normAngle 2))) (*.f32 -1 u)))
(+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 (+.f32 1/3 (*.f32 -1/2 u)) (*.f32 u (pow.f32 normAngle 2))) (*.f32 -1 u))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(+.f32 (*.f32 -1 (/.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 -1 (/.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 -1 (/.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/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(+.f32 (*.f32 -1 (/.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 -1 (/.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 -1 (/.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 u normAngle) (sin.f32 normAngle))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (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 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (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 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
u
(+.f32 (*.f32 (+.f32 (*.f32 1/6 u) (*.f32 -1/6 (pow.f32 u 3))) (pow.f32 normAngle 2)) u)
(+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 -1 (+.f32 (*.f32 -1/36 u) (*.f32 1/120 u))) (*.f32 -1/36 (pow.f32 u 3)))) (+.f32 (*.f32 (+.f32 (*.f32 1/6 u) (*.f32 -1/6 (pow.f32 u 3))) (pow.f32 normAngle 2)) u))
(+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 -1 (+.f32 (*.f32 -1/36 u) (*.f32 1/120 u))) (*.f32 -1/36 (pow.f32 u 3)))) (+.f32 (*.f32 (+.f32 (*.f32 1/6 u) (*.f32 -1/6 (pow.f32 u 3))) (pow.f32 normAngle 2)) (+.f32 u (*.f32 (+.f32 (*.f32 -1 (+.f32 (*.f32 1/720 u) (+.f32 (*.f32 1/6 (+.f32 (*.f32 -1/36 u) (*.f32 1/120 u))) (*.f32 -1/5040 u)))) (*.f32 1/6 (+.f32 (*.f32 1/120 (pow.f32 u 3)) (*.f32 -1/36 (pow.f32 u 3))))) (pow.f32 normAngle 6)))))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (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 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
Outputs
(*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(neg.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))))
(/.f32 (neg.f32 (cos.f32 normAngle)) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u)))
(*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (neg.f32 u) normAngle))
(*.f32 (*.f32 normAngle u) (/.f32 (neg.f32 (cos.f32 normAngle)) (sin.f32 normAngle)))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))
(*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u))))
(*.f32 u (*.f32 -1/2 (*.f32 u (*.f32 normAngle normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))
(*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u))))
(*.f32 u (*.f32 -1/2 (*.f32 u (*.f32 normAngle normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(*.f32 -1 u)
(neg.f32 u)
(+.f32 (*.f32 (+.f32 1/3 (*.f32 -1/2 u)) (*.f32 u (pow.f32 normAngle 2))) (*.f32 -1 u))
(fma.f32 (+.f32 1/3 (*.f32 u -1/2)) (*.f32 u (*.f32 normAngle normAngle)) (neg.f32 u))
(-.f32 (*.f32 u (*.f32 (*.f32 normAngle normAngle) (fma.f32 u -1/2 1/3))) u)
(-.f32 (*.f32 u (*.f32 normAngle (*.f32 normAngle (fma.f32 u -1/2 1/3)))) u)
(-.f32 (*.f32 (fma.f32 u -1/2 1/3) (*.f32 u (*.f32 normAngle normAngle))) u)
(+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 (+.f32 1/3 (*.f32 -1/2 u)) (*.f32 u (pow.f32 normAngle 2))) (*.f32 -1 u)))
(fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 (+.f32 1/3 (*.f32 u -1/2)) (*.f32 u (*.f32 normAngle normAngle)) (neg.f32 u)))
(-.f32 (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (*.f32 u (*.f32 (*.f32 normAngle normAngle) (fma.f32 u -1/2 1/3)))) u)
(-.f32 (*.f32 u (+.f32 (*.f32 normAngle (*.f32 normAngle (fma.f32 u -1/2 1/3))) (*.f32 1/45 (pow.f32 normAngle 4)))) u)
(+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 (+.f32 1/3 (*.f32 -1/2 u)) (*.f32 u (pow.f32 normAngle 2))) (*.f32 -1 u))))
(fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 (+.f32 1/3 (*.f32 u -1/2)) (*.f32 u (*.f32 normAngle normAngle)) (neg.f32 u))))
(fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (-.f32 (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (*.f32 u (*.f32 (*.f32 normAngle normAngle) (fma.f32 u -1/2 1/3)))) u))
(-.f32 (fma.f32 u (*.f32 2/945 (pow.f32 normAngle 6)) (*.f32 u (+.f32 (*.f32 normAngle (*.f32 normAngle (fma.f32 u -1/2 1/3))) (*.f32 1/45 (pow.f32 normAngle 4))))) u)
(-.f32 (*.f32 u (+.f32 (*.f32 normAngle (*.f32 normAngle (fma.f32 u -1/2 1/3))) (+.f32 (*.f32 1/45 (pow.f32 normAngle 4)) (*.f32 2/945 (pow.f32 normAngle 6))))) u)
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))
(*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u))))
(*.f32 u (*.f32 -1/2 (*.f32 u (*.f32 normAngle normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))
(*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))
(*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u))))
(*.f32 u (*.f32 -1/2 (*.f32 u (*.f32 normAngle normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(+.f32 (*.f32 -1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle))) (*.f32 -1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))))
(fma.f32 -1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 normAngle u))) (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))))
(-.f32 (*.f32 -1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 normAngle u)))
(-.f32 (*.f32 u (*.f32 -1/2 (*.f32 normAngle (*.f32 normAngle u)))) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u))
(*.f32 (*.f32 normAngle u) (-.f32 (*.f32 (*.f32 u -1/2) normAngle) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle))))
(/.f32 (*.f32 u normAngle) (sin.f32 normAngle))
(/.f32 u (/.f32 (sin.f32 normAngle) normAngle))
(/.f32 normAngle (/.f32 (sin.f32 normAngle) u))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)))
(/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (/.f32 (sin.f32 normAngle) -1/6))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)))
(/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (/.f32 (sin.f32 normAngle) -1/6))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
u
(+.f32 (*.f32 (+.f32 (*.f32 1/6 u) (*.f32 -1/6 (pow.f32 u 3))) (pow.f32 normAngle 2)) u)
(fma.f32 (fma.f32 1/6 u (*.f32 -1/6 (pow.f32 u 3))) (*.f32 normAngle normAngle) u)
(fma.f32 (*.f32 normAngle normAngle) (fma.f32 -1/6 (pow.f32 u 3) (*.f32 u 1/6)) u)
(fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/6 (*.f32 -1/6 (pow.f32 u 3))) u)
(+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 -1 (+.f32 (*.f32 -1/36 u) (*.f32 1/120 u))) (*.f32 -1/36 (pow.f32 u 3)))) (+.f32 (*.f32 (+.f32 (*.f32 1/6 u) (*.f32 -1/6 (pow.f32 u 3))) (pow.f32 normAngle 2)) u))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 -1 (*.f32 u -7/360) (*.f32 (pow.f32 u 3) -1/36)) (fma.f32 (fma.f32 1/6 u (*.f32 -1/6 (pow.f32 u 3))) (*.f32 normAngle normAngle) u))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 (pow.f32 u 3) -1/36 (*.f32 u 7/360)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 -1/6 (pow.f32 u 3) (*.f32 u 1/6)) u))
(fma.f32 normAngle (*.f32 normAngle (fma.f32 u 1/6 (*.f32 -1/6 (pow.f32 u 3)))) (fma.f32 (pow.f32 normAngle 4) (fma.f32 u 7/360 (*.f32 (pow.f32 u 3) -1/36)) u))
(fma.f32 normAngle (*.f32 normAngle (fma.f32 u 1/6 (*.f32 -1/6 (pow.f32 u 3)))) (fma.f32 (pow.f32 normAngle 4) (fma.f32 (pow.f32 u 3) -1/36 (*.f32 u 7/360)) u))
(+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 -1 (+.f32 (*.f32 -1/36 u) (*.f32 1/120 u))) (*.f32 -1/36 (pow.f32 u 3)))) (+.f32 (*.f32 (+.f32 (*.f32 1/6 u) (*.f32 -1/6 (pow.f32 u 3))) (pow.f32 normAngle 2)) (+.f32 u (*.f32 (+.f32 (*.f32 -1 (+.f32 (*.f32 1/720 u) (+.f32 (*.f32 1/6 (+.f32 (*.f32 -1/36 u) (*.f32 1/120 u))) (*.f32 -1/5040 u)))) (*.f32 1/6 (+.f32 (*.f32 1/120 (pow.f32 u 3)) (*.f32 -1/36 (pow.f32 u 3))))) (pow.f32 normAngle 6)))))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 -1 (*.f32 u -7/360) (*.f32 (pow.f32 u 3) -1/36)) (+.f32 (fma.f32 (fma.f32 1/6 u (*.f32 -1/6 (pow.f32 u 3))) (*.f32 normAngle normAngle) u) (*.f32 (pow.f32 normAngle 6) (fma.f32 -1 (fma.f32 1/720 u (fma.f32 1/6 (*.f32 u -7/360) (*.f32 u -1/5040))) (*.f32 1/6 (*.f32 (pow.f32 u 3) -7/360))))))
(fma.f32 (pow.f32 normAngle 4) (fma.f32 (pow.f32 u 3) -1/36 (*.f32 u 7/360)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 -1/6 (pow.f32 u 3) (*.f32 u 1/6)) (fma.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 (pow.f32 u 3) -7/2160) (fma.f32 u 1/720 (fma.f32 u -1/5040 (*.f32 u -7/2160)))) u)))
(fma.f32 normAngle (*.f32 normAngle (fma.f32 u 1/6 (*.f32 -1/6 (pow.f32 u 3)))) (fma.f32 (pow.f32 normAngle 4) (fma.f32 u 7/360 (*.f32 (pow.f32 u 3) -1/36)) (fma.f32 (pow.f32 normAngle 6) (-.f32 (*.f32 (pow.f32 u 3) -7/2160) (fma.f32 u 1/720 (*.f32 u -13/3780))) u)))
(fma.f32 normAngle (*.f32 normAngle (fma.f32 u 1/6 (*.f32 -1/6 (pow.f32 u 3)))) (fma.f32 (pow.f32 normAngle 4) (fma.f32 (pow.f32 u 3) -1/36 (*.f32 u 7/360)) (fma.f32 (pow.f32 normAngle 6) (fma.f32 (pow.f32 u 3) -7/2160 (*.f32 u 31/15120)) u)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)))
(/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (/.f32 (sin.f32 normAngle) -1/6))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)))
(*.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)))
(/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (/.f32 (sin.f32 normAngle) -1/6))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(+.f32 (*.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle))) (/.f32 (*.f32 u normAngle) (sin.f32 normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 u (/.f32 (sin.f32 normAngle) normAngle)))
(fma.f32 -1/6 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (/.f32 (pow.f32 normAngle 3) (sin.f32 normAngle)) (pow.f32 u 3)) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))
(fma.f32 -1/6 (*.f32 (pow.f32 normAngle 3) (/.f32 (pow.f32 u 3) (sin.f32 normAngle))) (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)))

prune698.0ms (8.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1612163
Fresh257
Picked101
Done000
Total1647171
Error
0.0b
Counts
171 → 7
Alt Table
StatusErrorProgram
0.2b
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (+.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) n1_i))
0.3b
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
12.3b
(+.f32 (*.f32 (*.f32 (sin.f32 (cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.6b
(+.f32 (*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.6b
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) 2) (/.f32 (sin.f32 normAngle) (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
0.3b
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (pow.f32 (sqrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 2) n1_i))
0.8b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 7516 to 3611 computations (52% saved)

regimes105.0ms (1.3%)

Accuracy

Total -15.0b remaining (-9273.7%)

Threshold costs -15.0b (-9273.7%)

Counts
19 → 1
Calls
Call 1
Inputs
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (+.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) n1_i))
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (pow.f32 (sqrt.f32 (fma.f32 normAngle (/.f32 u (sin.f32 normAngle)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle))))) 2) n1_i))
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (*.f32 (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u)) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) 2) (/.f32 (sin.f32 normAngle) (cbrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (fma.f32 (*.f32 normAngle normAngle) (*.f32 (fma.f32 -1/6 (pow.f32 (-.f32 1 u) 3) (fma.f32 u -1/6 1/6)) n0_i) (-.f32 n0_i (*.f32 u n0_i))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 u normAngle))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 u normAngle))))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (cbrt.f32 (pow.f32 (*.f32 normAngle (-.f32 1 u)) 3))) (/.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 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
(+.f32 (*.f32 (-.f32 (fma.f32 -1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)) 1) (*.f32 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) normAngle)) u)) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 -1/6 (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sqrt.f32 (sin.f32 normAngle))) (sqrt.f32 (sin.f32 normAngle))) n1_i))
(/.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 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 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (+.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) n1_i))
Results
25.0ms0.2bnormAngle
12.0ms0.2bu
10.0ms0.2bn0_i
32.0ms0.2bn1_i
11.0ms0.2b(+.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 677 to 358 computations (47.1% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02560
13660
24360
34760
45060
55160
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (+.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) n1_i))
Outputs
(+.f32 (+.f32 n0_i (*.f32 n0_i (*.f32 (*.f32 u normAngle) (-.f32 (*.f32 (*.f32 u normAngle) -1/2) (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)))))) (*.f32 (+.f32 (/.f32 normAngle (/.f32 (sin.f32 normAngle) u)) (*.f32 -1/6 (/.f32 (pow.f32 (*.f32 u normAngle) 3) (sin.f32 normAngle)))) n1_i))

end51.0ms (0.6%)

Stop Event
fuel
Compiler

Compiled 86 to 48 computations (44.2% saved)

Profiling

Loading profile data...