Details

Time bar (total: 2.6s)

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.5s (57.8%)

Results
1.5s8255×body128valid
0.0msbody256valid
Compiler

Compiled 66 to 48 computations (27.3% saved)

preprocess38.0ms (1.4%)

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)

prune2.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)

localize15.0ms (0.6%)

Local error

Found 1 expressions with local error:

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

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 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))
1.0ms
maxCos
@-inf
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
0.0ms
maxCos
@inf
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))

rewrite40.0ms (1.5%)

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
0710
11548
222088
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.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 log1p.f32 (expm1.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))))))

simplify19.0ms (0.7%)

Algorithm
egg-herbie
Rules
157×fma-def_binary32
149×fma-neg_binary32
26×associate--r+_binary32
26×sub-neg_binary32
24×distribute-rgt-in_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014207
133171
270171
3145171
4280171
5476171
6646171
7726171
8737171
Stop Event
saturated
Counts
65 → 49
Calls
Call 1
Inputs
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 ux (-.f32 maxCos 1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.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 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 ux (-.f32 maxCos 1))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)

prune40.0ms (1.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New47249
Fresh101
Picked101
Done000
Total49251
Error
0.0b
Counts
51 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f32 ux (+.f32 maxCos -1) 1)
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 704 to 409 computations (41.9% saved)

localize12.0ms (0.4%)

Local error

Found 1 expressions with local error:

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

series4.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

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

rewrite34.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
681×pow1_binary32
630×add-log-exp_binary32
629×log1p-expm1-u_binary32
629×expm1-log1p-u_binary32
69×add-sqr-sqrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

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

simplify19.0ms (0.7%)

Algorithm
egg-herbie
Rules
157×fma-def_binary32
149×fma-neg_binary32
26×associate--r+_binary32
26×sub-neg_binary32
24×distribute-rgt-in_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014207
133171
270171
3145171
4280171
5476171
6646171
7726171
8737171
Stop Event
saturated
Counts
46 → 30
Calls
Call 1
Inputs
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 ux (-.f32 maxCos 1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.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 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 ux (-.f32 maxCos 1))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux (+.f32 maxCos -1) 1)

prune16.0ms (0.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New30030
Fresh011
Picked011
Done000
Total30232
Error
0.0b
Counts
32 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f32 ux (+.f32 maxCos -1) 1)
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 335 to 244 computations (27.2% saved)

localize25.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
0.1b
(cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
0.2b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
0.4b
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)

series37.0ms (1.4%)

Counts
4 → 64
Calls

24 calls:

TimeVariablePointExpression
5.0ms
maxCos
@0
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
4.0ms
maxCos
@0
(cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
3.0ms
ux
@0
(cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
3.0ms
ux
@0
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
2.0ms
ux
@inf
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)

rewrite49.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
820×pow1_binary32
763×log1p-expm1-u_binary32
763×expm1-log1p-u_binary32
90×add-sqr-sqrt_binary32
85×*-un-lft-identity_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
120639
2213539
Stop Event
node limit
Counts
4 → 93
Calls
Call 1
Inputs
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))
(fma.f32 ux maxCos (-.f32 1 ux))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 4)) (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2)) (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(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 (exp.f32 (log1p.f32 (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 (+.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 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 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)))) (#(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 (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 log1p.f32 (expm1.f32 (fma.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 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 -.f32 (exp.f32 (log1p.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2) (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 4))) (sqrt.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 1/3) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1/3) (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (cbrt.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/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(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 (exp.f32 (log1p.f32 (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 (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2) (*.f32 (cbrt.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 (cbrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 4)) (*.f32 (pow.f32 (cbrt.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 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6) (*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (cbrt.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 2)) (cbrt.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6)) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1/6))))) (#(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 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 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)))) (#(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 (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 log1p.f32 (expm1.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 exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))))

simplify32.0ms (1.2%)

Algorithm
egg-herbie
Rules
755×associate-*l*_binary32
666×associate-*r*_binary32
236×cancel-sign-sub-inv_binary32
149×fma-def_binary32
119×sub-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01151196
14071108
215081094
Stop Event
node limit
Counts
157 → 110
Calls
Call 1
Inputs
1
(-.f32 (+.f32 1 (*.f32 2/3 (*.f32 maxCos ux))) (*.f32 2/3 ux))
(-.f32 (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 1 (*.f32 2/3 (*.f32 maxCos ux)))) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))))
(-.f32 (+.f32 1 (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3))) (*.f32 2/3 (*.f32 maxCos ux)))))) (+.f32 (*.f32 2/3 ux) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 4/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 4/81 (pow.f32 ux 3)))))))
(pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3)
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/9) (*.f32 maxCos ux))) (pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3))
(-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/9) (*.f32 maxCos ux))) (pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3)) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/9) (*.f32 maxCos ux))) (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3) (*.f32 4/81 (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (-.f32 1 ux))))) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 ux (-.f32 maxCos 1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.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)
1
(-.f32 (+.f32 1 (*.f32 1/3 (*.f32 maxCos ux))) (*.f32 1/3 ux))
(-.f32 (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 1 (*.f32 1/3 (*.f32 maxCos ux)))) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 1/3 ux))))
(-.f32 (+.f32 1 (+.f32 (*.f32 5/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 (*.f32 5/27 (*.f32 maxCos (pow.f32 ux 3))) (*.f32 1/3 (*.f32 maxCos ux)))))) (+.f32 (*.f32 1/3 ux) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 5/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 5/81 (pow.f32 ux 3)))))))
(pow.f32 (-.f32 1 ux) 1/3)
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 1/3))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 1/3)) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (+.f32 (*.f32 5/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (pow.f32 (-.f32 1 ux) 1/3))) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 ux (-.f32 maxCos 1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.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 (+.f32 1 (*.f32 2/3 (*.f32 maxCos ux))) (*.f32 2/3 ux))
(+.f32 1 (-.f32 (*.f32 2/3 (*.f32 maxCos ux)) (*.f32 2/3 ux)))
(+.f32 1 (*.f32 2/3 (-.f32 (*.f32 maxCos ux) ux)))
(+.f32 1 (*.f32 ux (fma.f32 2/3 maxCos -2/3)))
(-.f32 (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 1 (*.f32 2/3 (*.f32 maxCos ux)))) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))))
(-.f32 (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 (*.f32 2/3 (*.f32 maxCos ux)))) (fma.f32 1/9 (*.f32 ux ux) (fma.f32 1/9 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 2/3 ux))))
(-.f32 (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 2/3 (*.f32 maxCos ux) 1)) (+.f32 (*.f32 2/3 ux) (*.f32 (*.f32 ux ux) (+.f32 1/9 (*.f32 1/9 (*.f32 maxCos maxCos))))))
(-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3)))
(-.f32 (+.f32 1 (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3))) (*.f32 2/3 (*.f32 maxCos ux)))))) (+.f32 (*.f32 2/3 ux) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 4/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 4/81 (pow.f32 ux 3)))))))
(+.f32 1 (-.f32 (fma.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 4/27 (*.f32 maxCos (pow.f32 ux 3)) (*.f32 2/3 (*.f32 maxCos ux))))) (fma.f32 2/3 ux (fma.f32 1/9 (*.f32 ux ux) (fma.f32 4/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (fma.f32 1/9 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 4/81 (pow.f32 ux 3))))))))
(+.f32 1 (-.f32 (fma.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 2/3 (*.f32 maxCos ux) (*.f32 (pow.f32 ux 3) (*.f32 maxCos 4/27))))) (fma.f32 2/3 ux (fma.f32 (*.f32 ux ux) 1/9 (fma.f32 4/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (fma.f32 1/9 (*.f32 (*.f32 maxCos ux) (*.f32 maxCos ux)) (*.f32 4/81 (pow.f32 ux 3))))))))
(+.f32 (fma.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (*.f32 maxCos (+.f32 (*.f32 2/3 ux) (*.f32 4/27 (pow.f32 ux 3)))))) (-.f32 1 (fma.f32 2/3 ux (+.f32 (*.f32 (*.f32 maxCos maxCos) (+.f32 (*.f32 ux (*.f32 ux 1/9)) (*.f32 4/27 (pow.f32 ux 3)))) (*.f32 (*.f32 ux ux) (+.f32 (*.f32 4/81 ux) 1/9))))))
(pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3)
(cbrt.f32 (pow.f32 (-.f32 1 ux) 2))
(+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/9) (*.f32 maxCos ux))) (pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3))
(fma.f32 2/3 (*.f32 (*.f32 maxCos ux) (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (pow.f32 (-.f32 1 ux) 1/18))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 2/3 (*.f32 ux (*.f32 maxCos (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (pow.f32 (-.f32 1 ux) 1/18)))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2)))
(fma.f32 2/3 (*.f32 maxCos (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (*.f32 (pow.f32 (-.f32 1 ux) 1/18) ux))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2)))
(-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/9) (*.f32 maxCos ux))) (pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3)) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (fma.f32 2/3 (*.f32 (*.f32 maxCos ux) (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (pow.f32 (-.f32 1 ux) 1/18))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2))) (*.f32 -1/9 (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18)))))
(-.f32 (fma.f32 2/3 (*.f32 ux (*.f32 maxCos (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (pow.f32 (-.f32 1 ux) 1/18)))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2))) (*.f32 (*.f32 1/9 (*.f32 (*.f32 maxCos ux) (*.f32 maxCos ux))) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18))))
(+.f32 (fma.f32 2/3 (*.f32 maxCos (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (*.f32 (pow.f32 (-.f32 1 ux) 1/18) ux))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2))) (*.f32 (*.f32 (*.f32 -1/9 (*.f32 ux (*.f32 (*.f32 maxCos ux) maxCos))) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18)))
(-.f32 (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/9) (*.f32 maxCos ux))) (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 1/3) (*.f32 4/81 (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (-.f32 1 ux))))) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (+.f32 (fma.f32 2/3 (*.f32 (*.f32 maxCos ux) (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (pow.f32 (-.f32 1 ux) 1/18))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2))) (*.f32 4/81 (/.f32 (pow.f32 maxCos 3) (/.f32 (-.f32 1 ux) (pow.f32 ux 3))))) (*.f32 -1/9 (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18)))))
(+.f32 (fma.f32 2/3 (*.f32 ux (*.f32 maxCos (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (pow.f32 (-.f32 1 ux) 1/18)))) (fma.f32 4/81 (*.f32 (/.f32 (pow.f32 maxCos 3) (-.f32 1 ux)) (pow.f32 ux 3)) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2)))) (*.f32 (*.f32 (*.f32 (*.f32 maxCos ux) (*.f32 maxCos ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18))) -1/9))
(+.f32 (fma.f32 2/3 (*.f32 maxCos (*.f32 (pow.f32 (-.f32 1 ux) 1/18) (*.f32 (pow.f32 (-.f32 1 ux) 1/18) ux))) (cbrt.f32 (pow.f32 (-.f32 1 ux) 2))) (fma.f32 4/81 (*.f32 (/.f32 (pow.f32 maxCos 3) (-.f32 1 ux)) (pow.f32 ux 3)) (*.f32 (*.f32 (*.f32 -1/9 (*.f32 ux (*.f32 (*.f32 maxCos ux) maxCos))) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/18))))
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 ux (-.f32 maxCos 1))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(neg.f32 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (neg.f32 (-.f32 1 maxCos)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
1
(-.f32 (+.f32 1 (*.f32 1/3 (*.f32 maxCos ux))) (*.f32 1/3 ux))
(+.f32 1 (-.f32 (*.f32 (*.f32 maxCos ux) 1/3) (*.f32 ux 1/3)))
(+.f32 1 (*.f32 ux (-.f32 (*.f32 maxCos 1/3) 1/3)))
(+.f32 1 (*.f32 ux (fma.f32 maxCos 1/3 -1/3)))
(-.f32 (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 1 (*.f32 1/3 (*.f32 maxCos ux)))) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 1/3 ux))))
(-.f32 (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (+.f32 1 (*.f32 (*.f32 maxCos ux) 1/3))) (fma.f32 1/9 (*.f32 ux ux) (fma.f32 1/9 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 ux 1/3))))
(-.f32 (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 (*.f32 maxCos ux) 1/3 1)) (+.f32 (*.f32 ux 1/3) (*.f32 (*.f32 ux ux) (+.f32 1/9 (*.f32 1/9 (*.f32 maxCos maxCos))))))
(-.f32 (+.f32 (fma.f32 (*.f32 maxCos ux) 1/3 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 1/3)))
(-.f32 (+.f32 1 (+.f32 (*.f32 5/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (+.f32 (*.f32 5/27 (*.f32 maxCos (pow.f32 ux 3))) (*.f32 1/3 (*.f32 maxCos ux)))))) (+.f32 (*.f32 1/3 ux) (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (+.f32 (*.f32 5/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 5/81 (pow.f32 ux 3)))))))
(-.f32 (+.f32 1 (fma.f32 5/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 5/27 (*.f32 maxCos (pow.f32 ux 3)) (*.f32 (*.f32 maxCos ux) 1/3))))) (fma.f32 1/3 ux (fma.f32 1/9 (*.f32 ux ux) (fma.f32 5/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (fma.f32 1/9 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 (pow.f32 ux 3) 5/81))))))
(+.f32 1 (-.f32 (fma.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) 5/81 (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (fma.f32 (*.f32 maxCos ux) 1/3 (*.f32 maxCos (*.f32 (pow.f32 ux 3) 5/27))))) (fma.f32 ux 1/3 (fma.f32 (*.f32 ux ux) 1/9 (fma.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) 5/27 (fma.f32 1/9 (*.f32 (*.f32 maxCos ux) (*.f32 maxCos ux)) (*.f32 (pow.f32 ux 3) 5/81)))))))
(+.f32 (fma.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) 5/81 (fma.f32 2/9 (*.f32 maxCos (*.f32 ux ux)) (*.f32 maxCos (+.f32 (*.f32 ux 1/3) (*.f32 5/27 (pow.f32 ux 3)))))) (-.f32 1 (fma.f32 ux 1/3 (+.f32 (*.f32 (*.f32 maxCos maxCos) (+.f32 (*.f32 ux (*.f32 ux 1/9)) (*.f32 5/27 (pow.f32 ux 3)))) (*.f32 (*.f32 ux ux) (+.f32 (*.f32 5/81 ux) 1/9))))))
(pow.f32 (-.f32 1 ux) 1/3)
(cbrt.f32 (-.f32 1 ux))
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 1/3))
(fma.f32 1/3 (*.f32 (*.f32 maxCos ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (cbrt.f32 (-.f32 1 ux)))
(fma.f32 (*.f32 (*.f32 1/3 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (*.f32 maxCos ux) (cbrt.f32 (-.f32 1 ux)))
(fma.f32 1/3 (*.f32 maxCos (*.f32 ux (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)))) (cbrt.f32 (-.f32 1 ux)))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 1/3)) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (fma.f32 1/3 (*.f32 (*.f32 maxCos ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (cbrt.f32 (-.f32 1 ux))) (*.f32 -1/9 (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)))))
(+.f32 (fma.f32 (*.f32 (*.f32 1/3 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (*.f32 maxCos ux) (cbrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 (*.f32 ux ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 maxCos maxCos)))) -1/9))
(+.f32 (cbrt.f32 (-.f32 1 ux)) (fma.f32 (*.f32 maxCos ux) (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (*.f32 (*.f32 ux (*.f32 ux (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 maxCos maxCos))))) -1/9)))
(-.f32 (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (+.f32 (*.f32 5/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (pow.f32 (-.f32 1 ux) 1/3))) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))))
(+.f32 (fma.f32 1/3 (*.f32 (*.f32 maxCos ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 5/81 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)))) (cbrt.f32 (-.f32 1 ux)))) (*.f32 -1/9 (*.f32 (*.f32 (*.f32 ux ux) (*.f32 maxCos maxCos)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)))))
(fma.f32 (*.f32 (*.f32 1/3 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (*.f32 maxCos ux) (+.f32 (fma.f32 5/81 (*.f32 (pow.f32 maxCos 3) (*.f32 (pow.f32 ux 3) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4))))) (cbrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 (*.f32 ux ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 maxCos maxCos)))) -1/9)))
(+.f32 (fma.f32 5/81 (*.f32 (pow.f32 maxCos 3) (*.f32 (pow.f32 ux 3) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4))))) (cbrt.f32 (-.f32 1 ux))) (fma.f32 (*.f32 maxCos ux) (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (*.f32 (*.f32 ux (*.f32 ux (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 maxCos maxCos))))) -1/9)))
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 ux (-.f32 maxCos 1))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(neg.f32 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 ux (neg.f32 (-.f32 1 maxCos)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)

prune130.0ms (4.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1571158
Fresh000
Picked011
Done011
Total1573160
Error
0b
Counts
160 → 3
Alt Table
StatusErrorProgram
0.6b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
2.4b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
0.0b
(fma.f32 ux (+.f32 maxCos -1) 1)
Compiler

Compiled 4379 to 3074 computations (29.8% saved)

localize78.0ms (2.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 maxCos (*.f32 maxCos ux))
0.2b
(*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))
0.2b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
0.3b
(*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))

series77.0ms (2.9%)

Counts
4 → 80
Calls

24 calls:

TimeVariablePointExpression
17.0ms
maxCos
@0
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
7.0ms
ux
@0
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
6.0ms
maxCos
@-inf
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
6.0ms
ux
@-inf
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
6.0ms
ux
@inf
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))

rewrite33.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
265×add-sqr-sqrt_binary32
256×*-un-lft-identity_binary32
256×pow1_binary32
249×add-cbrt-cube_binary32
248×add-cube-cbrt_binary32
Iterations

Useful iterations: 1 (0.0ms)

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

simplify48.0ms (1.8%)

Algorithm
egg-herbie
Rules
570×associate--l+_binary32
338×cancel-sign-sub-inv_binary32
278×associate-*r*_binary32
272×fma-def_binary32
258×unswap-sqr_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712229
15872205
225231948
Stop Event
node limit
Counts
116 → 65
Calls
Call 1
Inputs
(*.f32 2/3 ux)
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(*.f32 2/3 ux)
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
1
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (+.f32 (*.f32 4/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 4/81 (pow.f32 ux 3)) (*.f32 maxCos ux)))) (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3))) ux)))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/81 (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 4))) (+.f32 (*.f32 4/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 1/81 (pow.f32 ux 4)) (+.f32 (*.f32 4/81 (pow.f32 ux 3)) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 4))) (*.f32 maxCos ux))))))) (+.f32 ux (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))) (+.f32 (*.f32 4/81 (*.f32 maxCos (pow.f32 ux 4))) (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3))))))))
(*.f32 (pow.f32 (-.f32 1 ux) 1/3) (-.f32 1 (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (*.f32 2/3 ux))))
(-.f32 (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos ux))) (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 1/3)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) ux)) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 3)))) (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (pow.f32 ux 2)))))))
(-.f32 (+.f32 (*.f32 1/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 4)))) (+.f32 (pow.f32 (-.f32 1 ux) 1/3) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos ux))) (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))))))))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) ux)) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 3)))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (pow.f32 ux 2))) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))))))
(-.f32 (+.f32 (*.f32 5/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (pow.f32 (-.f32 1 ux) 1/3) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 1/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 4)))) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos (pow.f32 ux 2)))) (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos ux))))))))))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) ux)) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 10/243 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)))) (+.f32 (*.f32 5/729 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5)))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (pow.f32 ux 2))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 3)))) (+.f32 (*.f32 2/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)))) (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))))))))))))))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 -1/9 (pow.f32 ux 2))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 (pow.f32 maxCos 2) ux)
Outputs
(*.f32 2/3 ux)
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(*.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)))
(*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(*.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)))
(*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(*.f32 2/3 ux)
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(*.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)))
(*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))
(*.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)))
(*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
(+.f32 (*.f32 1/9 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))) (*.f32 2/3 ux))
(fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 2/3 ux))
(fma.f32 2/3 ux (*.f32 1/9 (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos)))))
(*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))
1
(-.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 4/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 4/81 (pow.f32 ux 3)) (*.f32 maxCos ux)))) (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3))) ux)))
(+.f32 1 (-.f32 (fma.f32 4/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (fma.f32 4/81 (pow.f32 ux 3) (*.f32 ux maxCos))) (fma.f32 4/81 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (fma.f32 4/27 (*.f32 maxCos (pow.f32 ux 3)) ux))))
(-.f32 (+.f32 (*.f32 (pow.f32 ux 3) (+.f32 (*.f32 (*.f32 maxCos maxCos) 4/27) 4/81)) (fma.f32 ux maxCos 1)) (+.f32 ux (*.f32 (pow.f32 ux 3) (+.f32 (*.f32 4/81 (pow.f32 maxCos 3)) (*.f32 maxCos 4/27)))))
(-.f32 (+.f32 (*.f32 (pow.f32 ux 3) (+.f32 4/81 (*.f32 (*.f32 maxCos maxCos) 4/27))) (fma.f32 ux maxCos 1)) (+.f32 ux (*.f32 (pow.f32 ux 3) (+.f32 (*.f32 4/81 (pow.f32 maxCos 3)) (*.f32 maxCos 4/27)))))
(-.f32 (+.f32 1 (+.f32 (*.f32 1/81 (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 4))) (+.f32 (*.f32 4/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))) (+.f32 (*.f32 1/81 (pow.f32 ux 4)) (+.f32 (*.f32 4/81 (pow.f32 ux 3)) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 4))) (*.f32 maxCos ux))))))) (+.f32 ux (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3))) (+.f32 (*.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4))) (+.f32 (*.f32 4/81 (*.f32 maxCos (pow.f32 ux 4))) (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3))))))))
(-.f32 (-.f32 (+.f32 1 (fma.f32 1/81 (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 4)) (fma.f32 4/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (fma.f32 1/81 (pow.f32 ux 4) (fma.f32 4/81 (pow.f32 ux 3) (fma.f32 2/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 4)) (*.f32 ux maxCos))))))) ux) (fma.f32 4/81 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (fma.f32 4/81 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)) (fma.f32 4/81 (*.f32 maxCos (pow.f32 ux 4)) (*.f32 4/27 (*.f32 maxCos (pow.f32 ux 3)))))))
(+.f32 1 (-.f32 (fma.f32 1/81 (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 4)) (fma.f32 4/27 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))) (fma.f32 1/81 (pow.f32 ux 4) (fma.f32 (pow.f32 ux 3) 4/81 (fma.f32 ux maxCos (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 ux 4) 2/27))))))) (+.f32 ux (+.f32 (*.f32 (pow.f32 ux 4) (+.f32 (*.f32 4/81 (pow.f32 maxCos 3)) (*.f32 maxCos 4/81))) (*.f32 (pow.f32 ux 3) (+.f32 (*.f32 4/81 (pow.f32 maxCos 3)) (*.f32 maxCos 4/27)))))))
(+.f32 1 (-.f32 (fma.f32 1/81 (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 4)) (fma.f32 4/27 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))) (fma.f32 1/81 (pow.f32 ux 4) (fma.f32 (pow.f32 ux 3) 4/81 (fma.f32 2/27 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 4)) (*.f32 ux maxCos)))))) (+.f32 ux (+.f32 (*.f32 4/81 (*.f32 (pow.f32 ux 4) (+.f32 (pow.f32 maxCos 3) maxCos))) (*.f32 (pow.f32 ux 3) (+.f32 (*.f32 4/81 (pow.f32 maxCos 3)) (*.f32 maxCos 4/27)))))))
(*.f32 (pow.f32 (-.f32 1 ux) 1/3) (-.f32 1 (+.f32 (*.f32 1/9 (pow.f32 ux 2)) (*.f32 2/3 ux))))
(*.f32 (cbrt.f32 (-.f32 1 ux)) (-.f32 1 (fma.f32 1/9 (*.f32 ux ux) (*.f32 2/3 ux))))
(*.f32 (cbrt.f32 (-.f32 1 ux)) (-.f32 1 (fma.f32 2/3 ux (*.f32 ux (*.f32 ux 1/9)))))
(*.f32 (cbrt.f32 (-.f32 1 ux)) (-.f32 1 (*.f32 ux (+.f32 2/3 (*.f32 1/9 ux)))))
(-.f32 (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos ux))) (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 1/3)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) ux)) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 3)))) (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (pow.f32 ux 2)))))))
(-.f32 (fma.f32 2/9 (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 maxCos (*.f32 ux ux))) (fma.f32 2/3 (*.f32 (*.f32 ux maxCos) (cbrt.f32 (-.f32 1 ux))) (fma.f32 1/3 (*.f32 (*.f32 ux maxCos) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (cbrt.f32 (-.f32 1 ux))))) (fma.f32 2/3 (*.f32 ux (cbrt.f32 (-.f32 1 ux))) (fma.f32 2/9 (*.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 1/27 (*.f32 (*.f32 maxCos (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (*.f32 1/9 (*.f32 (*.f32 ux ux) (cbrt.f32 (-.f32 1 ux))))))))
(fma.f32 2/9 (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 ux (*.f32 ux maxCos))) (+.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (*.f32 2/3 (cbrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 1/3 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)))) (-.f32 (cbrt.f32 (-.f32 1 ux)) (fma.f32 2/3 (*.f32 ux (cbrt.f32 (-.f32 1 ux))) (fma.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 ux (*.f32 ux maxCos)))) (fma.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos (pow.f32 ux 3)))) (*.f32 1/9 (*.f32 ux (*.f32 ux (cbrt.f32 (-.f32 1 ux)))))))))))
(+.f32 (fma.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 ux maxCos))) (cbrt.f32 (-.f32 1 ux))) (-.f32 (*.f32 (*.f32 maxCos (cbrt.f32 (-.f32 1 ux))) (+.f32 (*.f32 (*.f32 ux ux) 2/9) (*.f32 2/3 ux))) (+.f32 (*.f32 (*.f32 maxCos (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (+.f32 (*.f32 (*.f32 ux ux) 2/9) (*.f32 (pow.f32 ux 3) 1/27))) (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 ux (+.f32 2/3 (*.f32 1/9 ux)))))))
(-.f32 (+.f32 (*.f32 1/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 4)))) (+.f32 (pow.f32 (-.f32 1 ux) 1/3) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos ux))) (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3))))))))))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) ux)) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 3)))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (pow.f32 ux 2))) (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))))))))
(-.f32 (fma.f32 1/81 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 4)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (+.f32 (cbrt.f32 (-.f32 1 ux)) (fma.f32 2/9 (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 2/9 (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 maxCos (*.f32 ux ux))) (fma.f32 2/27 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 2/3 (*.f32 (*.f32 ux maxCos) (cbrt.f32 (-.f32 1 ux))) (fma.f32 1/3 (*.f32 (*.f32 ux maxCos) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (*.f32 2/27 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))))))))))) (fma.f32 1/9 (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (cbrt.f32 (-.f32 1 ux))) (fma.f32 2/3 (*.f32 ux (cbrt.f32 (-.f32 1 ux))) (fma.f32 2/9 (*.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 1/27 (*.f32 (*.f32 maxCos (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (*.f32 1/9 (+.f32 (*.f32 (*.f32 ux ux) (cbrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))))))))))
(-.f32 (+.f32 (fma.f32 2/9 (*.f32 (*.f32 ux ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos maxCos)))) (fma.f32 2/9 (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 ux (*.f32 ux maxCos))) (fma.f32 2/27 (*.f32 (pow.f32 ux 3) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos maxCos)))) (+.f32 (*.f32 2/27 (*.f32 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)))) (*.f32 (*.f32 ux maxCos) (+.f32 (*.f32 2/3 (cbrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 1/3 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)))))))) (fma.f32 1/81 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 4)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (cbrt.f32 (-.f32 1 ux)))) (fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux (*.f32 ux (cbrt.f32 (-.f32 1 ux))))) (fma.f32 2/3 (*.f32 ux (cbrt.f32 (-.f32 1 ux))) (fma.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 ux (*.f32 ux maxCos)))) (fma.f32 1/9 (*.f32 (*.f32 ux ux) (+.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))))) (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos (pow.f32 ux 3))))))))))
(+.f32 (+.f32 (+.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (*.f32 2/3 (cbrt.f32 (-.f32 1 ux))) (*.f32 (*.f32 1/3 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)))) (*.f32 (*.f32 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))) 2/27) (+.f32 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))))) (*.f32 2/9 (*.f32 (*.f32 ux ux) (+.f32 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos maxCos))) (*.f32 maxCos (cbrt.f32 (-.f32 1 ux))))))) (-.f32 (fma.f32 1/81 (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 ux 4) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)))) (cbrt.f32 (-.f32 1 ux))) (+.f32 (+.f32 (*.f32 (*.f32 ux (*.f32 ux 1/9)) (+.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))))) (*.f32 (*.f32 maxCos (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (+.f32 (*.f32 (*.f32 ux ux) 2/9) (*.f32 (pow.f32 ux 3) 1/27)))) (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))))))
(-.f32 (+.f32 (*.f32 5/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (pow.f32 (-.f32 1 ux) 1/3) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos ux))) (+.f32 (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 3)))) (+.f32 (*.f32 1/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 4)))) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos (pow.f32 ux 2)))) (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 maxCos ux))))))))))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/3 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) ux)) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)))) (+.f32 (*.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 2)))) (+.f32 (*.f32 10/243 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)))) (+.f32 (*.f32 5/729 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)) 1/3) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5)))) (+.f32 (*.f32 1/9 (*.f32 (pow.f32 (-.f32 1 ux) 1/3) (pow.f32 ux 2))) (+.f32 (*.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/9) (*.f32 maxCos (pow.f32 ux 3)))) (+.f32 (*.f32 2/81 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)))) (*.f32 2/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/9) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)))))))))))))))
(-.f32 (fma.f32 5/81 (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)))) (+.f32 (cbrt.f32 (-.f32 1 ux)) (fma.f32 2/9 (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 2/27 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 1/3 (*.f32 (*.f32 ux maxCos) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 2/27 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (fma.f32 1/81 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 4)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (fma.f32 2/9 (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 maxCos (*.f32 ux ux))) (*.f32 2/3 (*.f32 (*.f32 ux maxCos) (cbrt.f32 (-.f32 1 ux)))))))))))) (fma.f32 1/27 (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 1/9 (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (fma.f32 2/3 (*.f32 ux (cbrt.f32 (-.f32 1 ux))) (fma.f32 1/9 (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux ux)) (cbrt.f32 (-.f32 1 ux))) (fma.f32 2/9 (*.f32 (*.f32 maxCos (*.f32 ux ux)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 10/243 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)))) (fma.f32 5/729 (*.f32 (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5))) (fma.f32 1/9 (*.f32 (*.f32 ux ux) (cbrt.f32 (-.f32 1 ux))) (fma.f32 1/27 (*.f32 (*.f32 maxCos (pow.f32 ux 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18))) (fma.f32 2/81 (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (*.f32 2/27 (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)))))))))))))))
(-.f32 (+.f32 (fma.f32 2/9 (*.f32 (*.f32 ux ux) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos maxCos)))) (fma.f32 2/27 (*.f32 (pow.f32 ux 3) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos maxCos)))) (fma.f32 1/3 (*.f32 ux (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) maxCos))) (fma.f32 2/27 (*.f32 (*.f32 maxCos (*.f32 maxCos (pow.f32 ux 3))) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (fma.f32 1/81 (*.f32 (*.f32 (*.f32 maxCos maxCos) (pow.f32 ux 4)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (fma.f32 2/9 (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 ux (*.f32 ux maxCos))) (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 (*.f32 ux maxCos) 2/3)))))))) (fma.f32 5/81 (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)))) (cbrt.f32 (-.f32 1 ux)))) (fma.f32 1/27 (*.f32 (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) (fma.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))) (fma.f32 2/3 (*.f32 ux (cbrt.f32 (-.f32 1 ux))) (fma.f32 1/9 (*.f32 (*.f32 maxCos maxCos) (*.f32 ux (*.f32 ux (cbrt.f32 (-.f32 1 ux))))) (fma.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 ux (*.f32 ux maxCos)))) (fma.f32 10/243 (*.f32 (pow.f32 maxCos 3) (*.f32 (pow.f32 ux 4) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4))))) (fma.f32 5/729 (*.f32 (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4))) (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 5))) (fma.f32 1/9 (*.f32 ux (*.f32 ux (cbrt.f32 (-.f32 1 ux)))) (fma.f32 1/27 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos (pow.f32 ux 3)))) (fma.f32 2/27 (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (*.f32 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18)) (*.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 4)) 2/81)))))))))))))
(-.f32 (+.f32 (+.f32 (cbrt.f32 (-.f32 1 ux)) (+.f32 (fma.f32 1/3 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 ux maxCos))) (+.f32 (*.f32 (*.f32 maxCos (cbrt.f32 (-.f32 1 ux))) (+.f32 (*.f32 (*.f32 ux ux) 2/9) (*.f32 2/3 ux))) (*.f32 (*.f32 (*.f32 maxCos maxCos) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (+.f32 (*.f32 1/81 (pow.f32 ux 4)) (*.f32 (pow.f32 ux 3) 2/27))))) (*.f32 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 maxCos maxCos))) (+.f32 (*.f32 (*.f32 ux ux) 2/9) (*.f32 (pow.f32 ux 3) 2/27))))) (*.f32 (*.f32 (pow.f32 ux 3) (pow.f32 maxCos 3)) (-.f32 (*.f32 5/81 (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)))) (*.f32 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)) 1/27)))) (fma.f32 1/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (*.f32 ux (*.f32 ux (*.f32 maxCos maxCos))))) (+.f32 (fma.f32 2/9 (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (*.f32 ux (*.f32 ux maxCos)))) (+.f32 (fma.f32 1/9 (*.f32 (*.f32 ux ux) (cbrt.f32 (-.f32 1 ux))) (fma.f32 1/27 (*.f32 maxCos (*.f32 (pow.f32 ux 3) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 2)) 1/18)))) (*.f32 (*.f32 (pow.f32 maxCos 3) (*.f32 (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18) (pow.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 7)) 1/18))) (+.f32 (*.f32 (pow.f32 ux 4) 2/81) (*.f32 (pow.f32 ux 3) 2/27))))) (*.f32 (*.f32 (pow.f32 maxCos 3) (cbrt.f32 (/.f32 1 (pow.f32 (-.f32 1 ux) 4)))) (+.f32 (*.f32 (pow.f32 ux 4) 10/243) (*.f32 (pow.f32 ux 5) 5/729))))) (*.f32 (cbrt.f32 (-.f32 1 ux)) (*.f32 ux (+.f32 2/3 (*.f32 (*.f32 1/9 (*.f32 maxCos maxCos)) ux)))))))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (-.f32 (*.f32 2/9 maxCos) 1/9) (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 -1/9 (pow.f32 ux 2))
(*.f32 (*.f32 ux ux) -1/9)
(*.f32 ux (*.f32 ux -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2)))
(*.f32 2/9 (*.f32 maxCos (*.f32 ux ux)))
(*.f32 maxCos (*.f32 (*.f32 ux ux) 2/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2)))
(*.f32 2/9 (*.f32 maxCos (*.f32 ux ux)))
(*.f32 maxCos (*.f32 (*.f32 ux ux) 2/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(-.f32 (*.f32 2/9 (*.f32 maxCos (pow.f32 ux 2))) (*.f32 1/9 (pow.f32 ux 2)))
(*.f32 (*.f32 ux ux) (fma.f32 2/9 maxCos -1/9))
(*.f32 ux (*.f32 ux (fma.f32 maxCos 2/9 -1/9)))
(*.f32 (*.f32 ux ux) (fma.f32 maxCos 2/9 -1/9))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))
(*.f32 (pow.f32 maxCos 2) ux)
(*.f32 ux (*.f32 maxCos maxCos))

prune140.0ms (5.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New65065
Fresh000
Picked011
Done022
Total65368
Error
0b
Counts
68 → 3
Alt Table
StatusErrorProgram
0.6b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
2.4b
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (-.f32 (+.f32 (fma.f32 2/3 (*.f32 maxCos ux) 1) (*.f32 (*.f32 ux ux) (-.f32 (*.f32 maxCos 2/9) 1/9))) (*.f32 ux (+.f32 (*.f32 1/9 (*.f32 maxCos (*.f32 maxCos ux))) 2/3))))
0.0b
(fma.f32 ux (+.f32 maxCos -1) 1)
Compiler

Compiled 3616 to 2431 computations (32.8% saved)

regimes153.0ms (5.8%)

Accuracy

Total 0.0b remaining (34.1%)

Threshold costs 0.0b (34.1%)

Counts
41 → 1
Compiler

Compiled 3014 to 2137 computations (29.1% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
1-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
1108
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f32 ux (+.f32 maxCos -1) 1)
Outputs
(fma.f32 ux (+.f32 maxCos -1) 1)

end54.0ms (2%)

Stop Event
done
Compiler

Compiled 86 to 61 computations (29.1% saved)

Profiling

Loading profile data...