Details

Time bar (total: 3.1s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.1%99.9%0
0.1%0%99.9%1
Compiler

Compiled 33 to 24 computations (27.3% saved)

sample1.6s (51.3%)

Results
1.6s8254×body128valid
1.0msbody256valid

preprocess41.0ms (1.3%)

Algorithm
egg-herbie
Rules
601×fma-def_binary32
498×fma-neg_binary32
174×cancel-sign-sub-inv_binary32
94×sub-neg_binary32
89×unsub-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
14032
210632
322232
454032
5115332
6198732
7232532
8240532
9241632
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos))
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))
(+.f32 (-.f32 1 ux) (*.f32 ux uy))
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(fma.f32 ux maxCos (-.f32 1 ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos))
(-.f32 1 (-.f32 uy (*.f32 maxCos uy)))
(fma.f32 maxCos uy (-.f32 1 uy))
(-.f32 (fma.f32 maxCos uy 1) uy)
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))
(+.f32 (-.f32 1 maxCos) (*.f32 ux maxCos))
(fma.f32 ux maxCos (-.f32 1 maxCos))
(-.f32 (fma.f32 ux maxCos 1) maxCos)
(+.f32 (-.f32 1 ux) (*.f32 ux uy))
(fma.f32 ux uy (-.f32 1 ux))
(-.f32 (fma.f32 ux uy 1) ux)
Compiler

Compiled 10 to 7 computations (30% saved)

simplify14.0ms (0.5%)

Algorithm
egg-herbie
Rules
199×fma-def_binary32
155×fma-neg_binary32
47×cancel-sign-sub-inv_binary32
34×sub-neg_binary32
26×unsub-neg_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0710
1158
2358
3728
41678
53618
66188
77658
87978
98028
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(fma.f32 ux maxCos (-.f32 1 ux))
(-.f32 (fma.f32 ux maxCos 1) ux)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(-.f32 (fma.f32 ux maxCos 1) ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 54 to 36 computations (33.3% saved)

localize16.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f32 ux maxCos)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))

series5.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
ux
@inf
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
1.0ms
ux
@-inf
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
1.0ms
ux
@0
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
0.0ms
ux
@0
(*.f32 ux maxCos)
0.0ms
maxCos
@inf
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))

rewrite44.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
836×log1p-expm1-u_binary32
836×expm1-log1p-u_binary32
81×add-sqr-sqrt_binary32
79×*-un-lft-identity_binary32
79×pow1_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0714
115412
2220812
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(*.f32 ux maxCos)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (-.f32 ux (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (/.f32 (pow.f32 (*.f32 ux maxCos) 2) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) 1) ux)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (*.f32 ux maxCos) 2) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 (-.f32 1 ux) ux) maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (neg.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 ux maxCos)) 3)) (+.f32 1 (+.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 ux (*.f32 ux maxCos))) (-.f32 ux (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 ux (*.f32 ux maxCos)))) (+.f32 1 (-.f32 ux (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 ux maxCos) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux maxCos (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 maxCos ux (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (cbrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (cbrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 ux maxCos)) (sqrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 ux maxCos))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 ux maxCos)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 ux maxCos) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 ux) maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 ux maxCos) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 ux maxCos)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 ux maxCos)))))))

simplify22.0ms (0.7%)

Algorithm
egg-herbie
Rules
185×fma-def_binary32
158×fma-neg_binary32
31×sub-neg_binary32
25×unsub-neg_binary32
22×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017303
145267
2107267
3227267
4461267
5662267
6762267
7780267
Stop Event
saturated
Counts
102 → 64
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)

prune88.0ms (2.8%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New59564
Fresh101
Picked101
Done000
Total61566
Error
0b
Counts
66 → 5
Alt Table
StatusErrorProgram
0.4b
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
0.5b
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 ux maxCos)) 3)) (+.f32 1 (+.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 ux (*.f32 ux maxCos))) (-.f32 ux (*.f32 ux maxCos)))))
0.1b
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
0.4b
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
0.6b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
Compiler

Compiled 1033 to 603 computations (41.6% saved)

localize52.0ms (1.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
0.3b
(*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))
0.4b
(pow.f32 (-.f32 1 ux) 2)
0.6b
(pow.f32 (-.f32 1 ux) 3)

series17.0ms (0.6%)

Counts
4 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
ux
@inf
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
2.0ms
ux
@-inf
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
1.0ms
maxCos
@-inf
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
1.0ms
maxCos
@0
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
1.0ms
ux
@0
(*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))

rewrite40.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
189×add-sqr-sqrt_binary32
186×pow1_binary32
183×*-un-lft-identity_binary32
179×add-log-exp_binary32
179×log1p-expm1-u_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01673
138538
Stop Event
node limit
Counts
4 → 98
Calls
Call 1
Inputs
(pow.f32 (-.f32 1 ux) 3)
(pow.f32 (-.f32 1 ux) 2)
(*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (neg.f32 ux) (pow.f32 (-.f32 1 ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) 1) (*.f32 (pow.f32 (-.f32 1 ux) 2) (neg.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (-.f32 1 ux) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (-.f32 1 ux) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (-.f32 1 ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (-.f32 1 ux)) 3) (pow.f32 (sqrt.f32 (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (-.f32 1 (pow.f32 ux 3)) 3) (pow.f32 (+.f32 1 (fma.f32 ux ux ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (-.f32 1 (*.f32 ux ux)) 3) (pow.f32 (+.f32 1 ux) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 1 ux) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (-.f32 1 ux) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (-.f32 1 ux) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 1 ux) 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (-.f32 1 ux) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 3 (log1p.f32 (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log1p.f32 (neg.f32 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (-.f32 1 ux) 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 (neg.f32 ux) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (-.f32 1 ux) 1) (*.f32 (-.f32 1 ux) (neg.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (-.f32 1 ux) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (-.f32 1 ux) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 ux) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) 4)) (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 ux 3)) (-.f32 1 (pow.f32 ux 3))) (*.f32 (+.f32 1 (fma.f32 ux ux ux)) (+.f32 1 (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 ux ux)) (-.f32 1 (*.f32 ux ux))) (*.f32 (+.f32 1 ux) (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 ux ux)) (-.f32 1 (pow.f32 ux 3))) (*.f32 (+.f32 1 ux) (+.f32 1 (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 ux 3)) (-.f32 1 (*.f32 ux ux))) (*.f32 (+.f32 1 (fma.f32 ux ux ux)) (+.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 1 ux) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (-.f32 1 ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (-.f32 1 ux) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (-.f32 1 ux) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log1p.f32 (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log1p.f32 (neg.f32 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (-.f32 1 ux) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (*.f32 ux maxCos) 2) (neg.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (*.f32 ux maxCos) (neg.f32 (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (neg.f32 (-.f32 1 ux)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (*.f32 ux maxCos) (*.f32 ux maxCos) (neg.f32 (*.f32 (*.f32 ux maxCos) (-.f32 1 ux)))) (fma.f32 (neg.f32 (*.f32 ux maxCos)) (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (fma.f32 ux maxCos -1) (*.f32 ux maxCos)) (*.f32 ux (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos -1)) (*.f32 (*.f32 ux maxCos) ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 6) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 3)) (+.f32 (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (*.f32 ux maxCos) 2)) (+.f32 (*.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (*.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (*.f32 ux maxCos) 2)) (*.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)))) (+.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (+.f32 (fma.f32 ux maxCos -1) ux)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 ux maxCos) (*.f32 ux maxCos) (neg.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (/.f32 1 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) 2) (cbrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (sqrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (neg.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2))) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) 2) 1) (/.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (hypot.f32 (pow.f32 (*.f32 ux maxCos) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) 1) (/.f32 (hypot.f32 (pow.f32 (*.f32 ux maxCos) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) 2))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (cbrt.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) 2) (cbrt.f32 (pow.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) 2))) (cbrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (hypot.f32 (pow.f32 (*.f32 ux maxCos) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (cbrt.f32 (pow.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) 2))) (/.f32 (hypot.f32 (pow.f32 (*.f32 ux maxCos) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (cbrt.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) (cbrt.f32 (pow.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) 2))) (/.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (cbrt.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (hypot.f32 (-.f32 1 ux) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (hypot.f32 (-.f32 1 ux) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) 2) (hypot.f32 (-.f32 1 ux) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))) (/.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (hypot.f32 (-.f32 1 ux) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) (hypot.f32 (-.f32 1 ux) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))) (/.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (hypot.f32 (-.f32 1 ux) (sqrt.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) 1) (/.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) 3))) (+.f32 (pow.f32 (-.f32 1 ux) 4) (*.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) (-.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux)) 2))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (neg.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (*.f32 (exp.f32 (-.f32 1 ux)) (pow.f32 (exp.f32 maxCos) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) 3) (pow.f32 (fma.f32 (*.f32 ux maxCos) (+.f32 (fma.f32 ux maxCos -1) ux) (pow.f32 (-.f32 1 ux) 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (cbrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))))

simplify62.0ms (2%)

Algorithm
egg-herbie
Rules
335×cancel-sign-sub-inv_binary32
221×fma-def_binary32
208×sub-neg_binary32
202×div-sub_binary32
170×+-commutative_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02322960
18602666
234602565
Stop Event
node limit
Counts
170 → 176
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -3 ux))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (*.f32 -3 ux)))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux))))
(*.f32 -1 (pow.f32 ux 3))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (*.f32 -1 (pow.f32 ux 3)))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux)))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux))))
(*.f32 -1 (pow.f32 ux 3))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (*.f32 -1 (pow.f32 ux 3)))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux)))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux))))
1
(+.f32 1 (*.f32 -2 ux))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(pow.f32 ux 2)
(+.f32 (pow.f32 ux 2) (*.f32 -2 ux))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(pow.f32 ux 2)
(+.f32 (pow.f32 ux 2) (*.f32 -2 ux))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(*.f32 -1 (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1)))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1)))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1)))))
(*.f32 (-.f32 ux 1) (*.f32 maxCos ux))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
1
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 (*.f32 (pow.f32 ux 2) (-.f32 2 (+.f32 (*.f32 maxCos (+.f32 1 maxCos)) (*.f32 -1 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (+.f32 1 (*.f32 -1 maxCos))))))) (+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))
(+.f32 (*.f32 (-.f32 (pow.f32 maxCos 3) (+.f32 1 (+.f32 (*.f32 -1 (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 2 (+.f32 (*.f32 maxCos (+.f32 1 maxCos)) (*.f32 -1 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (+.f32 1 (*.f32 -1 maxCos)))))))))) (pow.f32 ux 3)) (+.f32 (*.f32 (pow.f32 ux 2) (-.f32 2 (+.f32 (*.f32 maxCos (+.f32 1 maxCos)) (*.f32 -1 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (+.f32 1 (*.f32 -1 maxCos))))))) (+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))))
(/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (/.f32 1 (*.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) ux)))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (-.f32 (*.f32 -1 maxCos) 2)) (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) ux)) (+.f32 (*.f32 3 (/.f32 1 (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) ux))) (/.f32 (pow.f32 maxCos 3) (*.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) ux))))))
(-.f32 (+.f32 (/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (+.f32 (/.f32 1 (*.f32 ux (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 3))) (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))))))) (+.f32 (*.f32 3 (/.f32 1 (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) ux))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (/.f32 (pow.f32 maxCos 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (+.f32 (/.f32 (*.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (-.f32 (*.f32 -1 maxCos) 2)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))))) (-.f32 (*.f32 -1 maxCos) 2)) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (-.f32 (*.f32 -1 maxCos) 2)) (*.f32 ux (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (*.f32 3 (/.f32 1 (*.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (pow.f32 ux 2))))))))))
(*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (*.f32 -1 (/.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2))) (+.f32 2 maxCos)) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))) (*.f32 -1 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))))) ux)) (*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (*.f32 -1 (/.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2))) (+.f32 2 maxCos)) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))) (*.f32 -1 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))))) ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 3))))))) (+.f32 (*.f32 3 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))) (+.f32 (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2))) (+.f32 2 maxCos)) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))) (*.f32 -1 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))))) (+.f32 2 maxCos)) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (-.f32 1 ux)))) ux)
(-.f32 (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (-.f32 1 ux))) (*.f32 -1 (*.f32 (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 (-.f32 ux 1) 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3))) (/.f32 (pow.f32 ux 2) (-.f32 1 ux))) (pow.f32 maxCos 2))))) ux)
(-.f32 (+.f32 (*.f32 (-.f32 (/.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (pow.f32 ux 3)) (pow.f32 (-.f32 1 ux) 3))) (*.f32 -1 (/.f32 (*.f32 (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 (-.f32 ux 1) 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3))) (/.f32 (pow.f32 ux 2) (-.f32 1 ux))) (*.f32 (-.f32 ux 1) ux)) (pow.f32 (-.f32 1 ux) 2))))) (pow.f32 maxCos 3)) (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (-.f32 1 ux))) (*.f32 -1 (*.f32 (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 (-.f32 ux 1) 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3))) (/.f32 (pow.f32 ux 2) (-.f32 1 ux))) (pow.f32 maxCos 2)))))) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (+.f32 (*.f32 maxCos ux) (*.f32 -1 (/.f32 (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos)))) ux)
(-.f32 (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux))) (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 1 (+.f32 (*.f32 maxCos ux) (*.f32 -1 (/.f32 (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos))))) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 (*.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 maxCos ux))) (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos ux))) (*.f32 maxCos ux)))) ux)
(-.f32 (+.f32 (*.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 maxCos ux))) (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux)))) (*.f32 (pow.f32 maxCos 2) ux))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos ux))) (*.f32 maxCos ux))))) ux)
Outputs
1
(+.f32 1 (*.f32 -3 ux))
(fma.f32 -3 ux 1)
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (*.f32 -3 ux)))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (*.f32 -3 ux)))
(+.f32 (*.f32 ux (*.f32 ux 3)) (fma.f32 -3 ux 1))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux))))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (fma.f32 -1 (pow.f32 ux 3) (*.f32 -3 ux))))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (-.f32 (*.f32 -3 ux) (pow.f32 ux 3))))
(*.f32 -1 (pow.f32 ux 3))
(neg.f32 (pow.f32 ux 3))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (*.f32 -1 (pow.f32 ux 3)))
(fma.f32 3 (*.f32 ux ux) (neg.f32 (pow.f32 ux 3)))
(-.f32 (*.f32 ux (*.f32 ux 3)) (pow.f32 ux 3))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux)))
(fma.f32 3 (*.f32 ux ux) (fma.f32 -1 (pow.f32 ux 3) (*.f32 -3 ux)))
(fma.f32 3 (*.f32 ux ux) (-.f32 (*.f32 -3 ux) (pow.f32 ux 3)))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux))))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (fma.f32 -1 (pow.f32 ux 3) (*.f32 -3 ux))))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (-.f32 (*.f32 -3 ux) (pow.f32 ux 3))))
(*.f32 -1 (pow.f32 ux 3))
(neg.f32 (pow.f32 ux 3))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (*.f32 -1 (pow.f32 ux 3)))
(fma.f32 3 (*.f32 ux ux) (neg.f32 (pow.f32 ux 3)))
(-.f32 (*.f32 ux (*.f32 ux 3)) (pow.f32 ux 3))
(+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux)))
(fma.f32 3 (*.f32 ux ux) (fma.f32 -1 (pow.f32 ux 3) (*.f32 -3 ux)))
(fma.f32 3 (*.f32 ux ux) (-.f32 (*.f32 -3 ux) (pow.f32 ux 3)))
(+.f32 1 (+.f32 (*.f32 3 (pow.f32 ux 2)) (+.f32 (*.f32 -1 (pow.f32 ux 3)) (*.f32 -3 ux))))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (fma.f32 -1 (pow.f32 ux 3) (*.f32 -3 ux))))
(+.f32 1 (fma.f32 3 (*.f32 ux ux) (-.f32 (*.f32 -3 ux) (pow.f32 ux 3))))
1
(+.f32 1 (*.f32 -2 ux))
(+.f32 1 (*.f32 ux -2))
(fma.f32 ux -2 1)
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (*.f32 ux ux) (+.f32 1 (*.f32 ux -2)))
(fma.f32 ux ux (fma.f32 ux -2 1))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (*.f32 ux ux) (+.f32 1 (*.f32 ux -2)))
(fma.f32 ux ux (fma.f32 ux -2 1))
(pow.f32 ux 2)
(*.f32 ux ux)
(+.f32 (pow.f32 ux 2) (*.f32 -2 ux))
(+.f32 (*.f32 ux ux) (*.f32 ux -2))
(*.f32 ux (+.f32 ux -2))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (*.f32 ux ux) (+.f32 1 (*.f32 ux -2)))
(fma.f32 ux ux (fma.f32 ux -2 1))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (*.f32 ux ux) (+.f32 1 (*.f32 ux -2)))
(fma.f32 ux ux (fma.f32 ux -2 1))
(pow.f32 ux 2)
(*.f32 ux ux)
(+.f32 (pow.f32 ux 2) (*.f32 -2 ux))
(+.f32 (*.f32 ux ux) (*.f32 ux -2))
(*.f32 ux (+.f32 ux -2))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (*.f32 ux ux) (+.f32 1 (*.f32 ux -2)))
(fma.f32 ux ux (fma.f32 ux -2 1))
(+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -2 ux)))
(+.f32 (*.f32 ux ux) (+.f32 1 (*.f32 ux -2)))
(fma.f32 ux ux (fma.f32 ux -2 1))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 (neg.f32 maxCos) ux)
(*.f32 ux (neg.f32 maxCos))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(fma.f32 -1 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos)))
(-.f32 (*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos)))) (*.f32 ux maxCos))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(fma.f32 -1 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos)))
(-.f32 (*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos)))) (*.f32 ux maxCos))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(fma.f32 -1 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos)))
(-.f32 (*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos)))) (*.f32 ux maxCos))
(*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos)))
(*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos))
(*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(fma.f32 -1 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos)))
(-.f32 (*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos)))) (*.f32 ux maxCos))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(fma.f32 -1 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos)))
(-.f32 (*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos)))) (*.f32 ux maxCos))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 maxCos (*.f32 (pow.f32 ux 2) (+.f32 1 maxCos))))
(fma.f32 -1 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 maxCos)))
(-.f32 (*.f32 ux (*.f32 ux (+.f32 maxCos (*.f32 maxCos maxCos)))) (*.f32 ux maxCos))
(*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1))))
(*.f32 (neg.f32 maxCos) (*.f32 (*.f32 ux ux) (fma.f32 -1 maxCos -1)))
(*.f32 ux (*.f32 ux (*.f32 maxCos (neg.f32 (fma.f32 -1 maxCos -1)))))
(*.f32 ux (*.f32 ux (*.f32 maxCos (neg.f32 (-.f32 -1 maxCos)))))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1)))))
(*.f32 -1 (+.f32 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 -1 maxCos -1))))
(*.f32 (neg.f32 maxCos) (+.f32 (*.f32 (*.f32 ux ux) (fma.f32 -1 maxCos -1)) ux))
(*.f32 (neg.f32 maxCos) (+.f32 (*.f32 (*.f32 ux ux) (-.f32 -1 maxCos)) ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1)))))
(*.f32 -1 (+.f32 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 -1 maxCos -1))))
(*.f32 (neg.f32 maxCos) (+.f32 (*.f32 (*.f32 ux ux) (fma.f32 -1 maxCos -1)) ux))
(*.f32 (neg.f32 maxCos) (+.f32 (*.f32 (*.f32 ux ux) (-.f32 -1 maxCos)) ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (*.f32 maxCos (*.f32 (pow.f32 ux 2) (-.f32 (*.f32 -1 maxCos) 1)))))
(*.f32 -1 (+.f32 (*.f32 ux maxCos) (*.f32 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 -1 maxCos -1))))
(*.f32 (neg.f32 maxCos) (+.f32 (*.f32 (*.f32 ux ux) (fma.f32 -1 maxCos -1)) ux))
(*.f32 (neg.f32 maxCos) (+.f32 (*.f32 (*.f32 ux ux) (-.f32 -1 maxCos)) ux))
(*.f32 (-.f32 ux 1) (*.f32 maxCos ux))
(*.f32 (*.f32 ux maxCos) (+.f32 ux -1))
(*.f32 maxCos (*.f32 ux (+.f32 ux -1)))
(*.f32 maxCos (-.f32 (*.f32 ux ux) ux))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
(+.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(fma.f32 (+.f32 ux -1) (*.f32 ux maxCos) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (*.f32 ux (+.f32 ux -1))))
(fma.f32 (*.f32 ux ux) (*.f32 maxCos maxCos) (*.f32 maxCos (-.f32 (*.f32 ux ux) ux)))
1
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (neg.f32 (*.f32 ux (+.f32 1 (neg.f32 maxCos)))))
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
(+.f32 (*.f32 (pow.f32 ux 2) (-.f32 2 (+.f32 (*.f32 maxCos (+.f32 1 maxCos)) (*.f32 -1 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (+.f32 1 (*.f32 -1 maxCos))))))) (+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))
(fma.f32 (*.f32 ux ux) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (neg.f32 (*.f32 (+.f32 1 (neg.f32 maxCos)) (fma.f32 -1 maxCos -2))))) (+.f32 1 (neg.f32 (*.f32 ux (+.f32 1 (neg.f32 maxCos))))))
(-.f32 (fma.f32 (*.f32 ux ux) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (neg.f32 (fma.f32 -1 maxCos -2))))) 1) (-.f32 ux (*.f32 ux maxCos)))
(-.f32 (fma.f32 (*.f32 ux ux) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (neg.f32 (-.f32 -2 maxCos))))) 1) (-.f32 ux (*.f32 ux maxCos)))
(+.f32 (*.f32 (-.f32 (pow.f32 maxCos 3) (+.f32 1 (+.f32 (*.f32 -1 (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (+.f32 1 (*.f32 -1 maxCos)))) (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 2 (+.f32 (*.f32 maxCos (+.f32 1 maxCos)) (*.f32 -1 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (+.f32 1 (*.f32 -1 maxCos)))))))))) (pow.f32 ux 3)) (+.f32 (*.f32 (pow.f32 ux 2) (-.f32 2 (+.f32 (*.f32 maxCos (+.f32 1 maxCos)) (*.f32 -1 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (+.f32 1 (*.f32 -1 maxCos))))))) (+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))))
(fma.f32 (-.f32 (+.f32 (pow.f32 maxCos 3) -1) (fma.f32 -1 (*.f32 (+.f32 1 (neg.f32 maxCos)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (*.f32 (fma.f32 -1 maxCos -2) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (neg.f32 (*.f32 (+.f32 1 (neg.f32 maxCos)) (fma.f32 -1 maxCos -2)))))))) (pow.f32 ux 3) (fma.f32 (*.f32 ux ux) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (neg.f32 (*.f32 (+.f32 1 (neg.f32 maxCos)) (fma.f32 -1 maxCos -2))))) (+.f32 1 (neg.f32 (*.f32 ux (+.f32 1 (neg.f32 maxCos)))))))
(fma.f32 (pow.f32 ux 3) (+.f32 (pow.f32 maxCos 3) (-.f32 -1 (-.f32 (*.f32 (fma.f32 -1 maxCos -2) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (neg.f32 (fma.f32 -1 maxCos -2)))))) (*.f32 (-.f32 1 maxCos) (fma.f32 maxCos (+.f32 1 maxCos) 1))))) (-.f32 (fma.f32 (*.f32 ux ux) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (neg.f32 (fma.f32 -1 maxCos -2))))) 1) (-.f32 ux (*.f32 ux maxCos))))
(fma.f32 (pow.f32 ux 3) (-.f32 (pow.f32 maxCos 3) (+.f32 1 (-.f32 (*.f32 (-.f32 -2 maxCos) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (neg.f32 (-.f32 -2 maxCos)))))) (*.f32 (-.f32 1 maxCos) (fma.f32 maxCos (+.f32 1 maxCos) 1))))) (-.f32 (fma.f32 (*.f32 ux ux) (-.f32 2 (fma.f32 maxCos (+.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (neg.f32 (-.f32 -2 maxCos))))) 1) (-.f32 ux (*.f32 ux maxCos))))
(/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))
(/.f32 ux (/.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (+.f32 (pow.f32 maxCos 3) -1)))
(*.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3)))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)))
(+.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (-.f32 (/.f32 ux (/.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (+.f32 (pow.f32 maxCos 3) -1))) (/.f32 (fma.f32 -1 maxCos -2) (/.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (+.f32 (pow.f32 maxCos 3) -1)))))
(-.f32 (+.f32 (*.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3))) (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1))) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3))))
(+.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (fma.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3)) (/.f32 (neg.f32 (-.f32 -2 maxCos)) (/.f32 (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2) (+.f32 -1 (pow.f32 maxCos 3))))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (/.f32 1 (*.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) ux)))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (-.f32 (*.f32 -1 maxCos) 2)) (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) ux)) (+.f32 (*.f32 3 (/.f32 1 (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) ux))) (/.f32 (pow.f32 maxCos 3) (*.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) ux))))))
(-.f32 (-.f32 (+.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (+.f32 (/.f32 ux (/.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (+.f32 (pow.f32 maxCos 3) -1))) (/.f32 (/.f32 1 ux) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)))) (/.f32 (fma.f32 -1 maxCos -2) (/.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (+.f32 (pow.f32 maxCos 3) -1)))) (+.f32 (*.f32 (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (/.f32 (fma.f32 -1 maxCos -2) (/.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (+.f32 (pow.f32 maxCos 3) -1)))) ux) (/.f32 (fma.f32 -1 maxCos -2) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 3 (*.f32 ux (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (pow.f32 maxCos 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))))))
(-.f32 (+.f32 (+.f32 (*.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3))) (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1))) (-.f32 (/.f32 (/.f32 1 ux) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3))))) (fma.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3)))) ux) (/.f32 (fma.f32 -1 maxCos -2) (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 (/.f32 (/.f32 3 ux) (fma.f32 maxCos (+.f32 1 maxCos) 1)) (/.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) ux))))
(+.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (-.f32 (+.f32 (*.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3))) (/.f32 (/.f32 1 ux) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2))) (+.f32 (*.f32 (/.f32 (-.f32 -2 maxCos) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3))) (fma.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (*.f32 (/.f32 (-.f32 -2 maxCos) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3)))) ux) (/.f32 (-.f32 -2 maxCos) (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 (/.f32 (/.f32 3 ux) (fma.f32 maxCos (+.f32 1 maxCos) 1)) (/.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) ux))))))
(-.f32 (+.f32 (/.f32 (*.f32 ux (-.f32 (pow.f32 maxCos 3) 1)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (+.f32 (/.f32 1 (*.f32 ux (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 3))) (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))))))) (+.f32 (*.f32 3 (/.f32 1 (*.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) ux))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (/.f32 (pow.f32 maxCos 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (+.f32 (/.f32 (*.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (-.f32 (*.f32 -1 maxCos) 2)) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))))) (-.f32 (*.f32 -1 maxCos) 2)) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 (*.f32 (-.f32 (*.f32 -1 maxCos) 2) (-.f32 (pow.f32 maxCos 3) 1)) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (-.f32 (*.f32 -1 maxCos) 2)) (*.f32 ux (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (*.f32 3 (/.f32 1 (*.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (pow.f32 ux 2))))))))))
(-.f32 (-.f32 (+.f32 (/.f32 ux (/.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (+.f32 (pow.f32 maxCos 3) -1))) (+.f32 (+.f32 (/.f32 (/.f32 1 ux) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (/.f32 1 (*.f32 (*.f32 ux ux) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))))) (+.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (*.f32 ux ux)) (/.f32 (+.f32 (pow.f32 maxCos 3) -1) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 3)))))) (/.f32 3 (*.f32 ux (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))))) (+.f32 (+.f32 (/.f32 (fma.f32 -1 maxCos -2) (/.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (+.f32 (pow.f32 maxCos 3) -1))) (/.f32 (pow.f32 maxCos 3) (*.f32 ux (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)))) (+.f32 (/.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)) (+.f32 (+.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2))) (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (/.f32 (fma.f32 -1 maxCos -2) (/.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (+.f32 (pow.f32 maxCos 3) -1)))) (/.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) (fma.f32 -1 maxCos -2))))) (/.f32 (*.f32 (*.f32 ux ux) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (fma.f32 -1 maxCos -2))) (+.f32 (*.f32 (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos)))) (/.f32 (fma.f32 -1 maxCos -2) (/.f32 (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2) (+.f32 (pow.f32 maxCos 3) -1)))) ux) (/.f32 (fma.f32 -1 maxCos -2) (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))))) (/.f32 3 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (*.f32 maxCos (+.f32 1 maxCos))) 2)))))))
(-.f32 (-.f32 (+.f32 (+.f32 (*.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3))) (/.f32 (/.f32 1 ux) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2))) (-.f32 (+.f32 (/.f32 1 (*.f32 ux (*.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)))) (fma.f32 (/.f32 (fma.f32 -1 maxCos -2) (*.f32 ux ux)) (/.f32 (+.f32 -1 (pow.f32 maxCos 3)) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 3)) (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)))) (/.f32 (/.f32 3 ux) (fma.f32 maxCos (+.f32 1 maxCos) 1)))) (+.f32 (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3))) (/.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) ux))) (+.f32 (/.f32 (/.f32 3 (*.f32 ux ux)) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 (/.f32 (-.f32 (/.f32 1 (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (/.f32 (-.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3)))) (/.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) (fma.f32 -1 maxCos -2)))))) (*.f32 ux ux)) (/.f32 (-.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (*.f32 (/.f32 (fma.f32 -1 maxCos -2) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3)))) ux)))))
(-.f32 (+.f32 (+.f32 (*.f32 (/.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 -1 (pow.f32 maxCos 3))) (/.f32 (/.f32 1 ux) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2))) (-.f32 (+.f32 (/.f32 1 (*.f32 ux (*.f32 ux (fma.f32 maxCos (+.f32 1 maxCos) 1)))) (fma.f32 (/.f32 (-.f32 -2 maxCos) (*.f32 ux ux)) (/.f32 (+.f32 -1 (pow.f32 maxCos 3)) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 3)) (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)))) (/.f32 (/.f32 3 ux) (fma.f32 maxCos (+.f32 1 maxCos) 1)))) (+.f32 (*.f32 (/.f32 (-.f32 -2 maxCos) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3))) (+.f32 (/.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) ux) (+.f32 (/.f32 (/.f32 3 (*.f32 ux ux)) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (*.f32 (/.f32 (-.f32 -2 maxCos) (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 (/.f32 (-.f32 (/.f32 1 (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (+.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (/.f32 (-.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (*.f32 (/.f32 (-.f32 -2 maxCos) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3)))) (/.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) (-.f32 -2 maxCos)))))) (*.f32 ux ux)) (/.f32 (-.f32 (/.f32 3 (fma.f32 maxCos (+.f32 1 maxCos) 1)) (*.f32 (/.f32 (-.f32 -2 maxCos) (pow.f32 (fma.f32 maxCos (+.f32 1 maxCos) 1) 2)) (+.f32 -1 (pow.f32 maxCos 3)))) ux)))))))
(*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))))
(neg.f32 (/.f32 ux (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 1 (neg.f32 (pow.f32 maxCos 3))))))
(/.f32 (neg.f32 ux) (/.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) (-.f32 1 (pow.f32 maxCos 3))))
(/.f32 (neg.f32 ux) (/.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) (-.f32 1 (pow.f32 maxCos 3))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))
(+.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (-.f32 (neg.f32 (/.f32 ux (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))))
(-.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (*.f32 (/.f32 ux (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (-.f32 1 (pow.f32 maxCos 3)))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2) (-.f32 1 (pow.f32 maxCos 3)))))
(-.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (*.f32 (/.f32 ux (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (-.f32 1 (pow.f32 maxCos 3)))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2) (-.f32 1 (pow.f32 maxCos 3)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (*.f32 -1 (/.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2))) (+.f32 2 maxCos)) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))) (*.f32 -1 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))))) ux)) (*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))
(+.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (-.f32 (fma.f32 -1 (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (+.f32 (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2)) (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))) (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 2 maxCos)))) (/.f32 (neg.f32 (pow.f32 maxCos 3)) (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2)))) ux) (neg.f32 (/.f32 ux (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 1 (neg.f32 (pow.f32 maxCos 3))))))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))))
(-.f32 (-.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (-.f32 (+.f32 (/.f32 1 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)) (*.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))) (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (+.f32 2 maxCos))) (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)))) ux)) (*.f32 (/.f32 ux (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (-.f32 1 (pow.f32 maxCos 3)))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2) (-.f32 1 (pow.f32 maxCos 3)))))
(-.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 (*.f32 (/.f32 ux (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (-.f32 1 (pow.f32 maxCos 3))) (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 (/.f32 (-.f32 1 (pow.f32 maxCos 3)) (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2)) (*.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))) (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 2 maxCos)))) ux))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2) (-.f32 1 (pow.f32 maxCos 3)))))
(-.f32 (+.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (*.f32 -1 (/.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2))) (+.f32 2 maxCos)) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))) (*.f32 -1 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))))) ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 ux (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 3))))))) (+.f32 (*.f32 3 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))) (+.f32 (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)) (+.f32 (/.f32 (*.f32 (-.f32 (*.f32 3 (/.f32 1 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))) (/.f32 (*.f32 (+.f32 2 maxCos) (+.f32 1 (*.f32 -1 (pow.f32 maxCos 3)))) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2))) (+.f32 2 maxCos)) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1))))) (*.f32 -1 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))) 2)))))) (+.f32 2 maxCos)) (*.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 (*.f32 maxCos (-.f32 (*.f32 -1 maxCos) 1)))))))))
(-.f32 (+.f32 (+.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (/.f32 1 (*.f32 (*.f32 ux ux) (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))))) (fma.f32 -1 (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (+.f32 (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2)) (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))) (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 2 maxCos)))) (/.f32 (neg.f32 (pow.f32 maxCos 3)) (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2)))) ux) (fma.f32 -1 (/.f32 ux (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 1 (neg.f32 (pow.f32 maxCos 3))))) (*.f32 (/.f32 (+.f32 2 maxCos) (*.f32 ux ux)) (/.f32 (+.f32 1 (neg.f32 (pow.f32 maxCos 3))) (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 3)))))) (+.f32 (+.f32 (/.f32 3 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))) (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (+.f32 (+.f32 (/.f32 1 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2)) (/.f32 (-.f32 (/.f32 3 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2) (+.f32 1 (neg.f32 (pow.f32 maxCos 3)))))) (/.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) (+.f32 2 maxCos)))) (/.f32 (neg.f32 (pow.f32 maxCos 3)) (pow.f32 (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1))) 2)))) (/.f32 (*.f32 (*.f32 ux ux) (+.f32 1 (*.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1)))) (+.f32 2 maxCos)))))
(+.f32 (+.f32 (/.f32 1 (*.f32 ux (*.f32 ux (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)))) (-.f32 (-.f32 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 3)) (+.f32 2 maxCos)) (*.f32 ux (*.f32 ux (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 3)))) (*.f32 (/.f32 ux (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (-.f32 1 (pow.f32 maxCos 3)))) (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (-.f32 (+.f32 (/.f32 1 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)) (*.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))) (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (+.f32 2 maxCos))) (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)))) ux))) (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (+.f32 (/.f32 (/.f32 3 (*.f32 ux ux)) (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)) (fma.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (-.f32 (+.f32 (/.f32 1 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)) (*.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))) (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (+.f32 2 maxCos))) (/.f32 (pow.f32 maxCos 3) (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2)))) (*.f32 ux ux)) (/.f32 (+.f32 2 maxCos) (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (fma.f32 -1 maxCos -1) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))))))
(+.f32 (+.f32 (/.f32 1 (*.f32 ux (*.f32 ux (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)))) (-.f32 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 3)) (+.f32 2 maxCos)) (*.f32 ux (*.f32 ux (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 3)))) (+.f32 (*.f32 (/.f32 ux (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (-.f32 1 (pow.f32 maxCos 3))) (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 (/.f32 (-.f32 1 (pow.f32 maxCos 3)) (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2)) (*.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))) (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 2 maxCos)))) ux)))) (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 (/.f32 (/.f32 3 (*.f32 ux ux)) (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2)) (fma.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 (/.f32 (-.f32 1 (pow.f32 maxCos 3)) (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2)) (*.f32 (/.f32 (-.f32 (/.f32 3 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))) (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (+.f32 2 maxCos)))) (*.f32 ux ux)) (/.f32 (+.f32 2 maxCos) (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1)) (/.f32 (+.f32 2 maxCos) (/.f32 (pow.f32 (fma.f32 (neg.f32 maxCos) (-.f32 -1 maxCos) 1) 2) (-.f32 1 (pow.f32 maxCos 3))))))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (-.f32 1 ux)))) ux)
(+.f32 1 (-.f32 (neg.f32 (/.f32 (+.f32 ux -1) (/.f32 (-.f32 1 ux) (*.f32 ux maxCos)))) ux))
(-.f32 (-.f32 1 (*.f32 (/.f32 (+.f32 ux -1) (-.f32 1 ux)) (*.f32 ux maxCos))) ux)
(-.f32 (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (-.f32 1 ux))) (*.f32 -1 (*.f32 (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 (-.f32 ux 1) 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3))) (/.f32 (pow.f32 ux 2) (-.f32 1 ux))) (pow.f32 maxCos 2))))) ux)
(+.f32 1 (-.f32 (*.f32 -1 (+.f32 (/.f32 (+.f32 ux -1) (/.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (*.f32 (*.f32 maxCos maxCos) (fma.f32 -1 (/.f32 (pow.f32 (+.f32 ux -1) 2) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux))) (/.f32 (*.f32 ux ux) (-.f32 1 ux)))))) ux))
(-.f32 (-.f32 (-.f32 1 (*.f32 (/.f32 (+.f32 ux -1) (-.f32 1 ux)) (*.f32 ux maxCos))) (*.f32 maxCos (*.f32 maxCos (-.f32 (/.f32 ux (/.f32 (-.f32 1 ux) ux)) (*.f32 (/.f32 (pow.f32 (+.f32 ux -1) 2) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux)))))) ux)
(-.f32 (-.f32 1 (+.f32 (*.f32 (/.f32 (+.f32 ux -1) (-.f32 1 ux)) (*.f32 ux maxCos)) (*.f32 maxCos (*.f32 maxCos (-.f32 (/.f32 ux (+.f32 (/.f32 1 ux) -1)) (*.f32 (/.f32 (pow.f32 (+.f32 ux -1) 2) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))))))) ux)
(-.f32 (+.f32 (*.f32 (-.f32 (/.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (pow.f32 ux 3)) (pow.f32 (-.f32 1 ux) 3))) (*.f32 -1 (/.f32 (*.f32 (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 (-.f32 ux 1) 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3))) (/.f32 (pow.f32 ux 2) (-.f32 1 ux))) (*.f32 (-.f32 ux 1) ux)) (pow.f32 (-.f32 1 ux) 2))))) (pow.f32 maxCos 3)) (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (*.f32 maxCos ux)) (-.f32 1 ux))) (*.f32 -1 (*.f32 (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 (-.f32 ux 1) 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3))) (/.f32 (pow.f32 ux 2) (-.f32 1 ux))) (pow.f32 maxCos 2)))))) ux)
(-.f32 (fma.f32 (-.f32 (/.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 ux) 2)) (*.f32 -1 (+.f32 (/.f32 (+.f32 ux -1) (/.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 ux 3))) (/.f32 (fma.f32 -1 (/.f32 (pow.f32 (+.f32 ux -1) 2) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux))) (/.f32 (*.f32 ux ux) (-.f32 1 ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (+.f32 ux -1))))))) (pow.f32 maxCos 3) (+.f32 1 (*.f32 -1 (+.f32 (/.f32 (+.f32 ux -1) (/.f32 (-.f32 1 ux) (*.f32 ux maxCos))) (*.f32 (*.f32 maxCos maxCos) (fma.f32 -1 (/.f32 (pow.f32 (+.f32 ux -1) 2) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux))) (/.f32 (*.f32 ux ux) (-.f32 1 ux)))))))) ux)
(-.f32 (fma.f32 (pow.f32 maxCos 3) (-.f32 (/.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (/.f32 (*.f32 (neg.f32 (pow.f32 ux 3)) (+.f32 ux -1)) (pow.f32 (-.f32 1 ux) 3)) (/.f32 (-.f32 (/.f32 ux (/.f32 (-.f32 1 ux) ux)) (*.f32 (/.f32 (pow.f32 (+.f32 ux -1) 2) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (+.f32 ux -1)))))) (-.f32 (-.f32 1 (*.f32 (/.f32 (+.f32 ux -1) (-.f32 1 ux)) (*.f32 ux maxCos))) (*.f32 maxCos (*.f32 maxCos (-.f32 (/.f32 ux (/.f32 (-.f32 1 ux) ux)) (*.f32 (/.f32 (pow.f32 (+.f32 ux -1) 2) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))))))) ux)
(-.f32 (-.f32 (fma.f32 (pow.f32 maxCos 3) (+.f32 (/.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (*.f32 (/.f32 (+.f32 ux -1) (pow.f32 (-.f32 1 ux) 3)) (pow.f32 ux 3)) (/.f32 (-.f32 (/.f32 ux (+.f32 (/.f32 1 ux) -1)) (*.f32 (/.f32 (pow.f32 (+.f32 ux -1) 2) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (*.f32 ux ux) ux))))) 1) (+.f32 (*.f32 (/.f32 (+.f32 ux -1) (-.f32 1 ux)) (*.f32 ux maxCos)) (*.f32 maxCos (*.f32 maxCos (-.f32 (/.f32 ux (+.f32 (/.f32 1 ux) -1)) (*.f32 (/.f32 (pow.f32 (+.f32 ux -1) 2) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))))))) ux)
(*.f32 maxCos ux)
(*.f32 ux maxCos)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (+.f32 (*.f32 maxCos ux) (*.f32 -1 (/.f32 (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos)))) ux)
(+.f32 1 (-.f32 (fma.f32 maxCos ux (neg.f32 (/.f32 (+.f32 (/.f32 (+.f32 ux -1) (/.f32 ux (-.f32 1 ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos))) ux))
(-.f32 (-.f32 (fma.f32 ux maxCos 1) (/.f32 (+.f32 (*.f32 (/.f32 (+.f32 ux -1) ux) (-.f32 1 ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos)) ux)
(-.f32 (-.f32 (fma.f32 ux maxCos 1) (/.f32 (+.f32 (*.f32 (-.f32 1 (/.f32 1 ux)) (-.f32 1 ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos)) ux)
(-.f32 (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux))) (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 1 (+.f32 (*.f32 maxCos ux) (*.f32 -1 (/.f32 (+.f32 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos))))) ux)
(+.f32 (*.f32 (/.f32 (+.f32 ux -1) (*.f32 maxCos maxCos)) (/.f32 (+.f32 (/.f32 (+.f32 ux -1) (/.f32 ux (-.f32 1 ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) ux)) (+.f32 1 (-.f32 (fma.f32 maxCos ux (neg.f32 (/.f32 (+.f32 (/.f32 (+.f32 ux -1) (/.f32 ux (-.f32 1 ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos))) ux)))
(-.f32 (fma.f32 (/.f32 (+.f32 ux -1) (*.f32 maxCos maxCos)) (/.f32 (+.f32 (*.f32 (/.f32 (+.f32 ux -1) ux) (-.f32 1 ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) ux) (-.f32 (fma.f32 ux maxCos 1) (/.f32 (+.f32 (*.f32 (/.f32 (+.f32 ux -1) ux) (-.f32 1 ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos))) ux)
(fma.f32 (/.f32 (+.f32 ux -1) (*.f32 maxCos maxCos)) (/.f32 (+.f32 (*.f32 (-.f32 1 (/.f32 1 ux)) (-.f32 1 ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) ux) (-.f32 (-.f32 (fma.f32 ux maxCos 1) (/.f32 (+.f32 (*.f32 (-.f32 1 (/.f32 1 ux)) (-.f32 1 ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) maxCos)) ux))
(*.f32 maxCos ux)
(*.f32 ux maxCos)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 (*.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 maxCos ux))) (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos ux))) (*.f32 maxCos ux)))) ux)
(-.f32 (fma.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux maxCos)) (+.f32 1 (fma.f32 -1 (*.f32 (/.f32 (+.f32 ux -1) maxCos) (/.f32 (-.f32 1 ux) ux)) (*.f32 ux maxCos)))) ux)
(-.f32 (-.f32 (+.f32 1 (-.f32 (*.f32 ux maxCos) (*.f32 (/.f32 (+.f32 ux -1) maxCos) (/.f32 (-.f32 1 ux) ux)))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux maxCos))) ux)
(-.f32 (-.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (/.f32 (+.f32 ux -1) maxCos) (+.f32 (/.f32 1 ux) -1))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux maxCos))) ux)
(-.f32 (+.f32 (*.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 maxCos ux))) (+.f32 1 (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (+.f32 (*.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) ux)))) (*.f32 (pow.f32 maxCos 2) ux))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 ux 1) (-.f32 1 ux)) (*.f32 maxCos ux))) (*.f32 maxCos ux))))) ux)
(-.f32 (fma.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux maxCos)) (+.f32 1 (fma.f32 -1 (*.f32 (/.f32 (+.f32 ux -1) (*.f32 maxCos maxCos)) (/.f32 (fma.f32 -1 (/.f32 (pow.f32 (-.f32 1 ux) 2) ux) (neg.f32 (/.f32 (+.f32 ux -1) (/.f32 ux (-.f32 1 ux))))) ux)) (fma.f32 -1 (*.f32 (/.f32 (+.f32 ux -1) maxCos) (/.f32 (-.f32 1 ux) ux)) (*.f32 ux maxCos))))) ux)
(-.f32 (-.f32 (+.f32 1 (-.f32 (-.f32 (*.f32 ux maxCos) (*.f32 (/.f32 (+.f32 ux -1) maxCos) (/.f32 (-.f32 1 ux) ux))) (*.f32 (/.f32 (+.f32 ux -1) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (/.f32 (neg.f32 (+.f32 ux -1)) (/.f32 ux (-.f32 1 ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) ux)))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux maxCos))) ux)
(-.f32 (-.f32 (-.f32 (-.f32 (fma.f32 ux maxCos 1) (*.f32 (/.f32 (+.f32 ux -1) maxCos) (+.f32 (/.f32 1 ux) -1))) (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux maxCos))) (*.f32 (/.f32 (+.f32 ux -1) (*.f32 maxCos maxCos)) (/.f32 (-.f32 (/.f32 (neg.f32 (+.f32 ux -1)) (/.f32 ux (-.f32 1 ux))) (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)) ux))) ux)

prune296.0ms (9.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1760176
Fresh044
Picked011
Done000
Total1765181
Error
0b
Counts
181 → 5
Alt Table
StatusErrorProgram
0.4b
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
0.5b
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 ux maxCos)) 3)) (+.f32 1 (+.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 ux (*.f32 ux maxCos))) (-.f32 ux (*.f32 ux maxCos)))))
0.1b
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
0.4b
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
0.6b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
Compiler

Compiled 7338 to 4886 computations (33.4% saved)

localize22.0ms (0.7%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
0.2b
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
0.4b
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))

series9.0ms (0.3%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
ux
@-inf
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
1.0ms
maxCos
@0
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
1.0ms
maxCos
@inf
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
1.0ms
maxCos
@-inf
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
1.0ms
ux
@inf
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))

rewrite46.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
711×pow1_binary32
659×expm1-log1p-u_binary32
658×add-log-exp_binary32
658×log1p-expm1-u_binary32
71×add-sqr-sqrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
114426
2172426
Stop Event
node limit
Counts
3 → 69
Calls
Call 1
Inputs
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
(fma.f32 ux maxCos (-.f32 1 ux))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) 1) ux)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3) 1) (+.f32 (*.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))) (+.f32 1 (*.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))) 1) (+.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux maxCos (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2) (cbrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) 1) ux)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3) 1) (+.f32 (*.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))) (+.f32 1 (*.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))) 1) (+.f32 (+.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))))

simplify35.0ms (1.1%)

Algorithm
egg-herbie
Rules
700×times-frac_binary32
539×associate-/r*_binary32
481×fma-def_binary32
324×associate-/l*_binary32
181×distribute-rgt-in_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01291269
14171142
214831119
Stop Event
node limit
Counts
141 → 99
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(log.f32 2)
(+.f32 (*.f32 1/2 (*.f32 (-.f32 maxCos 1) ux)) (log.f32 2))
(+.f32 (*.f32 1/2 (*.f32 (-.f32 maxCos 1) ux)) (+.f32 (log.f32 2) (*.f32 -1/8 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(+.f32 (*.f32 1/2 (*.f32 (-.f32 maxCos 1) ux)) (+.f32 (log.f32 2) (+.f32 (*.f32 -1/8 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))) (*.f32 1/24 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3))))))
(+.f32 (log.f32 (-.f32 maxCos 1)) (*.f32 -1 (log.f32 (/.f32 1 ux))))
(+.f32 (log.f32 (-.f32 maxCos 1)) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 ux))) (*.f32 2 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux)))))
(-.f32 (+.f32 (log.f32 (-.f32 maxCos 1)) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 ux))) (*.f32 2 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (log.f32 (-.f32 maxCos 1)) (+.f32 (*.f32 8/3 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 ux))) (*.f32 2 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux)))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux))))
(-.f32 (+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux)))) (*.f32 2 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))
(-.f32 (+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))))
(-.f32 (+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux)))) (+.f32 (*.f32 8/3 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))))))
(log.f32 (-.f32 2 ux))
(+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux)))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 2 ux) 2))) (+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux))))
(+.f32 (*.f32 1/3 (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (pow.f32 (-.f32 2 ux) 3))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 2 ux) 2))) (+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (log.f32 ux))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (+.f32 (log.f32 ux) (/.f32 2 (*.f32 maxCos ux)))) (/.f32 1 maxCos))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (log.f32 ux) (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))) (/.f32 1 maxCos))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (-.f32 2 ux) 3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (log.f32 ux) (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))))) (/.f32 1 maxCos))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux)))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux)))) (/.f32 1 maxCos))
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux))))) (/.f32 1 maxCos))
(-.f32 (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (-.f32 2 ux) 3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux)))))) (/.f32 1 maxCos))
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(log.f32 2)
(+.f32 (*.f32 1/2 (*.f32 (-.f32 maxCos 1) ux)) (log.f32 2))
(fma.f32 1/2 (*.f32 (+.f32 maxCos -1) ux) (log.f32 2))
(fma.f32 (-.f32 (*.f32 maxCos ux) ux) 1/2 (log.f32 2))
(fma.f32 ux (fma.f32 maxCos 1/2 -1/2) (log.f32 2))
(+.f32 (*.f32 1/2 (*.f32 (-.f32 maxCos 1) ux)) (+.f32 (log.f32 2) (*.f32 -1/8 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(+.f32 (fma.f32 1/2 (*.f32 (+.f32 maxCos -1) ux) (log.f32 2)) (*.f32 -1/8 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))))
(fma.f32 (-.f32 (*.f32 maxCos ux) ux) 1/2 (fma.f32 -1/8 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)) (log.f32 2)))
(fma.f32 ux (fma.f32 maxCos 1/2 -1/2) (fma.f32 -1/8 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)) (log.f32 2)))
(+.f32 (*.f32 1/2 (*.f32 (-.f32 maxCos 1) ux)) (+.f32 (log.f32 2) (+.f32 (*.f32 -1/8 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))) (*.f32 1/24 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3))))))
(+.f32 (fma.f32 1/2 (*.f32 (+.f32 maxCos -1) ux) (log.f32 2)) (fma.f32 -1/8 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 1/24 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 ux 3)))))
(+.f32 (fma.f32 -1/8 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)) (*.f32 1/24 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 ux 3)))) (fma.f32 (-.f32 (*.f32 maxCos ux) ux) 1/2 (log.f32 2)))
(fma.f32 ux (fma.f32 maxCos 1/2 -1/2) (fma.f32 -1/8 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)) (fma.f32 (pow.f32 (+.f32 maxCos -1) 3) (*.f32 (pow.f32 ux 3) 1/24) (log.f32 2))))
(+.f32 (log.f32 (-.f32 maxCos 1)) (*.f32 -1 (log.f32 (/.f32 1 ux))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (neg.f32 (neg.f32 (log.f32 ux))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (log.f32 ux))
(+.f32 (log.f32 (-.f32 maxCos 1)) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 ux))) (*.f32 2 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux)))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (fma.f32 -1 (neg.f32 (log.f32 ux)) (/.f32 2 (*.f32 (+.f32 maxCos -1) ux))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (+.f32 (/.f32 2 (-.f32 (*.f32 maxCos ux) ux)) (log.f32 ux)))
(+.f32 (log.f32 ux) (+.f32 (log.f32 (+.f32 maxCos -1)) (/.f32 (/.f32 2 ux) (+.f32 maxCos -1))))
(-.f32 (+.f32 (log.f32 (-.f32 maxCos 1)) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 ux))) (*.f32 2 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (-.f32 (fma.f32 -1 (neg.f32 (log.f32 ux)) (/.f32 2 (*.f32 (+.f32 maxCos -1) ux))) (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (-.f32 (+.f32 (/.f32 2 (-.f32 (*.f32 maxCos ux) ux)) (log.f32 ux)) (/.f32 (/.f32 2 (*.f32 ux ux)) (pow.f32 (+.f32 maxCos -1) 2))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (-.f32 (+.f32 (/.f32 (/.f32 2 ux) (+.f32 maxCos -1)) (log.f32 ux)) (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)))))
(-.f32 (+.f32 (log.f32 (-.f32 maxCos 1)) (+.f32 (*.f32 8/3 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3)))) (+.f32 (*.f32 -1 (log.f32 (/.f32 1 ux))) (*.f32 2 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux)))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (+.f32 (log.f32 (+.f32 maxCos -1)) (/.f32 8/3 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 ux 3)))) (fma.f32 -1 (neg.f32 (log.f32 ux)) (/.f32 2 (*.f32 (+.f32 maxCos -1) ux)))) (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (+.f32 (/.f32 8/3 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 ux 3))) (-.f32 (+.f32 (/.f32 2 (-.f32 (*.f32 maxCos ux) ux)) (log.f32 ux)) (/.f32 (/.f32 2 (*.f32 ux ux)) (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 (log.f32 (+.f32 maxCos -1)) (+.f32 (+.f32 (/.f32 (/.f32 2 ux) (+.f32 maxCos -1)) (log.f32 ux)) (+.f32 (/.f32 8/3 (*.f32 (pow.f32 (+.f32 maxCos -1) 3) (pow.f32 ux 3))) (/.f32 -2 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))))))
(+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux))))
(+.f32 (log1p.f32 (neg.f32 maxCos)) (neg.f32 (log.f32 (/.f32 -1 ux))))
(-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux)))
(-.f32 (+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux)))) (*.f32 2 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))))
(+.f32 (log1p.f32 (neg.f32 maxCos)) (-.f32 (neg.f32 (log.f32 (/.f32 -1 ux))) (/.f32 2 (*.f32 ux (+.f32 1 (neg.f32 maxCos))))))
(+.f32 (-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux))) (/.f32 -2 (*.f32 ux (-.f32 1 maxCos))))
(+.f32 (-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux))) (/.f32 -2 (-.f32 ux (*.f32 maxCos ux))))
(-.f32 (+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))))))
(+.f32 (log1p.f32 (neg.f32 maxCos)) (-.f32 (neg.f32 (log.f32 (/.f32 -1 ux))) (+.f32 (/.f32 2 (*.f32 ux (+.f32 1 (neg.f32 maxCos)))) (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))))
(+.f32 (-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux))) (-.f32 (/.f32 -2 (*.f32 ux (-.f32 1 maxCos))) (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)))))
(+.f32 (-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux))) (+.f32 (/.f32 -2 (-.f32 ux (*.f32 maxCos ux))) (/.f32 -2 (*.f32 ux (*.f32 ux (pow.f32 (-.f32 1 maxCos) 2))))))
(-.f32 (+.f32 (log.f32 (+.f32 1 (*.f32 -1 maxCos))) (*.f32 -1 (log.f32 (/.f32 -1 ux)))) (+.f32 (*.f32 8/3 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) (*.f32 2 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))))))
(+.f32 (log1p.f32 (neg.f32 maxCos)) (-.f32 (neg.f32 (log.f32 (/.f32 -1 ux))) (+.f32 (+.f32 (/.f32 8/3 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 3))) (/.f32 2 (*.f32 ux (+.f32 1 (neg.f32 maxCos))))) (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 (neg.f32 maxCos)) 2))))))
(-.f32 (-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux))) (+.f32 (/.f32 2 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2))) (/.f32 8/3 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))))))
(+.f32 (-.f32 (log1p.f32 (neg.f32 maxCos)) (log.f32 (/.f32 -1 ux))) (+.f32 (+.f32 (/.f32 -2 (-.f32 ux (*.f32 maxCos ux))) (/.f32 -2 (*.f32 ux (*.f32 ux (pow.f32 (-.f32 1 maxCos) 2))))) (/.f32 -8/3 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3)))))
(log.f32 (-.f32 2 ux))
(+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux)))
(+.f32 (log.f32 (-.f32 2 ux)) (*.f32 (/.f32 maxCos (-.f32 2 ux)) ux))
(fma.f32 (/.f32 maxCos (-.f32 2 ux)) ux (log.f32 (-.f32 2 ux)))
(+.f32 (*.f32 -1/2 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 2 ux) 2))) (+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux))))
(fma.f32 -1/2 (/.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (pow.f32 (-.f32 2 ux) 2)) (+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux))))
(fma.f32 -1/2 (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 2 ux) 2)) (*.f32 ux ux)) (+.f32 (log.f32 (-.f32 2 ux)) (*.f32 (/.f32 maxCos (-.f32 2 ux)) ux)))
(fma.f32 -1/2 (*.f32 (/.f32 (*.f32 ux ux) (pow.f32 (-.f32 2 ux) 2)) (*.f32 maxCos maxCos)) (fma.f32 (/.f32 maxCos (-.f32 2 ux)) ux (log.f32 (-.f32 2 ux))))
(+.f32 (*.f32 1/3 (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (pow.f32 (-.f32 2 ux) 3))) (+.f32 (*.f32 -1/2 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 2 ux) 2))) (+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux)))))
(fma.f32 1/3 (/.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (pow.f32 (-.f32 2 ux) 3)) (fma.f32 -1/2 (/.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (pow.f32 (-.f32 2 ux) 2)) (+.f32 (log.f32 (-.f32 2 ux)) (/.f32 (*.f32 maxCos ux) (-.f32 2 ux)))))
(fma.f32 1/3 (*.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (-.f32 2 ux) 3)) (pow.f32 ux 3)) (fma.f32 -1/2 (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 2 ux) 2)) (*.f32 ux ux)) (+.f32 (log.f32 (-.f32 2 ux)) (*.f32 (/.f32 maxCos (-.f32 2 ux)) ux))))
(fma.f32 1/3 (/.f32 (pow.f32 maxCos 3) (pow.f32 (+.f32 (/.f32 2 ux) -1) 3)) (fma.f32 -1/2 (*.f32 (/.f32 (*.f32 ux ux) (pow.f32 (-.f32 2 ux) 2)) (*.f32 maxCos maxCos)) (fma.f32 (/.f32 maxCos (-.f32 2 ux)) ux (log.f32 (-.f32 2 ux)))))
(+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (log.f32 ux))
(fma.f32 -1 (neg.f32 (log.f32 maxCos)) (log.f32 ux))
(+.f32 (log.f32 maxCos) (log.f32 ux))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (+.f32 (log.f32 ux) (/.f32 2 (*.f32 maxCos ux)))) (/.f32 1 maxCos))
(-.f32 (+.f32 (fma.f32 -1 (neg.f32 (log.f32 maxCos)) (log.f32 ux)) (/.f32 2 (*.f32 maxCos ux))) (/.f32 1 maxCos))
(+.f32 (log.f32 maxCos) (+.f32 (log.f32 ux) (-.f32 (/.f32 2 (*.f32 maxCos ux)) (/.f32 1 maxCos))))
(+.f32 (log.f32 maxCos) (+.f32 (log.f32 ux) (+.f32 (/.f32 2 (*.f32 maxCos ux)) (/.f32 -1 maxCos))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (log.f32 ux) (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))) (/.f32 1 maxCos))
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 maxCos)) (+.f32 (+.f32 (log.f32 ux) (/.f32 2 (*.f32 maxCos ux))) (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))) (/.f32 1 maxCos))
(+.f32 (log.f32 maxCos) (+.f32 (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (log.f32 ux)) (-.f32 (/.f32 2 (*.f32 maxCos ux)) (/.f32 1 maxCos))))
(+.f32 (log.f32 maxCos) (+.f32 (+.f32 (log.f32 ux) (/.f32 2 (*.f32 maxCos ux))) (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))) (/.f32 -1 maxCos))))
(-.f32 (+.f32 (*.f32 -1 (log.f32 (/.f32 1 maxCos))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (-.f32 2 ux) 3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (log.f32 ux) (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))))) (/.f32 1 maxCos))
(-.f32 (fma.f32 -1 (neg.f32 (log.f32 maxCos)) (+.f32 (/.f32 2 (*.f32 maxCos ux)) (fma.f32 1/3 (/.f32 (/.f32 (pow.f32 (-.f32 2 ux) 3) (pow.f32 maxCos 3)) (pow.f32 ux 3)) (+.f32 (log.f32 ux) (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)))))))) (/.f32 1 maxCos))
(+.f32 (log.f32 maxCos) (+.f32 (+.f32 (fma.f32 1/3 (/.f32 (pow.f32 (-.f32 2 ux) 3) (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3))) (log.f32 ux)) (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (/.f32 2 (*.f32 maxCos ux)))) (/.f32 -1 maxCos)))
(+.f32 (+.f32 (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))) (fma.f32 (/.f32 1/3 (pow.f32 ux 3)) (pow.f32 (/.f32 (-.f32 2 ux) maxCos) 3) (log.f32 ux))) (+.f32 (log.f32 maxCos) (/.f32 2 (*.f32 maxCos ux)))) (/.f32 -1 maxCos))
(+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux)))
(fma.f32 -1 (log.f32 (/.f32 -1 maxCos)) (log.f32 (neg.f32 ux)))
(-.f32 (log.f32 (neg.f32 ux)) (log.f32 (/.f32 -1 maxCos)))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux)))) (/.f32 1 maxCos))
(+.f32 (/.f32 2 (*.f32 maxCos ux)) (-.f32 (fma.f32 -1 (log.f32 (/.f32 -1 maxCos)) (log.f32 (neg.f32 ux))) (/.f32 1 maxCos)))
(+.f32 (-.f32 (log.f32 (neg.f32 ux)) (log.f32 (/.f32 -1 maxCos))) (-.f32 (/.f32 2 (*.f32 maxCos ux)) (/.f32 1 maxCos)))
(+.f32 (-.f32 (/.f32 2 (*.f32 maxCos ux)) (log.f32 (/.f32 -1 maxCos))) (+.f32 (log.f32 (neg.f32 ux)) (/.f32 -1 maxCos)))
(-.f32 (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux))))) (/.f32 1 maxCos))
(-.f32 (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))) (+.f32 (/.f32 2 (*.f32 maxCos ux)) (fma.f32 -1 (log.f32 (/.f32 -1 maxCos)) (log.f32 (neg.f32 ux))))) (/.f32 1 maxCos))
(fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (+.f32 (-.f32 (log.f32 (neg.f32 ux)) (log.f32 (/.f32 -1 maxCos))) (-.f32 (/.f32 2 (*.f32 maxCos ux)) (/.f32 1 maxCos))))
(+.f32 (+.f32 (/.f32 2 (*.f32 maxCos ux)) (-.f32 (log.f32 (neg.f32 ux)) (log.f32 (/.f32 -1 maxCos)))) (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))) (/.f32 -1 maxCos)))
(-.f32 (+.f32 (*.f32 1/3 (/.f32 (pow.f32 (-.f32 2 ux) 3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (*.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2 (/.f32 1 (*.f32 maxCos ux))) (+.f32 (*.f32 -1 (log.f32 (/.f32 -1 maxCos))) (log.f32 (*.f32 -1 ux)))))) (/.f32 1 maxCos))
(-.f32 (fma.f32 1/3 (/.f32 (/.f32 (pow.f32 (-.f32 2 ux) 3) (pow.f32 maxCos 3)) (pow.f32 ux 3)) (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))) (+.f32 (/.f32 2 (*.f32 maxCos ux)) (fma.f32 -1 (log.f32 (/.f32 -1 maxCos)) (log.f32 (neg.f32 ux)))))) (/.f32 1 maxCos))
(fma.f32 1/3 (/.f32 (pow.f32 (-.f32 2 ux) 3) (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3))) (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux)))) (+.f32 (-.f32 (log.f32 (neg.f32 ux)) (log.f32 (/.f32 -1 maxCos))) (-.f32 (/.f32 2 (*.f32 maxCos ux)) (/.f32 1 maxCos)))))
(+.f32 (+.f32 (fma.f32 -1/2 (/.f32 (pow.f32 (-.f32 2 ux) 2) (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))) (-.f32 (log.f32 (neg.f32 ux)) (log.f32 (/.f32 -1 maxCos)))) (/.f32 2 (*.f32 maxCos ux))) (fma.f32 1/3 (/.f32 (pow.f32 (+.f32 (/.f32 2 ux) -1) 3) (pow.f32 maxCos 3)) (/.f32 -1 maxCos)))
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)

prune89.0ms (2.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New99099
Fresh033
Picked011
Done011
Total995104
Error
0b
Counts
104 → 5
Alt Table
StatusErrorProgram
0.4b
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
0.5b
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 ux maxCos)) 3)) (+.f32 1 (+.f32 (*.f32 (-.f32 ux (*.f32 ux maxCos)) (-.f32 ux (*.f32 ux maxCos))) (-.f32 ux (*.f32 ux maxCos)))))
0.1b
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
0.4b
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
0.6b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
Compiler

Compiled 2006 to 1387 computations (30.9% saved)

localize46.0ms (1.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))
0.2b
(pow.f32 (*.f32 ux maxCos) 2)
0.4b
(pow.f32 (-.f32 1 ux) 2)
0.5b
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))

series17.0ms (0.5%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
maxCos
@inf
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
2.0ms
ux
@-inf
(pow.f32 (*.f32 ux maxCos) 2)
1.0ms
ux
@-inf
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
1.0ms
ux
@inf
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
1.0ms
ux
@0
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))

rewrite64.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
273×log1p-udef_binary32
168×add-sqr-sqrt_binary32
165×pow1_binary32
163×*-un-lft-identity_binary32
158×add-log-exp_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01448
133044
2474044
Stop Event
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
(pow.f32 (*.f32 ux maxCos) 2)
(/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))) (*.f32 (neg.f32 (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) (pow.f32 (-.f32 1 ux) 2)) (*.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) (neg.f32 (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 1 (fma.f32 ux maxCos ux))) (/.f32 (pow.f32 (*.f32 ux maxCos) 2) (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (-.f32 1 (fma.f32 ux maxCos ux)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) 2) (/.f32 (-.f32 1 (fma.f32 ux maxCos ux)) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (/.f32 (-.f32 1 (fma.f32 ux maxCos ux)) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 ux maxCos) 6)) (*.f32 (-.f32 1 (fma.f32 ux maxCos ux)) (+.f32 (+.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (*.f32 (-.f32 1 (fma.f32 ux maxCos ux)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 ux maxCos) 6)) 1) (*.f32 (+.f32 (+.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2)) (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) 1) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 ux maxCos) 6)) -1) (*.f32 (+.f32 (+.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2)) (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) -1) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 ux maxCos) 6))) (*.f32 (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux))) (+.f32 (+.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4))) (*.f32 (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (sqrt.f32 (-.f32 1 (fma.f32 ux maxCos ux)))) (sqrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 1) (-.f32 1 (fma.f32 ux maxCos ux)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (pow.f32 (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))) 2)) (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 ux maxCos) 6)) (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))) (+.f32 (+.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -1 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) -1) (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 ux maxCos) 6))) (+.f32 (+.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (*.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 ux maxCos) 4))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 3) (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 3) (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) 3) (pow.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (*.f32 ux maxCos) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (*.f32 ux maxCos) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 ux (*.f32 maxCos (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 maxCos (*.f32 ux (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 ux maxCos) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 ux maxCos) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (cbrt.f32 (pow.f32 (*.f32 ux maxCos) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (*.f32 (cbrt.f32 (*.f32 ux maxCos)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (*.f32 ux maxCos) 4)) (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 ux maxCos)) (*.f32 (sqrt.f32 (*.f32 ux maxCos)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 maxCos maxCos) (*.f32 ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 ux (*.f32 ux maxCos)) maxCos)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 ux maxCos) (sqrt.f32 (*.f32 ux maxCos))) (sqrt.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 ux maxCos) maxCos) ux)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 ux maxCos) (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2)) (cbrt.f32 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 ux maxCos) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 ux maxCos) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (*.f32 ux maxCos))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (*.f32 ux maxCos) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux)))) (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -2)) (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -1/2) (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (/.f32 1 (neg.f32 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))) 2) -1) (pow.f32 (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))) -1) (pow.f32 (sqrt.f32 (-.f32 1 (fma.f32 ux maxCos ux))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 ux maxCos ux) 3))) (+.f32 1 (+.f32 (fma.f32 ux maxCos ux) (pow.f32 (fma.f32 ux maxCos ux) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (pow.f32 (fma.f32 ux maxCos ux) 2))) (+.f32 1 (fma.f32 ux maxCos ux)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (cbrt.f32 (-.f32 1 (fma.f32 ux maxCos ux)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (-.f32 1 (fma.f32 ux maxCos ux)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (neg.f32 (log1p.f32 (neg.f32 (fma.f32 ux maxCos ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log1p.f32 (neg.f32 (fma.f32 ux maxCos ux))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (neg.f32 (log1p.f32 (neg.f32 (fma.f32 ux maxCos ux)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1 (-.f32 1 (fma.f32 ux maxCos ux)))))))))

simplify47.0ms (1.5%)

Algorithm
egg-herbie
Rules
760×fma-def_binary32
633×times-frac_binary32
379×distribute-rgt-in_binary32
147×+-commutative_binary32
128×sub-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822164
16012030
222641892
Stop Event
node limit
Counts
162 → 151
Calls
Call 1
Inputs
1
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) 1)
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) (+.f32 1 (*.f32 (pow.f32 ux 2) (-.f32 1 (+.f32 (*.f32 (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (pow.f32 maxCos 2))))))
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) (+.f32 (*.f32 (pow.f32 ux 3) (*.f32 (-.f32 1 (+.f32 (*.f32 (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (pow.f32 maxCos 2))) (+.f32 1 maxCos))) (+.f32 1 (*.f32 (pow.f32 ux 2) (-.f32 1 (+.f32 (*.f32 (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (pow.f32 maxCos 2)))))))
(*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos)))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (+.f32 1 maxCos))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(-.f32 (+.f32 (*.f32 -1 (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 2 (/.f32 1 (+.f32 1 maxCos)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 1 maxCos)))) ux)) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (*.f32 2 (/.f32 1 (+.f32 1 maxCos))) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos)))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(-.f32 (+.f32 (*.f32 -1 (/.f32 (+.f32 (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 2 (/.f32 1 (+.f32 1 maxCos)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (pow.f32 ux 2))) (+.f32 (*.f32 -1 (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 2 (/.f32 1 (+.f32 1 maxCos)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 1 maxCos)))) ux)) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (*.f32 2 (/.f32 1 (+.f32 1 maxCos))) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos))))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos))))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos)))))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (+.f32 (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3)) (*.f32 2 (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2))))) ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos))))))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 2 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (+.f32 (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3)) (*.f32 2 (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2))))) ux)) (/.f32 (pow.f32 maxCos 2) (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 4) (pow.f32 ux 2)))))))) (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2))) (+.f32 (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 4) (pow.f32 ux 2))))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
1
(+.f32 (*.f32 ux (+.f32 1 maxCos)) 1)
(+.f32 (*.f32 ux (+.f32 1 maxCos)) (+.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2))))
(+.f32 (*.f32 ux (+.f32 1 maxCos)) (+.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3)) (+.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2)))))
(/.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2)))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (+.f32 1 maxCos) 4)))))))
(/.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux))
(neg.f32 (+.f32 (/.f32 1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2)))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3) (pow.f32 ux 3))) (+.f32 (/.f32 1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3) (pow.f32 ux 3))) (+.f32 (/.f32 1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2))) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 4) (pow.f32 ux 4)))))))
(/.f32 1 (-.f32 1 ux))
(+.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)) (/.f32 1 (-.f32 1 ux)))
(+.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (/.f32 1 (-.f32 1 ux))))
(+.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (pow.f32 (-.f32 1 ux) 4)))))
(/.f32 -1 (*.f32 maxCos ux))
(-.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux)) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2))))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(/.f32 -1 (*.f32 maxCos ux))
(-.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux)) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2))))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
Outputs
1
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) 1)
(fma.f32 -1 (*.f32 ux (+.f32 2 (neg.f32 (+.f32 1 maxCos)))) 1)
(-.f32 1 (*.f32 ux (+.f32 1 (neg.f32 maxCos))))
(fma.f32 ux (+.f32 -1 maxCos) 1)
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) (+.f32 1 (*.f32 (pow.f32 ux 2) (-.f32 1 (+.f32 (*.f32 (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (pow.f32 maxCos 2))))))
(+.f32 (fma.f32 -1 (*.f32 ux (+.f32 2 (neg.f32 (+.f32 1 maxCos)))) 1) (*.f32 (*.f32 ux ux) (-.f32 1 (fma.f32 (+.f32 2 (neg.f32 (+.f32 1 maxCos))) (+.f32 1 maxCos) (*.f32 maxCos maxCos)))))
(-.f32 (fma.f32 (*.f32 ux ux) (-.f32 1 (fma.f32 maxCos maxCos (*.f32 (+.f32 1 maxCos) (+.f32 1 (neg.f32 maxCos))))) 1) (*.f32 ux (+.f32 1 (neg.f32 maxCos))))
(fma.f32 (*.f32 ux ux) (-.f32 1 (fma.f32 (+.f32 1 maxCos) (-.f32 1 maxCos) (*.f32 maxCos maxCos))) (fma.f32 ux (+.f32 -1 maxCos) 1))
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) (+.f32 (*.f32 (pow.f32 ux 3) (*.f32 (-.f32 1 (+.f32 (*.f32 (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (pow.f32 maxCos 2))) (+.f32 1 maxCos))) (+.f32 1 (*.f32 (pow.f32 ux 2) (-.f32 1 (+.f32 (*.f32 (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (pow.f32 maxCos 2)))))))
(fma.f32 -1 (*.f32 ux (+.f32 2 (neg.f32 (+.f32 1 maxCos)))) (fma.f32 (pow.f32 ux 3) (*.f32 (+.f32 1 maxCos) (-.f32 1 (fma.f32 (+.f32 2 (neg.f32 (+.f32 1 maxCos))) (+.f32 1 maxCos) (*.f32 maxCos maxCos)))) (+.f32 1 (*.f32 (*.f32 ux ux) (-.f32 1 (fma.f32 (+.f32 2 (neg.f32 (+.f32 1 maxCos))) (+.f32 1 maxCos) (*.f32 maxCos maxCos)))))))
(-.f32 (fma.f32 (pow.f32 ux 3) (*.f32 (+.f32 1 maxCos) (-.f32 1 (fma.f32 maxCos maxCos (*.f32 (+.f32 1 maxCos) (+.f32 1 (neg.f32 maxCos)))))) (fma.f32 (*.f32 ux ux) (-.f32 1 (fma.f32 maxCos maxCos (*.f32 (+.f32 1 maxCos) (+.f32 1 (neg.f32 maxCos))))) 1)) (*.f32 ux (+.f32 1 (neg.f32 maxCos))))
(fma.f32 ux (+.f32 -1 maxCos) (+.f32 (*.f32 (-.f32 1 (fma.f32 (+.f32 1 maxCos) (-.f32 1 maxCos) (*.f32 maxCos maxCos))) (+.f32 (*.f32 (+.f32 1 maxCos) (pow.f32 ux 3)) (*.f32 ux ux))) 1))
(*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos)))
(neg.f32 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (+.f32 1 maxCos) ux)))
(/.f32 (*.f32 (neg.f32 ux) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))
(/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (+.f32 1 maxCos))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(-.f32 (+.f32 (/.f32 2 (+.f32 1 maxCos)) (+.f32 (neg.f32 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (+.f32 1 maxCos) ux))) (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2))))
(+.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (+.f32 (/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2))))
(-.f32 (+.f32 (*.f32 -1 (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 2 (/.f32 1 (+.f32 1 maxCos)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 1 maxCos)))) ux)) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (*.f32 2 (/.f32 1 (+.f32 1 maxCos))) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos)))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(-.f32 (fma.f32 -1 (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (neg.f32 (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))) (+.f32 1 maxCos)))) ux) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (+.f32 (neg.f32 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (+.f32 1 maxCos) ux))) (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(+.f32 (-.f32 (-.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))) (/.f32 (-.f32 (/.f32 1 (+.f32 1 maxCos)) (-.f32 (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)))) ux)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))
(+.f32 (+.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))) (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 (-.f32 (/.f32 1 (+.f32 1 maxCos)) (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))) (+.f32 1 maxCos))) ux))) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))
(-.f32 (+.f32 (*.f32 -1 (/.f32 (+.f32 (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 2 (/.f32 1 (+.f32 1 maxCos)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (pow.f32 ux 2))) (+.f32 (*.f32 -1 (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (*.f32 2 (/.f32 1 (+.f32 1 maxCos)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 1 maxCos)))) ux)) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (*.f32 2 (/.f32 1 (+.f32 1 maxCos))) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (+.f32 1 maxCos))))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(-.f32 (fma.f32 -1 (/.f32 (fma.f32 -1 (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2))) (*.f32 ux ux)) (fma.f32 -1 (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (neg.f32 (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))) (+.f32 1 maxCos)))) ux) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (+.f32 (neg.f32 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (+.f32 1 maxCos) ux))) (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)))))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(+.f32 (-.f32 (-.f32 (-.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))) (/.f32 (-.f32 (/.f32 1 (+.f32 1 maxCos)) (-.f32 (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (+.f32 1 maxCos)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)))) ux)) (/.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)) (-.f32 (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 4)))) (*.f32 ux ux))) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))
(+.f32 (+.f32 (-.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 (-.f32 (/.f32 1 (+.f32 1 maxCos)) (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))) (+.f32 1 maxCos))) ux)) (-.f32 (+.f32 (/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos)) (/.f32 2 (+.f32 1 maxCos))) (/.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))) (pow.f32 (+.f32 1 maxCos) 2))) (*.f32 ux ux)))) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)))
(*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos))))
(neg.f32 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (+.f32 1 maxCos) ux)))
(/.f32 (*.f32 (neg.f32 ux) (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))
(/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos)))))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)))
(-.f32 (+.f32 (/.f32 2 (+.f32 1 maxCos)) (+.f32 (neg.f32 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (+.f32 1 maxCos) ux))) (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)))) (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)))
(+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (+.f32 (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2))))
(+.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 2 (+.f32 1 maxCos))) (+.f32 (/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2))))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (+.f32 (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3)) (*.f32 2 (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2))))) ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos))))))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)))
(+.f32 (/.f32 2 (-.f32 1 (neg.f32 maxCos))) (-.f32 (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2)) (*.f32 -1 (+.f32 (/.f32 (+.f32 (/.f32 1 (-.f32 1 (neg.f32 maxCos))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 (neg.f32 maxCos)) 3)) (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 3)) (/.f32 2 (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2))))) ux) (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (-.f32 1 (neg.f32 maxCos)) ux))))) (/.f32 1 (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2))))
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (-.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)) (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 3))) (/.f32 2 (pow.f32 (+.f32 1 maxCos) 2)))) ux)) (/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2))))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (fma.f32 (/.f32 (fma.f32 maxCos (neg.f32 maxCos) 1) (+.f32 1 maxCos)) ux (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (-.f32 (+.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)) (/.f32 -2 (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 maxCos (/.f32 (pow.f32 (+.f32 1 maxCos) 3) maxCos)))) ux))) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2))))
(-.f32 (+.f32 (*.f32 2 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3) (pow.f32 ux 2)))) (+.f32 (*.f32 2 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 2)) ux) (-.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (+.f32 (*.f32 -1 (/.f32 (-.f32 (+.f32 (/.f32 1 (-.f32 1 (*.f32 -1 maxCos))) (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3))) (+.f32 (/.f32 (pow.f32 maxCos 2) (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3)) (*.f32 2 (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2))))) ux)) (/.f32 (pow.f32 maxCos 2) (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 4) (pow.f32 ux 2)))))))) (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2))) (+.f32 (/.f32 1 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2)) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 4) (pow.f32 ux 2))))))
(+.f32 (/.f32 2 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 3))) (-.f32 (+.f32 (/.f32 2 (-.f32 1 (neg.f32 maxCos))) (fma.f32 -1 (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (/.f32 (-.f32 1 (neg.f32 maxCos)) ux)) (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2)) (fma.f32 -1 (/.f32 (+.f32 (/.f32 1 (-.f32 1 (neg.f32 maxCos))) (-.f32 (/.f32 1 (pow.f32 (-.f32 1 (neg.f32 maxCos)) 3)) (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 3)) (/.f32 2 (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2))))) ux) (/.f32 (*.f32 maxCos maxCos) (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 4))))))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2))) (+.f32 (/.f32 1 (pow.f32 (-.f32 1 (neg.f32 maxCos)) 2)) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 (neg.f32 maxCos)) 4)))))))
(+.f32 (+.f32 (-.f32 (/.f32 2 (+.f32 1 maxCos)) (/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))) (+.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (-.f32 (/.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 4)) (*.f32 ux ux)) (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (-.f32 (-.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)) (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 3))) (/.f32 2 (pow.f32 (+.f32 1 maxCos) 2)))) ux)))) (-.f32 (/.f32 2 (*.f32 ux (*.f32 ux (pow.f32 (+.f32 1 maxCos) 3)))) (+.f32 (/.f32 1 (*.f32 ux (*.f32 ux (pow.f32 (+.f32 1 maxCos) 4)))) (+.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))))))
(+.f32 (/.f32 2 (*.f32 ux (*.f32 ux (pow.f32 (+.f32 1 maxCos) 3)))) (+.f32 (+.f32 (/.f32 (*.f32 ux (+.f32 -1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos)) (fma.f32 (/.f32 maxCos (*.f32 ux ux)) (/.f32 maxCos (pow.f32 (+.f32 1 maxCos) 4)) (-.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 (+.f32 (/.f32 1 (+.f32 1 maxCos)) (-.f32 (+.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)) (/.f32 -2 (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 maxCos (/.f32 (pow.f32 (+.f32 1 maxCos) 3) maxCos)))) ux)))) (+.f32 (/.f32 2 (+.f32 1 maxCos)) (+.f32 (/.f32 -1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux))) (+.f32 (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 2)) (/.f32 -1 (*.f32 ux (*.f32 ux (pow.f32 (+.f32 1 maxCos) 4)))))))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(*.f32 maxCos ux)
(*.f32 ux maxCos)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(*.f32 maxCos ux)
(*.f32 ux maxCos)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(-.f32 (fma.f32 ux maxCos 1) ux)
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
(*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))
(*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))
1
(+.f32 (*.f32 ux (+.f32 1 maxCos)) 1)
(fma.f32 ux (+.f32 1 maxCos) 1)
(+.f32 (*.f32 ux (+.f32 1 maxCos)) (+.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2))))
(+.f32 (fma.f32 ux (+.f32 1 maxCos) 1) (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))
(fma.f32 ux (+.f32 1 maxCos) (fma.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2) 1))
(+.f32 1 (*.f32 (fma.f32 ux (+.f32 1 maxCos) 1) (fma.f32 ux maxCos ux)))
(+.f32 (*.f32 ux (+.f32 1 maxCos)) (+.f32 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3)) (+.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2)))))
(fma.f32 ux (+.f32 1 maxCos) (fma.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3) (+.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))))
(fma.f32 ux (+.f32 1 maxCos) (fma.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3) (fma.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2) 1)))
(+.f32 (fma.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3) 1) (*.f32 (fma.f32 ux (+.f32 1 maxCos) 1) (fma.f32 ux maxCos ux)))
(/.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(/.f32 -1 (fma.f32 ux maxCos ux))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2)))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))))
(+.f32 (/.f32 -1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 -1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))))
(-.f32 (/.f32 -1 (fma.f32 ux maxCos ux)) (/.f32 1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))))))
(+.f32 (/.f32 -1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))) (+.f32 (/.f32 -1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 -1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))))
(-.f32 (+.f32 (/.f32 (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 3)) (pow.f32 ux 3)) (/.f32 -1 (fma.f32 ux maxCos ux))) (/.f32 1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (+.f32 1 maxCos) 4)))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (+.f32 1 maxCos) 4)))))))
(-.f32 (/.f32 -1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)) (pow.f32 ux 3))) (/.f32 1 (*.f32 (pow.f32 (+.f32 1 maxCos) 4) (pow.f32 ux 4)))))
(+.f32 (-.f32 (+.f32 (/.f32 (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 3)) (pow.f32 ux 3)) (/.f32 -1 (fma.f32 ux maxCos ux))) (/.f32 1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux)))) (/.f32 -1 (*.f32 (pow.f32 (+.f32 1 maxCos) 4) (pow.f32 ux 4))))
(/.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux))
(/.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(/.f32 -1 (fma.f32 ux maxCos ux))
(neg.f32 (+.f32 (/.f32 1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2)))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))))
(+.f32 (/.f32 -1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 -1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))))
(-.f32 (/.f32 -1 (fma.f32 ux maxCos ux)) (/.f32 1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3) (pow.f32 ux 3))) (+.f32 (/.f32 1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))))))
(+.f32 (/.f32 -1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))) (+.f32 (/.f32 -1 (*.f32 ux (+.f32 1 maxCos))) (/.f32 -1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2)))))
(-.f32 (+.f32 (/.f32 (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 3)) (pow.f32 ux 3)) (/.f32 -1 (fma.f32 ux maxCos ux))) (/.f32 1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 3) (pow.f32 ux 3))) (+.f32 (/.f32 1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 2) (pow.f32 ux 2))) (/.f32 1 (*.f32 (pow.f32 (-.f32 1 (*.f32 -1 maxCos)) 4) (pow.f32 ux 4)))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (+.f32 1 maxCos) 4)))))))
(-.f32 (/.f32 -1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 1 maxCos) 2))) (/.f32 (/.f32 1 (pow.f32 (+.f32 1 maxCos) 3)) (pow.f32 ux 3))) (/.f32 1 (*.f32 (pow.f32 (+.f32 1 maxCos) 4) (pow.f32 ux 4)))))
(+.f32 (-.f32 (+.f32 (/.f32 (/.f32 -1 (pow.f32 (+.f32 1 maxCos) 3)) (pow.f32 ux 3)) (/.f32 -1 (fma.f32 ux maxCos ux))) (/.f32 1 (*.f32 (fma.f32 ux maxCos ux) (fma.f32 ux maxCos ux)))) (/.f32 -1 (*.f32 (pow.f32 (+.f32 1 maxCos) 4) (pow.f32 ux 4))))
(/.f32 1 (-.f32 1 ux))
(+.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)) (/.f32 1 (-.f32 1 ux)))
(+.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (*.f32 ux maxCos) (pow.f32 (-.f32 1 ux) 2)))
(+.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux))
(fma.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux (/.f32 1 (-.f32 1 ux)))
(+.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (/.f32 1 (-.f32 1 ux))))
(+.f32 (/.f32 (*.f32 ux maxCos) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (*.f32 maxCos maxCos) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux)))))
(+.f32 (/.f32 1 (-.f32 1 ux)) (+.f32 (*.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux) (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))))
(fma.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux (fma.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux) (/.f32 1 (-.f32 1 ux))))
(+.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (pow.f32 (-.f32 1 ux) 4)))))
(+.f32 (/.f32 (*.f32 ux maxCos) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (/.f32 (*.f32 maxCos maxCos) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux))) (+.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (pow.f32 (-.f32 1 ux) 4)))))
(+.f32 (+.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (pow.f32 (-.f32 1 ux) 4))) (+.f32 (*.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux) (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux))))
(fma.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux (fma.f32 (/.f32 (pow.f32 maxCos 3) (pow.f32 (-.f32 1 ux) 4)) (pow.f32 ux 3) (fma.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux) (/.f32 1 (-.f32 1 ux)))))
(/.f32 -1 (*.f32 maxCos ux))
(/.f32 -1 (*.f32 ux maxCos))
(/.f32 (/.f32 -1 maxCos) ux)
(-.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (-.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (/.f32 1 (*.f32 ux maxCos))) (/.f32 1 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(+.f32 (/.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (*.f32 maxCos maxCos)) (/.f32 (/.f32 -1 maxCos) ux))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux)) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(-.f32 (fma.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))) (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos)))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(fma.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))) (+.f32 (/.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (*.f32 maxCos maxCos)) (/.f32 (/.f32 -1 maxCos) ux)))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux)) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2))))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (+.f32 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) (/.f32 (*.f32 (*.f32 ux ux) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux)))))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (fma.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4))) (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))))
(+.f32 (*.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (+.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 ux (pow.f32 maxCos 4)))) (/.f32 (-.f32 1 ux) (*.f32 ux (pow.f32 maxCos 3))))) (+.f32 (/.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (*.f32 maxCos maxCos)) (/.f32 (/.f32 -1 maxCos) ux)))
(/.f32 -1 (*.f32 maxCos ux))
(/.f32 -1 (*.f32 ux maxCos))
(/.f32 (/.f32 -1 maxCos) ux)
(-.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (-.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (/.f32 1 (*.f32 ux maxCos))) (/.f32 1 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))
(-.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(+.f32 (/.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (*.f32 maxCos maxCos)) (/.f32 (/.f32 -1 maxCos) ux))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux)) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(-.f32 (fma.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))) (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos)))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))))
(fma.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))) (+.f32 (/.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (*.f32 maxCos maxCos)) (/.f32 (/.f32 -1 maxCos) ux)))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux)) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2))))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (+.f32 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) (/.f32 (*.f32 (*.f32 ux ux) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux)))))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos))))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (fma.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4))) (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))))) (+.f32 (/.f32 1 (*.f32 ux maxCos)) (/.f32 1 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))))
(+.f32 (*.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (+.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 ux (pow.f32 maxCos 4)))) (/.f32 (-.f32 1 ux) (*.f32 ux (pow.f32 maxCos 3))))) (+.f32 (/.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (*.f32 maxCos maxCos)) (/.f32 (/.f32 -1 maxCos) ux)))

prune229.0ms (7.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1752177
Fresh202
Picked011
Done112
Total1784182
Error
0b
Counts
182 → 4
Alt Table
StatusErrorProgram
0.1b
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (fma.f32 ux maxCos ux)))
0.1b
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))
0.4b
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
0.6b
(*.f32 (-.f32 (exp.f32 (*.f32 2 (log1p.f32 (neg.f32 ux)))) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))
Compiler

Compiled 5556 to 3635 computations (34.6% saved)

regimes137.0ms (4.4%)

Accuracy

Total -0.7b remaining (-3023%)

Threshold costs -0.7b (-3023%)

Counts
41 → 1
Compiler

Compiled 645 to 390 computations (39.5% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×distribute-neg-in_binary32
+-commutative_binary32
distribute-rgt-neg-in_binary32
cancel-sign-sub-inv_binary32
neg-sub0_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01217
12213
23613
35013
47213
59113
610013
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) 1)
Outputs
(+.f32 (*.f32 -1 (*.f32 ux (+.f32 2 (*.f32 -1 (+.f32 1 maxCos))))) 1)
(+.f32 1 (neg.f32 (*.f32 ux (+.f32 2 (neg.f32 (+.f32 1 maxCos))))))
(-.f32 1 (*.f32 ux (-.f32 2 (+.f32 1 maxCos))))

end65.0ms (2.1%)

Stop Event
fuel
Compiler

Compiled 114 to 75 computations (34.2% saved)

Profiling

Loading profile data...