Details

Time bar (total: 7.6s)

analyze1.5s (20%)

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

Compiled 62 to 45 computations (27.4% saved)

sample3.2s (42.2%)

Results
2.8s8256×body128valid
386.0ms1075×body128invalid
Compiler

Compiled 124 to 90 computations (27.4% saved)

preprocess52.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
075259
1186217
2445217
3942182
41406182
51644182
61945182
72744182
84465182
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 normAngle) u)) (/.f32 1 (sin.f32 u))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 normAngle u)) (/.f32 1 (sin.f32 u))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 1 (sin.f32 n0_i))) normAngle) (*.f32 (*.f32 (sin.f32 (*.f32 u n0_i)) (/.f32 1 (sin.f32 n0_i))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 1 (sin.f32 n1_i))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u n1_i)) (/.f32 1 (sin.f32 n1_i))) normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n0_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) u) (*.f32 (*.f32 (sin.f32 (*.f32 n0_i normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n1_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 n1_i normAngle)) (/.f32 1 (sin.f32 normAngle))) u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 1 (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i))
(fma.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 n1_i (sin.f32 normAngle)) (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 n0_i (sin.f32 normAngle))))
(/.f32 (fma.f32 (sin.f32 (*.f32 u normAngle)) n1_i (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 normAngle) u)) (/.f32 1 (sin.f32 u))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 normAngle u)) (/.f32 1 (sin.f32 u))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 u (-.f32 1 normAngle))) (/.f32 1 (sin.f32 u))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 1 (sin.f32 u)) n1_i)))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u (-.f32 1 normAngle))) (sin.f32 u)) (*.f32 n1_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 u))))
(fma.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 n1_i (sin.f32 u)) (*.f32 (sin.f32 (*.f32 u (-.f32 1 normAngle))) (/.f32 n0_i (sin.f32 u))))
(/.f32 (fma.f32 n0_i (sin.f32 (-.f32 u (*.f32 u normAngle))) (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 1 (sin.f32 n0_i))) normAngle) (*.f32 (*.f32 (sin.f32 (*.f32 u n0_i)) (/.f32 1 (sin.f32 n0_i))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 1 (sin.f32 n0_i))) normAngle (*.f32 (sin.f32 (*.f32 u n0_i)) (*.f32 (/.f32 1 (sin.f32 n0_i)) n1_i)))
(fma.f32 normAngle (/.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (sin.f32 n0_i)) (/.f32 (*.f32 n1_i (sin.f32 (*.f32 u n0_i))) (sin.f32 n0_i)))
(fma.f32 n1_i (/.f32 (sin.f32 (*.f32 u n0_i)) (sin.f32 n0_i)) (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n0_i)) (/.f32 normAngle (sin.f32 n0_i))))
(/.f32 (fma.f32 normAngle (sin.f32 (-.f32 n0_i (*.f32 u n0_i))) (*.f32 n1_i (sin.f32 (*.f32 u n0_i)))) (sin.f32 n0_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 1 (sin.f32 n1_i))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u n1_i)) (/.f32 1 (sin.f32 n1_i))) normAngle))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 1 (sin.f32 n1_i))) n0_i (*.f32 normAngle (*.f32 (/.f32 1 (sin.f32 n1_i)) (sin.f32 (*.f32 u n1_i)))))
(fma.f32 normAngle (/.f32 (sin.f32 (*.f32 u n1_i)) (sin.f32 n1_i)) (*.f32 n0_i (/.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (sin.f32 n1_i))))
(fma.f32 (sin.f32 (*.f32 (-.f32 1 u) n1_i)) (/.f32 n0_i (sin.f32 n1_i)) (*.f32 normAngle (/.f32 (sin.f32 (*.f32 u n1_i)) (sin.f32 n1_i))))
(/.f32 (fma.f32 n0_i (sin.f32 (-.f32 n1_i (*.f32 u n1_i))) (*.f32 normAngle (sin.f32 (*.f32 u n1_i)))) (sin.f32 n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n0_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) u) (*.f32 (*.f32 (sin.f32 (*.f32 n0_i normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 1 n0_i)))) u (*.f32 (sin.f32 (*.f32 normAngle n0_i)) (*.f32 (/.f32 1 (sin.f32 normAngle)) n1_i)))
(fma.f32 u (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 n0_i))) (sin.f32 normAngle)) (*.f32 n1_i (/.f32 (sin.f32 (*.f32 normAngle n0_i)) (sin.f32 normAngle))))
(*.f32 (/.f32 1 (sin.f32 normAngle)) (+.f32 (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i))) (*.f32 u (sin.f32 (*.f32 normAngle (-.f32 1 n0_i))))))
(/.f32 (fma.f32 u (sin.f32 (*.f32 normAngle (-.f32 1 n0_i))) (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i)))) (sin.f32 normAngle))
(/.f32 (fma.f32 u (sin.f32 (-.f32 normAngle (*.f32 normAngle n0_i))) (*.f32 n1_i (sin.f32 (*.f32 normAngle n0_i)))) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 n1_i) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 n1_i normAngle)) (/.f32 1 (sin.f32 normAngle))) u))
(fma.f32 (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle (-.f32 1 n1_i)))) n0_i (*.f32 u (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 normAngle n1_i)))))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 n1_i))) (sin.f32 normAngle)) (*.f32 u (/.f32 (sin.f32 (*.f32 normAngle n1_i)) (sin.f32 normAngle))))
(*.f32 (/.f32 1 (sin.f32 normAngle)) (+.f32 (*.f32 n0_i (sin.f32 (*.f32 normAngle (-.f32 1 n1_i)))) (*.f32 u (sin.f32 (*.f32 normAngle n1_i)))))
(/.f32 (fma.f32 u (sin.f32 (*.f32 normAngle n1_i)) (*.f32 n0_i (sin.f32 (-.f32 normAngle (*.f32 normAngle n1_i))))) (sin.f32 normAngle))
(/.f32 (fma.f32 n0_i (sin.f32 (-.f32 normAngle (*.f32 normAngle n1_i))) (*.f32 u (sin.f32 (*.f32 normAngle n1_i)))) (sin.f32 normAngle))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i (*.f32 n0_i (*.f32 (/.f32 1 (sin.f32 normAngle)) (sin.f32 (*.f32 u normAngle)))))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) (/.f32 (*.f32 n1_i (sin.f32 (*.f32 (-.f32 1 u) normAngle))) (sin.f32 normAngle)))
(fma.f32 n0_i (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 n1_i (sin.f32 normAngle))))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n1_i (*.f32 n0_i (sin.f32 (*.f32 u normAngle)))) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n1_i (*.f32 n0_i (sin.f32 (*.f32 u normAngle)))) (sin.f32 normAngle))
Compiler

Compiled 29 to 20 computations (31% saved)

simplify33.0ms (0.4%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01837
13831
28431
317226
426126
531226
638226
748626
874626
988026
10108526
11176426
12392226
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
(fma.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (*.f32 (/.f32 1 (sin.f32 normAngle)) n1_i)))
(fma.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)) n1_i (/.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i) (sin.f32 normAngle)))
(fma.f32 (/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 n1_i (sin.f32 normAngle))))
(/.f32 (fma.f32 (sin.f32 (*.f32 u normAngle)) n1_i (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 146 to 89 computations (39% saved)

localize54.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.5b
(*.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)))

series29.0ms (0.4%)

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)
3.0ms
u
@-inf
(*.f32 (-.f32 1 u) normAngle)
3.0ms
normAngle
@0
(*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle)))
2.0ms
n0_i
@0
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i)
2.0ms
u
@0
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle)))

rewrite62.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify59.0ms (0.8%)

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

Useful iterations: 2 (0.0ms)

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

prune185.0ms (2.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1347141
Fresh011
Picked101
Done000
Total1358143
Error
0.1b
Counts
143 → 8
Alt Table
StatusErrorProgram
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))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
5.9b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.7b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
12.0b
(+.f32 (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (cbrt.f32 (pow.f32 (sin.f32 normAngle) 2))) (cbrt.f32 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.9b
(+.f32 (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))) (/.f32 (sin.f32 normAngle) (sqrt.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u)))))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)))) n1_i))
0.7b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 5693 to 3239 computations (43.1% saved)

localize64.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 normAngle (-.f32 1 u))
0.3b
(/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))
0.4b
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)
1.3b
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle)))

series16.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
5.0ms
normAngle
@0
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)
4.0ms
normAngle
@inf
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)
1.0ms
u
@0
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)
1.0ms
u
@-inf
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)
1.0ms
normAngle
@-inf
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)

rewrite61.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
517×log-prod_binary32
400×prod-diff_binary32
196×expm1-udef_binary32
195×log1p-udef_binary32
165×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

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

simplify34.0ms (0.4%)

Algorithm
egg-herbie
Rules
775×associate-*r*_binary32
767×associate-*l*_binary32
726×fma-def_binary32
179×cancel-sign-sub-inv_binary32
107×unswap-sqr_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01021406
13071358
211871302
Stop Event
node limit
Counts
195 → 109
Calls
Call 1
Inputs
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
(*.f32 (-.f32 1 u) normAngle)
normAngle
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 -1 (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
Outputs
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (+.f32 1 (*.f32 (*.f32 1/6 (pow.f32 u 3)) (*.f32 normAngle normAngle)))) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) u))
(-.f32 (+.f32 1 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3))))) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) u))
(-.f32 (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) 1) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (*.f32 (*.f32 1/6 (pow.f32 u 3)) (*.f32 normAngle normAngle)))))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))))))
(+.f32 (+.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (-.f32 1 (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) u) (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 3) 1/18))))))
(-.f32 (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/24 (pow.f32 u 4) (*.f32 u 1/45)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) 1)) (fma.f32 (pow.f32 normAngle 4) (*.f32 1/120 (pow.f32 u 5)) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) (fma.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18) u))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(+.f32 1 (-.f32 (fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (fma.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3)) (*.f32 1/5040 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 7))))))))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) (fma.f32 1/720 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 6)) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))))))
(+.f32 1 (-.f32 (-.f32 (+.f32 (+.f32 (+.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (*.f32 (pow.f32 u 7) (*.f32 (pow.f32 normAngle 6) 1/5040))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 2/945) (*.f32 (pow.f32 u 5) 1/360)))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) u)) (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 1/720 (pow.f32 u 6)) (*.f32 (pow.f32 u 3) 1/270)))))))
(+.f32 1 (-.f32 (-.f32 (fma.f32 (pow.f32 normAngle 6) (fma.f32 u 2/945 (*.f32 (pow.f32 u 5) 1/360)) (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/24 (pow.f32 u 4) (*.f32 u 1/45)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) (*.f32 (pow.f32 normAngle 6) (*.f32 1/5040 (pow.f32 u 7)))))) (fma.f32 (pow.f32 normAngle 4) (*.f32 1/120 (pow.f32 u 5)) u)) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) (fma.f32 (pow.f32 normAngle 6) (fma.f32 (pow.f32 u 3) 1/270 (*.f32 1/720 (pow.f32 u 6))) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))
(-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 1 (+.f32 (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))))
(-.f32 1 (fma.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle) (*.f32 1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (fma.f32 1/6 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) 1) (+.f32 (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 (fma.f32 1/6 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) 1) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))))
(-.f32 (fma.f32 1/6 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) 1) (fma.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle) (*.f32 1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (+.f32 1 (*.f32 (*.f32 1/6 (pow.f32 u 3)) (*.f32 normAngle normAngle)))) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) u))
(-.f32 (+.f32 1 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3))))) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) u))
(-.f32 (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) 1) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (*.f32 (*.f32 1/6 (pow.f32 u 3)) (*.f32 normAngle normAngle)))))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))))))
(+.f32 (+.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (-.f32 1 (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) u) (*.f32 (pow.f32 normAngle 4) (*.f32 (pow.f32 u 3) 1/18))))))
(-.f32 (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/24 (pow.f32 u 4) (*.f32 u 1/45)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) 1)) (fma.f32 (pow.f32 normAngle 4) (*.f32 1/120 (pow.f32 u 5)) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) (fma.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18) u))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(+.f32 1 (-.f32 (fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (fma.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3)) (*.f32 1/5040 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 7))))))))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) (fma.f32 1/720 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 6)) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))))))
(+.f32 1 (-.f32 (-.f32 (+.f32 (+.f32 (+.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (*.f32 (pow.f32 u 7) (*.f32 (pow.f32 normAngle 6) 1/5040))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 2/945) (*.f32 (pow.f32 u 5) 1/360)))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) u)) (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 1/720 (pow.f32 u 6)) (*.f32 (pow.f32 u 3) 1/270)))))))
(+.f32 1 (-.f32 (-.f32 (fma.f32 (pow.f32 normAngle 6) (fma.f32 u 2/945 (*.f32 (pow.f32 u 5) 1/360)) (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/24 (pow.f32 u 4) (*.f32 u 1/45)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) (*.f32 (pow.f32 normAngle 6) (*.f32 1/5040 (pow.f32 u 7)))))) (fma.f32 (pow.f32 normAngle 4) (*.f32 1/120 (pow.f32 u 5)) u)) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) (fma.f32 (pow.f32 normAngle 6) (fma.f32 (pow.f32 u 3) 1/270 (*.f32 1/720 (pow.f32 u 6))) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))
(-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 1 (+.f32 (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))))
(-.f32 1 (fma.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle) (*.f32 1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (fma.f32 1/6 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) 1) (+.f32 (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 (fma.f32 1/6 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) 1) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))))
(-.f32 (fma.f32 1/6 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) 1) (fma.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle) (*.f32 1/2 (*.f32 (*.f32 u normAngle) (*.f32 u normAngle)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) 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 u normAngle))) (sin.f32 normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
normAngle
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(*.f32 -1 (*.f32 u normAngle))
(neg.f32 (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(*.f32 -1 (*.f32 u normAngle))
(neg.f32 (*.f32 u normAngle))
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)
(-.f32 normAngle (*.f32 u normAngle))
(*.f32 (-.f32 1 u) normAngle)

prune226.0ms (3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1473150
Fresh257
Picked101
Done000
Total1508158
Error
0.0b
Counts
158 → 8
Alt Table
StatusErrorProgram
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))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 u n1_i))
5.9b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.9b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 normAngle (-.f32 1 u))) 2)) (sin.f32 normAngle))) 2) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.1b
(+.f32 (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (pow.f32 (cbrt.f32 (sin.f32 normAngle)) 2)) (cbrt.f32 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.4b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 31/15120) (*.f32 (pow.f32 u 5) 1/720))) (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u))) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) 7/2160)))))) n1_i))
1.1b
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (/.f32 1 (sin.f32 normAngle))) n0_i) (*.f32 (exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 u normAngle)) (sin.f32 normAngle)))) n1_i))
0.7b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 5658 to 3255 computations (42.5% saved)

localize235.0ms (3.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 u 31/15120)
0.4b
(pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2)
0.4b
(*.f32 u 7/360)
0.5b
(*.f32 1/120 (pow.f32 u 5))

series7.0ms (0.1%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
3.0ms
u
@-inf
(*.f32 u 31/15120)
1.0ms
u
@0
(*.f32 1/120 (pow.f32 u 5))
1.0ms
u
@inf
(*.f32 1/120 (pow.f32 u 5))
1.0ms
u
@-inf
(*.f32 1/120 (pow.f32 u 5))
0.0ms
u
@inf
(*.f32 u 7/360)

rewrite40.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
812×log1p-expm1-u_binary32
812×expm1-log1p-u_binary32
99×add-sqr-sqrt_binary32
95×add-log-exp_binary32
94×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01015
120915
2221415
Stop Event
node limit
Counts
3 → 39
Calls
Call 1
Inputs
(*.f32 1/120 (pow.f32 u 5))
(*.f32 u 7/360)
(*.f32 u 31/15120)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 1/120 (pow.f32 u 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 1/120 (pow.f32 u 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 1/120 (pow.f32 u 5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 1/120 (pow.f32 u 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (sqrt.f32 1/120) (pow.f32 u 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (pow.f32 u 10) 1/14400))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 1/120) (pow.f32 u 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 1/120 (pow.f32 u 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 1/120 (pow.f32 u 5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 1/120 (pow.f32 u 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 1/120 (pow.f32 u 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 1/120 (pow.f32 u 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 1/120 (pow.f32 u 5))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u 7/360))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u 7/360) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u 7/360) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u 7/360)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 u 7/360)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 (*.f32 u u) 49/129600))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 u) 7/360))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u 7/360))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u 7/360) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u 7/360)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u 7/360)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u 7/360)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u 7/360)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 u 31/15120))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 u 31/15120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 u 31/15120) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 u 31/15120)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 u 31/15120)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (*.f32 961/228614400 (*.f32 u u)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 31/15120) u))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 u 31/15120))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 u 31/15120) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 u 31/15120)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 u 31/15120)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 u 31/15120)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 u 31/15120)) 1))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0696
1896
Stop Event
saturated
Counts
63 → 42
Calls
Call 1
Inputs
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
(*.f32 31/15120 u)
Outputs
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 7/360 u)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)
(*.f32 31/15120 u)
(*.f32 u 31/15120)

prune358.0ms (4.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1051106
Fresh257
Picked011
Done000
Total1077114
Error
0.0b
Counts
114 → 7
Alt Table
StatusErrorProgram
5.9b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.9b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 normAngle (-.f32 1 u))) 2)) (sin.f32 normAngle))) 2) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.1b
(+.f32 (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (pow.f32 (cbrt.f32 (sin.f32 normAngle)) 2)) (cbrt.f32 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.6b
(+.f32 (*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 31/15120) (*.f32 (pow.f32 u 5) 1/720))) (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u))) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) 7/2160)))))) n1_i))
0.4b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 31/15120) (*.f32 (pow.f32 u 5) 1/720))) (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u))) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) 7/2160)))))) 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.7b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 10842 to 7573 computations (30.2% saved)

localize254.0ms (3.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 u 31/15120)
0.4b
(*.f32 u 7/360)
0.5b
(*.f32 1/120 (pow.f32 u 5))
0.6b
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
4.0ms
normAngle
@0
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))
0.0ms
normAngle
@inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))
0.0ms
u
@-inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))
0.0ms
normAngle
@-inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))
0.0ms
u
@inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))))

rewrite44.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
497×log-prod_binary32
400×prod-diff_binary32
184×expm1-udef_binary32
183×log1p-udef_binary32
156×log-pow_binary32
Iterations

Useful iterations: 0 (0.0ms)

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

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
770×associate-*r*_binary32
760×associate-*l*_binary32
716×fma-def_binary32
282×associate--l+_binary32
177×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
099623
1297599
21165571
Stop Event
node limit
Counts
74 → 65
Calls
Call 1
Inputs
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
Outputs
(-.f32 1 u)
(-.f32 (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 1 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) u))
(-.f32 (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (+.f32 1 (*.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3))))) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) u))
(-.f32 (+.f32 1 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3))))) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) u))
(-.f32 (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) 1) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) u))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))))
(-.f32 (+.f32 1 (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (*.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3))))))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)))))))
(+.f32 1 (-.f32 (+.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (+.f32 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18))) (fma.f32 (*.f32 1/120 (pow.f32 u 5)) (pow.f32 normAngle 4) u))))
(-.f32 (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/24 (pow.f32 u 4) (*.f32 u 1/45)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) 1)) (fma.f32 (pow.f32 normAngle 4) (*.f32 1/120 (pow.f32 u 5)) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) (fma.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18) u))))
(-.f32 (+.f32 1 (+.f32 (*.f32 2/945 (*.f32 u (pow.f32 normAngle 6))) (+.f32 (*.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6))) (+.f32 (*.f32 1/24 (*.f32 (pow.f32 u 4) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/45 (*.f32 u (pow.f32 normAngle 4))) (+.f32 (*.f32 1/3 (*.f32 u (pow.f32 normAngle 2))) (+.f32 (*.f32 1/6 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 2))) (*.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)))))))))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 4))) (+.f32 u (+.f32 (*.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2))) (+.f32 (*.f32 1/720 (*.f32 (pow.f32 u 6) (pow.f32 normAngle 6))) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6)))))))))
(+.f32 1 (-.f32 (fma.f32 2/945 (*.f32 u (pow.f32 normAngle 6)) (fma.f32 1/360 (*.f32 (pow.f32 u 5) (pow.f32 normAngle 6)) (fma.f32 1/24 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 4)) (fma.f32 1/45 (*.f32 u (pow.f32 normAngle 4)) (fma.f32 1/3 (*.f32 u (*.f32 normAngle normAngle)) (fma.f32 1/6 (*.f32 (*.f32 normAngle normAngle) (pow.f32 u 3)) (*.f32 1/5040 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 7))))))))) (fma.f32 1/120 (*.f32 (pow.f32 normAngle 4) (pow.f32 u 5)) (+.f32 u (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u)) (fma.f32 1/720 (*.f32 (pow.f32 normAngle 6) (pow.f32 u 6)) (*.f32 1/270 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 6))))))))))
(+.f32 1 (-.f32 (+.f32 (+.f32 (+.f32 (*.f32 (*.f32 normAngle normAngle) (+.f32 (*.f32 u 1/3) (*.f32 1/6 (pow.f32 u 3)))) (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 u 1/45) (*.f32 1/24 (pow.f32 u 4))))) (*.f32 (*.f32 1/5040 (pow.f32 normAngle 6)) (pow.f32 u 7))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 2/945) (*.f32 (pow.f32 u 5) 1/360)))) (+.f32 (fma.f32 1/18 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 1/720 (pow.f32 u 6)) (*.f32 (pow.f32 u 3) 1/270))))) (fma.f32 (*.f32 1/120 (pow.f32 u 5)) (pow.f32 normAngle 4) u))))
(+.f32 1 (-.f32 (fma.f32 (pow.f32 normAngle 6) (fma.f32 u 2/945 (*.f32 (pow.f32 u 5) 1/360)) (fma.f32 (pow.f32 normAngle 4) (fma.f32 1/24 (pow.f32 u 4) (*.f32 u 1/45)) (fma.f32 (*.f32 normAngle normAngle) (fma.f32 u 1/3 (*.f32 1/6 (pow.f32 u 3))) (*.f32 (pow.f32 normAngle 6) (*.f32 1/5040 (pow.f32 u 7)))))) (+.f32 (fma.f32 (pow.f32 normAngle 4) (*.f32 1/120 (pow.f32 u 5)) (fma.f32 (*.f32 normAngle normAngle) (*.f32 u (*.f32 u 1/2)) (fma.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 4) 1/18) u))) (*.f32 (pow.f32 normAngle 6) (fma.f32 (pow.f32 u 3) 1/270 (*.f32 1/720 (pow.f32 u 6)))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
1
(-.f32 1 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)))
(-.f32 1 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle))))
(-.f32 1 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle)))
(-.f32 1 (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 1 (+.f32 (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 1 (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))))
(-.f32 1 (fma.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle) (*.f32 1/2 (*.f32 normAngle (*.f32 u (*.f32 u normAngle))))))
(-.f32 (+.f32 (*.f32 1/6 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) (sin.f32 normAngle))) 1) (+.f32 (/.f32 (*.f32 (cos.f32 normAngle) (*.f32 u normAngle)) (sin.f32 normAngle)) (*.f32 1/2 (*.f32 (pow.f32 u 2) (pow.f32 normAngle 2)))))
(-.f32 (fma.f32 1/6 (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)))) 1) (+.f32 (*.f32 1/2 (*.f32 (*.f32 normAngle normAngle) (*.f32 u u))) (/.f32 (cos.f32 normAngle) (/.f32 (sin.f32 normAngle) (*.f32 u normAngle)))))
(-.f32 (fma.f32 1/6 (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3))) 1) (fma.f32 1/2 (*.f32 u (*.f32 u (*.f32 normAngle normAngle))) (*.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle))))
(-.f32 (fma.f32 1/6 (*.f32 (/.f32 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 3)) (sin.f32 normAngle)) (cos.f32 normAngle)) 1) (fma.f32 (/.f32 (cos.f32 normAngle) (sin.f32 normAngle)) (*.f32 u normAngle) (*.f32 1/2 (*.f32 normAngle (*.f32 u (*.f32 u normAngle))))))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))
(/.f32 (sin.f32 (*.f32 (-.f32 1 u) normAngle)) (sin.f32 normAngle))

prune354.0ms (4.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1070107
Fresh055
Picked011
Done011
Total1077114
Error
0.0b
Counts
114 → 7
Alt Table
StatusErrorProgram
5.9b
(/.f32 (fma.f32 (sin.f32 (-.f32 normAngle (*.f32 u normAngle))) n0_i (*.f32 (sin.f32 (*.f32 u normAngle)) n1_i)) (sin.f32 normAngle))
0.9b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 normAngle (-.f32 1 u))) 2)) (sin.f32 normAngle))) 2) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
1.1b
(+.f32 (*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (pow.f32 (cbrt.f32 (sin.f32 normAngle)) 2)) (cbrt.f32 (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
0.6b
(+.f32 (*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle)))) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 31/15120) (*.f32 (pow.f32 u 5) 1/720))) (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u))) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) 7/2160)))))) n1_i))
0.4b
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2) n0_i) (*.f32 (-.f32 (+.f32 (*.f32 (pow.f32 normAngle 6) (+.f32 (*.f32 u 31/15120) (*.f32 (pow.f32 u 5) 1/720))) (+.f32 (*.f32 (pow.f32 normAngle 4) (+.f32 (*.f32 1/120 (pow.f32 u 5)) (*.f32 u 7/360))) (fma.f32 1/6 (*.f32 u (*.f32 normAngle normAngle)) u))) (fma.f32 1/6 (*.f32 normAngle (*.f32 normAngle (pow.f32 u 3))) (fma.f32 1/5040 (*.f32 (pow.f32 u 7) (pow.f32 normAngle 6)) (fma.f32 1/36 (*.f32 (pow.f32 u 3) (pow.f32 normAngle 4)) (*.f32 (pow.f32 u 3) (*.f32 (pow.f32 normAngle 6) 7/2160)))))) 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.7b
(+.f32 (-.f32 n0_i (*.f32 u n0_i)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 1 (sin.f32 normAngle))) n1_i))
Compiler

Compiled 10553 to 7376 computations (30.1% saved)

regimes412.0ms (5.4%)

Accuracy

Total 0.3b remaining (86.9%)

Threshold costs 0.3b (86.9%)

Counts
90 → 1
Compiler

Compiled 4158 to 2575 computations (38.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
03372
14372
24772
34972
45072
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2) n0_i) (*.f32 (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))) -1/6))) n1_i))
Outputs
(+.f32 (*.f32 (pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 normAngle (-.f32 1 u))) (sin.f32 normAngle))) 2) n0_i) (*.f32 (fma.f32 1/120 (*.f32 (/.f32 (pow.f32 u 5) (sin.f32 normAngle)) (pow.f32 normAngle 5)) (fma.f32 (/.f32 u (sin.f32 normAngle)) normAngle (*.f32 (/.f32 (pow.f32 u 3) (/.f32 (sin.f32 normAngle) (pow.f32 normAngle 3))) -1/6))) n1_i))

end255.0ms (3.4%)

Stop Event
fuel
Compiler

Compiled 430 to 299 computations (30.5% saved)

Profiling

Loading profile data...