Time bar (total: 7.6s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 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 |
Compiled 62 to 45 computations (27.4% saved)
| 2.8s | 8256× | body | 128 | valid |
| 386.0ms | 1075× | body | 128 | invalid |
Compiled 124 to 90 computations (27.4% saved)
| 2× | egg-herbie |
| 516× | fma-neg_binary32 |
| 426× | fma-def_binary32 |
| 304× | distribute-rgt-in_binary32 |
| 225× | unsub-neg_binary32 |
| 193× | cancel-sign-sub-inv_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 259 |
| 1 | 186 | 217 |
| 2 | 445 | 217 |
| 3 | 942 | 182 |
| 4 | 1406 | 182 |
| 5 | 1644 | 182 |
| 6 | 1945 | 182 |
| 7 | 2744 | 182 |
| 8 | 4465 | 182 |
| 0 | 4 | 4 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
2 |
3 |
| 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)) |
Compiled 29 to 20 computations (31% saved)
| 1× | egg-herbie |
| 717× | fma-def_binary32 |
| 598× | times-frac_binary32 |
| 385× | fma-neg_binary32 |
| 232× | div-sub_binary32 |
| 205× | distribute-neg-frac_binary32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 37 |
| 1 | 38 | 31 |
| 2 | 84 | 31 |
| 3 | 172 | 26 |
| 4 | 261 | 26 |
| 5 | 312 | 26 |
| 6 | 382 | 26 |
| 7 | 486 | 26 |
| 8 | 746 | 26 |
| 9 | 880 | 26 |
| 10 | 1085 | 26 |
| 11 | 1764 | 26 |
| 12 | 3922 | 26 |
| 1× | node limit |
| 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)) |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| 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)) |
Compiled 146 to 89 computations (39% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 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))) |
27 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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))) |
| 1× | batch-egg-rewrite |
| 625× | prod-diff_binary32 |
| 158× | add-sqr-sqrt_binary32 |
| 155× | *-un-lft-identity_binary32 |
| 155× | pow1_binary32 |
| 144× | add-cbrt-cube_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 49 |
| 1 | 312 | 49 |
| 2 | 4013 | 49 |
| 1× | node limit |
| 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)))))) |
| 1× | egg-herbie |
| 691× | cancel-sign-sub-inv_binary32 |
| 391× | fma-def_binary32 |
| 371× | associate-*r*_binary32 |
| 262× | associate-+r+_binary32 |
| 235× | associate-*l*_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 263 | 2410 |
| 1 | 910 | 2364 |
| 2 | 3750 | 2360 |
| 1× | node limit |
| 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) |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 134 | 7 | 141 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 135 | 8 | 143 |
| Status | Error | Program |
|---|---|---|
| 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)) |
Compiled 5693 to 3239 computations (43.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 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))) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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) |
| 1× | batch-egg-rewrite |
| 517× | log-prod_binary32 |
| 400× | prod-diff_binary32 |
| 196× | expm1-udef_binary32 |
| 195× | log1p-udef_binary32 |
| 165× | log-pow_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 35 |
| 1 | 252 | 35 |
| 2 | 2875 | 35 |
| 1× | node limit |
| 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)))))) |
| 1× | egg-herbie |
| 775× | associate-*r*_binary32 |
| 767× | associate-*l*_binary32 |
| 726× | fma-def_binary32 |
| 179× | cancel-sign-sub-inv_binary32 |
| 107× | unswap-sqr_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 102 | 1406 |
| 1 | 307 | 1358 |
| 2 | 1187 | 1302 |
| 1× | node limit |
| 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) |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 147 | 3 | 150 |
| Fresh | 2 | 5 | 7 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 150 | 8 | 158 |
| Status | Error | Program |
|---|---|---|
| 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)) |
Compiled 5658 to 3255 computations (42.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 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)) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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) |
| 1× | batch-egg-rewrite |
| 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 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 15 |
| 1 | 209 | 15 |
| 2 | 2214 | 15 |
| 1× | node limit |
| 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)))))) |
| 1× | egg-herbie |
| 2× | *-commutative_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 96 |
| 1 | 8 | 96 |
| 1× | saturated |
| 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) |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 105 | 1 | 106 |
| Fresh | 2 | 5 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 107 | 7 | 114 |
| Status | Error | Program |
|---|---|---|
| 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)) |
Compiled 10842 to 7573 computations (30.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 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)))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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)))) |
| 1× | batch-egg-rewrite |
| 497× | log-prod_binary32 |
| 400× | prod-diff_binary32 |
| 184× | expm1-udef_binary32 |
| 183× | log1p-udef_binary32 |
| 156× | log-pow_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 14 |
| 1 | 209 | 14 |
| 2 | 2604 | 14 |
| 1× | node limit |
| 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)))))) |
| 1× | egg-herbie |
| 770× | associate-*r*_binary32 |
| 760× | associate-*l*_binary32 |
| 716× | fma-def_binary32 |
| 282× | associate--l+_binary32 |
| 177× | cancel-sign-sub-inv_binary32 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 99 | 623 |
| 1 | 297 | 599 |
| 2 | 1165 | 571 |
| 1× | node limit |
| 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)) |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 107 | 0 | 107 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 107 | 7 | 114 |
| Status | Error | Program |
|---|---|---|
| 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)) |
Compiled 10553 to 7376 computations (30.1% saved)
Total 0.3b remaining (86.9%)
Threshold costs 0.3b (86.9%)
Compiled 4158 to 2575 computations (38.1% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary32 |
| 3× | +-commutative_binary32 |
| 2× | sub-neg_binary32 |
| 1× | neg-sub0_binary32 |
| 1× | neg-mul-1_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 72 |
| 1 | 43 | 72 |
| 2 | 47 | 72 |
| 3 | 49 | 72 |
| 4 | 50 | 72 |
| 1× | saturated |
| 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)) |
| 1× | fuel |
Compiled 430 to 299 computations (30.5% saved)
Loading profile data...