Details

Time bar (total: 2.6s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.1%99.9%0%0%0%0
100%0.1%0%99.9%0%0%0%1
Compiler

Compiled 33 to 24 computations (27.3% saved)

sample1.3s (50.6%)

Results
1.3s8256×body256valid
Bogosity

preprocess82.0ms (3.1%)

Algorithm
egg-herbie
Rules
1238×fma-def
528×associate--r+
478×associate-+r+
390×associate-+l+
340×associate-+l-
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
14260
210960
322360
454160
5147160
6282360
7305260
8311460
9312560
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 (-.f32 1 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 13 to 10 computations (23.1% saved)

simplify33.0ms (1.3%)

Algorithm
egg-herbie
Rules
392×fma-def
162×associate--r+
148×associate-+r+
134×associate-+l+
130×associate-+l-
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
11715
23815
37415
416715
544215
689115
7108815
8111415
9111915
Stop Event
saturated
Counts
1 → 3
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)

eval1.0ms (0%)

Compiler

Compiled 22 to 13 computations (40.9% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.02%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.02%
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 10 to 7 computations (30% saved)

localize18.0ms (0.7%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.02%
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite71.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
816×associate-*r/
814×*-commutative
732×associate-*l/
662×distribute-lft-in
648×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
117415
2240515
Stop Event
node limit
Counts
1 → 97
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (*.f32 ux (-.f32 1 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 maxCos) ux (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 ux) maxCos (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 ux maxCos))) (sqrt.f32 (*.f32 ux maxCos)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 (cbrt.f32 (*.f32 ux maxCos))) (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log.f32 (-.f32 2 ux))) (-.f32 1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 ux maxCos))) (-.f32 1 (-.f32 1 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 1 (*.f32 ux maxCos)) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1 (+.f32 1 ux)) (-.f32 (/.f32 ux (/.f32 (+.f32 1 ux) ux)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (-.f32 (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (/.f32 (pow.f32 (*.f32 ux maxCos) 2) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (-.f32 1 ux) (exp.f32 (log1p.f32 (*.f32 ux maxCos)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (exp.f32 (log.f32 (-.f32 2 ux)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (/.f32 1 (+.f32 1 ux))) (/.f32 ux (/.f32 (+.f32 1 ux) ux)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (/.f32 1 (+.f32 1 (fma.f32 ux ux ux)))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (+.f32 1 (*.f32 ux maxCos)) 0) 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 (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 (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 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(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 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (fma.f32 ux maxCos (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) 3))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) (-.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) (pow.f32 (-.f32 1 ux) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (-.f32 1 (*.f32 ux (+.f32 1 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 1 maxCos))))))) (#(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 (*.f32 ux maxCos) 1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 ux maxCos) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 3)) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (+.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (-.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 2) 3)) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))))) (#(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 1 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 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos))))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 1 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) 1) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) 1) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) 1) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) 1) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) 1) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 ux maxCos) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 2) 3)) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 3)) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (+.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (-.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 1) (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (*.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (+.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 ux maxCos)))) (-.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 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 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)))) (#(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 neg.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(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 (sqrt.f32 (-.f32 1 ux)) (sqrt.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 (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 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (cbrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))))))

simplify86.0ms (3.3%)

Algorithm
egg-herbie
Rules
1626×associate-*r/
1312×associate-*l/
652×+-commutative
628×associate-+l+
598×associate-+r+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02916003
18605349
238675349
Stop Event
node limit
Counts
121 → 177
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(-.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 ux maxCos)))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 maxCos) ux (*.f32 ux maxCos)))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 ux) maxCos (*.f32 ux maxCos)))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 ux maxCos))) (sqrt.f32 (*.f32 ux maxCos)) (*.f32 ux maxCos)))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 (cbrt.f32 (*.f32 ux maxCos))) (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (*.f32 ux maxCos)))
(-.f32 (exp.f32 (log.f32 (-.f32 2 ux))) (-.f32 1 (*.f32 ux maxCos)))
(-.f32 (exp.f32 (log1p.f32 (*.f32 ux maxCos))) (-.f32 1 (-.f32 1 ux)))
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
(-.f32 (+.f32 1 (*.f32 ux maxCos)) ux)
(-.f32 (/.f32 1 (+.f32 1 ux)) (-.f32 (/.f32 ux (/.f32 (+.f32 1 ux) ux)) (*.f32 ux maxCos)))
(-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (-.f32 (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))) (*.f32 ux maxCos)))
(-.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (/.f32 (pow.f32 (*.f32 ux maxCos) 2) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(-.f32 (+.f32 (-.f32 1 ux) (exp.f32 (log1p.f32 (*.f32 ux maxCos)))) 1)
(-.f32 (+.f32 (*.f32 ux maxCos) (exp.f32 (log.f32 (-.f32 2 ux)))) 1)
(-.f32 (+.f32 (*.f32 ux maxCos) (/.f32 1 (+.f32 1 ux))) (/.f32 ux (/.f32 (+.f32 1 ux) ux)))
(-.f32 (+.f32 (*.f32 ux maxCos) (/.f32 1 (+.f32 1 (fma.f32 ux ux ux)))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(-.f32 (+.f32 (+.f32 1 (*.f32 ux maxCos)) 0) ux)
(*.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(*.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 (*.f32 ux maxCos) 1) ux)))))
(*.f32 (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))
(*.f32 (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))
(*.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (fma.f32 ux maxCos (-.f32 1 ux)))
(*.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (-.f32 1 ux)))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) 3))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) (-.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) (pow.f32 (-.f32 1 ux) 2)))))
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))
(/.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 (*.f32 ux maxCos) 1) ux))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))
(/.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))
(/.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))
(/.f32 (-.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))))
(/.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))
(/.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 ux maxCos) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))
(/.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 3)) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (+.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (-.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3))))))
(/.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 2) 3)) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.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 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 1 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos))))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (*.f32 1 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(/.f32 (*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (*.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) 1) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))
(/.f32 (*.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) 1) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) 1) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(/.f32 (*.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) 1) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (*.f32 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) 1) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 ux maxCos) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))
(/.f32 (*.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 2) 3)) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))
(/.f32 (*.f32 (-.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))
(/.f32 (*.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 3)) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (+.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (-.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3)))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 1) (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (*.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (+.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 ux maxCos)))) (-.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 ux maxCos))))
(/.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))
(/.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)
(neg.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))))
(neg.f32 (/.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 (*.f32 ux maxCos) 1) ux))))))
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
(log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(fma.f32 1 (-.f32 1 ux) (*.f32 ux maxCos))
(fma.f32 1 (*.f32 ux maxCos) (-.f32 1 ux))
(fma.f32 ux maxCos (-.f32 1 ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(fma.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))
(fma.f32 (sqrt.f32 (*.f32 ux maxCos)) (sqrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))
(fma.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (cbrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))
(fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (cbrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 ux maxCos)))
(-.f32 (fma.f32 maxCos ux (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 maxCos ux)))
(+.f32 (fma.f32 (+.f32 maxCos -1) ux 1) (*.f32 maxCos (+.f32 (neg.f32 ux) ux)))
(+.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (*.f32 maxCos (+.f32 ux (neg.f32 ux))))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 maxCos) ux (*.f32 ux maxCos)))
(-.f32 (fma.f32 maxCos ux (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 maxCos ux)))
(+.f32 (fma.f32 (+.f32 maxCos -1) ux 1) (*.f32 maxCos (+.f32 (neg.f32 ux) ux)))
(+.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (*.f32 maxCos (+.f32 ux (neg.f32 ux))))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 ux) maxCos (*.f32 ux maxCos)))
(-.f32 (fma.f32 maxCos ux (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 maxCos ux)))
(+.f32 (fma.f32 (+.f32 maxCos -1) ux 1) (*.f32 maxCos (+.f32 (neg.f32 ux) ux)))
(+.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (*.f32 maxCos (+.f32 ux (neg.f32 ux))))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 (sqrt.f32 (*.f32 ux maxCos))) (sqrt.f32 (*.f32 ux maxCos)) (*.f32 ux maxCos)))
(-.f32 (fma.f32 maxCos ux (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 maxCos ux)))
(+.f32 (fma.f32 (+.f32 maxCos -1) ux 1) (*.f32 maxCos (+.f32 (neg.f32 ux) ux)))
(+.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (*.f32 maxCos (+.f32 ux (neg.f32 ux))))
(-.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 (neg.f32 (cbrt.f32 (*.f32 ux maxCos))) (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (*.f32 ux maxCos)))
(-.f32 (fma.f32 maxCos ux (-.f32 1 ux)) (fma.f32 (*.f32 ux (neg.f32 maxCos)) 1 (*.f32 maxCos ux)))
(+.f32 (fma.f32 (+.f32 maxCos -1) ux 1) (*.f32 maxCos (+.f32 (neg.f32 ux) ux)))
(+.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (*.f32 maxCos (+.f32 ux (neg.f32 ux))))
(-.f32 (exp.f32 (log.f32 (-.f32 2 ux))) (-.f32 1 (*.f32 ux maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (exp.f32 (log1p.f32 (*.f32 ux maxCos))) (-.f32 1 (-.f32 1 ux)))
(-.f32 (exp.f32 (log1p.f32 (*.f32 maxCos ux))) (+.f32 0 ux))
(-.f32 (exp.f32 (log1p.f32 (*.f32 maxCos ux))) ux)
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 ux maxCos)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (/.f32 1 (+.f32 1 ux)) (-.f32 (/.f32 ux (/.f32 (+.f32 1 ux) ux)) (*.f32 ux maxCos)))
(+.f32 (-.f32 (/.f32 1 (+.f32 1 ux)) (*.f32 (/.f32 ux (+.f32 1 ux)) ux)) (*.f32 maxCos ux))
(-.f32 (/.f32 1 (+.f32 1 ux)) (*.f32 ux (-.f32 (/.f32 ux (+.f32 1 ux)) maxCos)))
(-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (-.f32 (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))) (*.f32 ux maxCos)))
(+.f32 (-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux)))) (*.f32 maxCos ux))
(-.f32 (fma.f32 maxCos ux (/.f32 1 (+.f32 1 (fma.f32 ux ux ux)))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(-.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (/.f32 (pow.f32 (*.f32 ux maxCos) 2) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 (-.f32 1 ux) (exp.f32 (log1p.f32 (*.f32 ux maxCos)))) 1)
(-.f32 (exp.f32 (log1p.f32 (*.f32 maxCos ux))) (+.f32 0 ux))
(-.f32 (exp.f32 (log1p.f32 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 (*.f32 ux maxCos) (exp.f32 (log.f32 (-.f32 2 ux)))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 (*.f32 ux maxCos) (/.f32 1 (+.f32 1 ux))) (/.f32 ux (/.f32 (+.f32 1 ux) ux)))
(+.f32 (-.f32 (/.f32 1 (+.f32 1 ux)) (*.f32 (/.f32 ux (+.f32 1 ux)) ux)) (*.f32 maxCos ux))
(-.f32 (/.f32 1 (+.f32 1 ux)) (*.f32 ux (-.f32 (/.f32 ux (+.f32 1 ux)) maxCos)))
(-.f32 (+.f32 (*.f32 ux maxCos) (/.f32 1 (+.f32 1 (fma.f32 ux ux ux)))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(+.f32 (-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux)))) (*.f32 maxCos ux))
(-.f32 (fma.f32 maxCos ux (/.f32 1 (+.f32 1 (fma.f32 ux ux ux)))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(-.f32 (+.f32 (+.f32 1 (*.f32 ux maxCos)) 0) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.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 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(*.f32 (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))) (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(*.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (fma.f32 ux maxCos (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (fma.f32 ux maxCos (-.f32 1 ux)))))
(*.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (fma.f32 maxCos ux (-.f32 1 ux))))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)) (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (fma.f32 (+.f32 maxCos -1) ux 1)) (pow.f32 (-.f32 1 ux) 2))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)) (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (*.f32 (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (*.f32 (+.f32 ux (fma.f32 ux maxCos -1)) (+.f32 ux (fma.f32 ux maxCos -1)))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (-.f32 (pow.f32 (-.f32 1 ux) 4) (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (*.f32 (+.f32 ux (fma.f32 maxCos ux -1)) (+.f32 ux (fma.f32 maxCos ux -1)))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 maxCos (*.f32 ux (+.f32 ux (fma.f32 maxCos ux -1))))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (-.f32 (pow.f32 (-.f32 1 ux) 4) (*.f32 (+.f32 ux (fma.f32 maxCos ux -1)) (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (+.f32 ux (fma.f32 maxCos ux -1)))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 maxCos (*.f32 ux (+.f32 ux (fma.f32 maxCos ux -1))))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) 3))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) (-.f32 (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)) (pow.f32 (-.f32 1 ux) 2)))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))) 3))) (fma.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3) (*.f32 (*.f32 maxCos ux) (*.f32 (+.f32 ux (fma.f32 ux maxCos -1)) (-.f32 (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))) (pow.f32 (-.f32 1 ux) 2))))))
(*.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (+.f32 (pow.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (fma.f32 maxCos ux -1)))) 3) (pow.f32 (-.f32 1 ux) 6))) (fma.f32 (*.f32 maxCos ux) (*.f32 (+.f32 ux (fma.f32 maxCos ux -1)) (-.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (fma.f32 maxCos ux -1)))) (pow.f32 (-.f32 1 ux) 2))) (pow.f32 (-.f32 1 ux) 4)))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (*.f32 (+.f32 ux (fma.f32 maxCos ux -1)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (neg.f32 (pow.f32 (-.f32 1 ux) 2)))) (pow.f32 (-.f32 1 ux) 4))) (+.f32 (pow.f32 (*.f32 maxCos (*.f32 ux (+.f32 ux (fma.f32 maxCos ux -1)))) 3) (pow.f32 (-.f32 1 ux) 6)))
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))
(*.f32 (/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (/.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)) (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2))))
(/.f32 (*.f32 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2))) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(*.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (-.f32 1 (+.f32 ux (*.f32 maxCos ux)))))
(*.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (-.f32 (-.f32 1 ux) (*.f32 maxCos ux))))
(/.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))))
(*.f32 (/.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))) (/.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))))
(*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (/.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (/.f32 (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))))
(/.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))
(/.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))) (/.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(/.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))) (/.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (*.f32 (/.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (-.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(/.f32 (-.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (*.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))
(/.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 ux maxCos) (pow.f32 (*.f32 ux maxCos) 3))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))
(/.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux (*.f32 maxCos (pow.f32 (*.f32 maxCos ux) 3)))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 maxCos ux) 4)) (*.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 maxCos ux) 4)) (*.f32 (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (-.f32 1 maxCos))) (fma.f32 ux (-.f32 1 maxCos) 1))
(/.f32 (+.f32 1 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (*.f32 maxCos ux)))) (-.f32 ux (fma.f32 maxCos ux -1)))
(/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 3)) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))) (+.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (-.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3))))))
(/.f32 (/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 3) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (+.f32 (pow.f32 (-.f32 1 ux) 6) (*.f32 (pow.f32 (*.f32 maxCos ux) 3) (-.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 3)))))
(/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 3) 3)) (*.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)) (fma.f32 (pow.f32 (*.f32 maxCos ux) 3) (-.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 3)) (pow.f32 (-.f32 1 ux) 6))))
(/.f32 (/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 3) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2))) (fma.f32 (pow.f32 (*.f32 maxCos ux) 3) (-.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 3)) (pow.f32 (-.f32 1 ux) 6)))
(/.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 2) 3)) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))))))
(/.f32 (/.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 2) 3)) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (fma.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3) (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (*.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 4) (fma.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2) (pow.f32 (*.f32 maxCos ux) 4)))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (-.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 4) (fma.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2) (pow.f32 (*.f32 maxCos ux) 4))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 (-.f32 ux (*.f32 maxCos ux)) (fma.f32 ux (-.f32 1 maxCos) 1) 1))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 ux (fma.f32 maxCos ux -1)) 1))
(/.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.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 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (*.f32 1 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos))))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (-.f32 1 maxCos))) (fma.f32 ux (-.f32 1 maxCos) 1))
(/.f32 (+.f32 1 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (*.f32 maxCos ux)))) (-.f32 ux (fma.f32 maxCos ux -1)))
(/.f32 (*.f32 1 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 (-.f32 ux (*.f32 maxCos ux)) (fma.f32 ux (-.f32 1 maxCos) 1) 1))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 ux (fma.f32 maxCos ux -1)) 1))
(/.f32 (*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (sqrt.f32 (fma.f32 maxCos ux (-.f32 1 ux)))))
(*.f32 (/.f32 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (sqrt.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (sqrt.f32 (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))) (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)))
(/.f32 (*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (sqrt.f32 (fma.f32 maxCos ux (-.f32 1 ux))) (/.f32 (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (sqrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (sqrt.f32 (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (pow.f32 (cbrt.f32 (fma.f32 maxCos ux (-.f32 1 ux))) 2) (/.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) 2) (cbrt.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) 2) (cbrt.f32 (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (pow.f32 (cbrt.f32 (fma.f32 maxCos ux (-.f32 1 ux))) 2) (/.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) 2) (cbrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) 2) (cbrt.f32 (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (*.f32 (-.f32 (pow.f32 (*.f32 ux maxCos) 2) (pow.f32 (-.f32 1 ux) 2)) 1) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (*.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) 1) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (*.f32 ux (-.f32 1 maxCos)))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 ux ux) (-.f32 1 maxCos)) (-.f32 1 maxCos))) (fma.f32 ux (-.f32 1 maxCos) 1))
(/.f32 (+.f32 1 (*.f32 (-.f32 (*.f32 maxCos ux) ux) (-.f32 ux (*.f32 maxCos ux)))) (-.f32 ux (fma.f32 maxCos ux -1)))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) 1) (+.f32 1 (*.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (*.f32 ux (*.f32 (-.f32 1 maxCos) (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 (-.f32 ux (*.f32 maxCos ux)) (fma.f32 ux (-.f32 1 maxCos) 1) 1))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 (-.f32 ux (*.f32 maxCos ux)) (-.f32 ux (fma.f32 maxCos ux -1)) 1))
(/.f32 (*.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) 1) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (*.f32 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) 1) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (*.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (/.f32 (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (sqrt.f32 (fma.f32 maxCos ux (-.f32 1 ux)))))
(*.f32 (/.f32 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (sqrt.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (sqrt.f32 (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))) (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)))
(/.f32 (*.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (sqrt.f32 (fma.f32 maxCos ux (-.f32 1 ux))) (/.f32 (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (sqrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (sqrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (sqrt.f32 (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (pow.f32 (cbrt.f32 (fma.f32 maxCos ux (-.f32 1 ux))) 2) (/.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) 2) (cbrt.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) 2) (cbrt.f32 (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (*.f32 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(/.f32 (pow.f32 (cbrt.f32 (fma.f32 maxCos ux (-.f32 1 ux))) 2) (/.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) 2) (cbrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(*.f32 (/.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) 2) (cbrt.f32 (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)))) (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (*.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (*.f32 ux maxCos) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))
(/.f32 (-.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux (*.f32 maxCos (pow.f32 (*.f32 maxCos ux) 3)))) (*.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 maxCos ux) 4)) (*.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 4) (pow.f32 (*.f32 maxCos ux) 4)) (*.f32 (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(/.f32 (*.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 2) 3)) (/.f32 1 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (+.f32 (*.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)))))
(/.f32 (/.f32 (-.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 2) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 2) 3)) (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (fma.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3) (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (+.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (*.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 4) (fma.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2) (pow.f32 (*.f32 maxCos ux) 4)))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (-.f32 (-.f32 1 ux) (*.f32 maxCos ux))) (+.f32 (pow.f32 (-.f32 1 ux) 4) (fma.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2) (pow.f32 (*.f32 maxCos ux) 4))))
(/.f32 (*.f32 (-.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (*.f32 ux maxCos) 3))) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (*.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 6) (pow.f32 (*.f32 maxCos ux) 6)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2))) (-.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)))
(/.f32 (*.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 3)) (/.f32 1 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (+.f32 (*.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (-.f32 1 ux) 3)) (*.f32 (pow.f32 (*.f32 ux maxCos) 3) (-.f32 (pow.f32 (*.f32 ux maxCos) 3) (pow.f32 (-.f32 1 ux) 3)))))
(/.f32 (/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 3) 3)) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))) (+.f32 (pow.f32 (-.f32 1 ux) 6) (*.f32 (pow.f32 (*.f32 maxCos ux) 3) (-.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 3)))))
(/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 3) 3)) (*.f32 (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)) (fma.f32 (pow.f32 (*.f32 maxCos ux) 3) (-.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 3)) (pow.f32 (-.f32 1 ux) 6))))
(/.f32 (/.f32 (+.f32 (pow.f32 (pow.f32 (-.f32 1 ux) 3) 3) (pow.f32 (pow.f32 (*.f32 maxCos ux) 3) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2))) (fma.f32 (pow.f32 (*.f32 maxCos ux) 3) (-.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 3)) (pow.f32 (-.f32 1 ux) 6)))
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) 1) (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))) (sqrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (*.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))) (cbrt.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(/.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (+.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 ux maxCos)))) (-.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 ux maxCos))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)) (*.f32 (-.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 maxCos ux))) (+.f32 (sqrt.f32 (*.f32 maxCos ux)) (sqrt.f32 (-.f32 1 ux)))))
(/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)) (*.f32 (+.f32 (sqrt.f32 (*.f32 maxCos ux)) (sqrt.f32 (-.f32 1 ux))) (-.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (*.f32 maxCos ux)))))
(/.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux))))) (sqrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 ux maxCos) 3)) (*.f32 (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))) (cbrt.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) 1) ux)))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(neg.f32 (/.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 ux maxCos) 2)) (neg.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(neg.f32 (/.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 (*.f32 ux maxCos) 1) ux))))))
(/.f32 (*.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) 1) (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1)) (pow.f32 (-.f32 1 ux) 2)))
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
(sqrt.f32 (pow.f32 (fma.f32 maxCos ux (-.f32 1 ux)) 2))
(fabs.f32 (fma.f32 (+.f32 maxCos -1) ux 1))
(fabs.f32 (-.f32 (fma.f32 maxCos ux 1) ux))
(log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 1 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 1 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 ux maxCos (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 maxCos ux (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (sqrt.f32 (*.f32 ux maxCos)) (sqrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (cbrt.f32 (-.f32 1 ux)) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 2) (cbrt.f32 (*.f32 ux maxCos)) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (fma.f32 maxCos ux 1) ux)

eval79.0ms (3%)

Compiler

Compiled 4857 to 3077 computations (36.6% saved)

prune28.0ms (1.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1734177
Fresh000
Picked011
Done000
Total1735178
Error
0%
Counts
178 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.04%
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
0.04%
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.99%
(-.f32 1 ux)
0.02%
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
24.21%
1
Compiler

Compiled 43 to 34 computations (20.9% saved)

localize7.0ms (0.3%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize20.0ms (0.8%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.04%
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.1%
(*.f32 ux (-.f32 1 maxCos))
Compiler

Compiled 21 to 14 computations (33.3% saved)

series2.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite63.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1908×add-sqr-sqrt
1892×*-un-lft-identity
1762×add-cube-cbrt
1748×add-cbrt-cube
180×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify71.0ms (2.7%)

Algorithm
egg-herbie
Rules
1144×associate-+r-
954×associate-+l-
674×fma-def
650×+-commutative
604×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01342063
13321831
212971811
363461811
Stop Event
node limit
Counts
97 → 80
Calls
Call 1
Inputs
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
ux
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.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 -1 (*.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 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) 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)
(+.f32 ux (*.f32 ux (neg.f32 maxCos)))
(+.f32 ux (*.f32 (neg.f32 maxCos) ux))
(-.f32 (+.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(/.f32 (*.f32 ux (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))
(/.f32 (*.f32 ux (-.f32 1 (pow.f32 maxCos 3))) (+.f32 1 (fma.f32 maxCos maxCos maxCos)))
(/.f32 (*.f32 (-.f32 1 (*.f32 maxCos maxCos)) ux) (+.f32 1 maxCos))
(/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 3)) ux) (+.f32 1 (fma.f32 maxCos maxCos maxCos)))
(pow.f32 (*.f32 ux (-.f32 1 maxCos)) 1)
(pow.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) 2)
(pow.f32 (cbrt.f32 (*.f32 ux (-.f32 1 maxCos))) 3)
(pow.f32 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3) 1/3)
(sqrt.f32 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(log.f32 (pow.f32 (exp.f32 (-.f32 1 maxCos)) ux))
(log.f32 (+.f32 1 (expm1.f32 (*.f32 ux (-.f32 1 maxCos)))))
(cbrt.f32 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))
(expm1.f32 (log1p.f32 (*.f32 ux (-.f32 1 maxCos))))
(exp.f32 (log.f32 (*.f32 ux (-.f32 1 maxCos))))
(exp.f32 (*.f32 (log.f32 (*.f32 ux (-.f32 1 maxCos))) 1))
(log1p.f32 (expm1.f32 (*.f32 ux (-.f32 1 maxCos))))
(+.f32 1 (*.f32 ux (neg.f32 (-.f32 1 maxCos))))
(+.f32 1 (*.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) 1))
(+.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) 1)
(*.f32 1 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) (sqrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) (pow.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 2))
(*.f32 (pow.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 2) (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 1 (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (/.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))
(/.f32 1 (/.f32 (+.f32 1 (*.f32 ux (-.f32 1 maxCos))) (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))
(/.f32 1 (/.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))
(/.f32 (-.f32 1 (*.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (-.f32 1 maxCos))))) (-.f32 1 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))))
(/.f32 (+.f32 1 (pow.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) 3)) (+.f32 1 (-.f32 (*.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (-.f32 1 maxCos)))) (*.f32 ux (neg.f32 (-.f32 1 maxCos))))))
(/.f32 (neg.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (neg.f32 (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(/.f32 (neg.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))) (neg.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))
(pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(pow.f32 (sqrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 2)
(pow.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 3)
(pow.f32 (pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 3) 1/3)
(sqrt.f32 (pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2))
(log.f32 (exp.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(log.f32 (+.f32 1 (expm1.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(cbrt.f32 (pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 3))
(expm1.f32 (log1p.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(exp.f32 (log1p.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))))
(exp.f32 (*.f32 (log1p.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))) 1))
(log1p.f32 (expm1.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
Outputs
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
ux
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 ux (neg.f32 maxCos))
(*.f32 maxCos (neg.f32 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 ux (neg.f32 maxCos))
(*.f32 maxCos (neg.f32 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 ux (*.f32 ux (neg.f32 maxCos)))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 ux (*.f32 (neg.f32 maxCos) ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(/.f32 (*.f32 ux (-.f32 1 (*.f32 maxCos maxCos))) (+.f32 1 maxCos))
(/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))
(*.f32 (/.f32 ux (+.f32 1 maxCos)) (-.f32 1 (*.f32 maxCos maxCos)))
(*.f32 ux (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (+.f32 1 maxCos)))
(/.f32 (*.f32 ux (-.f32 1 (pow.f32 maxCos 3))) (+.f32 1 (fma.f32 maxCos maxCos maxCos)))
(/.f32 ux (/.f32 (+.f32 1 (fma.f32 maxCos maxCos maxCos)) (-.f32 1 (pow.f32 maxCos 3))))
(*.f32 (/.f32 ux (+.f32 1 (fma.f32 maxCos maxCos maxCos))) (-.f32 1 (pow.f32 maxCos 3)))
(*.f32 ux (/.f32 (-.f32 1 (pow.f32 maxCos 3)) (+.f32 1 (fma.f32 maxCos maxCos maxCos))))
(/.f32 (*.f32 (-.f32 1 (*.f32 maxCos maxCos)) ux) (+.f32 1 maxCos))
(/.f32 ux (/.f32 (+.f32 1 maxCos) (-.f32 1 (*.f32 maxCos maxCos))))
(*.f32 (/.f32 ux (+.f32 1 maxCos)) (-.f32 1 (*.f32 maxCos maxCos)))
(*.f32 ux (/.f32 (-.f32 1 (*.f32 maxCos maxCos)) (+.f32 1 maxCos)))
(/.f32 (*.f32 (-.f32 1 (pow.f32 maxCos 3)) ux) (+.f32 1 (fma.f32 maxCos maxCos maxCos)))
(/.f32 ux (/.f32 (+.f32 1 (fma.f32 maxCos maxCos maxCos)) (-.f32 1 (pow.f32 maxCos 3))))
(*.f32 (/.f32 ux (+.f32 1 (fma.f32 maxCos maxCos maxCos))) (-.f32 1 (pow.f32 maxCos 3)))
(*.f32 ux (/.f32 (-.f32 1 (pow.f32 maxCos 3)) (+.f32 1 (fma.f32 maxCos maxCos maxCos))))
(pow.f32 (*.f32 ux (-.f32 1 maxCos)) 1)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(pow.f32 (sqrt.f32 (*.f32 ux (-.f32 1 maxCos))) 2)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(pow.f32 (cbrt.f32 (*.f32 ux (-.f32 1 maxCos))) 3)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(pow.f32 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3) 1/3)
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(sqrt.f32 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(log.f32 (pow.f32 (exp.f32 (-.f32 1 maxCos)) ux))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(log.f32 (+.f32 1 (expm1.f32 (*.f32 ux (-.f32 1 maxCos)))))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(cbrt.f32 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(expm1.f32 (log1p.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(exp.f32 (log.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(exp.f32 (*.f32 (log.f32 (*.f32 ux (-.f32 1 maxCos))) 1))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(log1p.f32 (expm1.f32 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 ux (*.f32 maxCos ux))
(+.f32 1 (*.f32 ux (neg.f32 (-.f32 1 maxCos))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) 1))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 1 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) (sqrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) (pow.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 2))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (pow.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 2) (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 1 (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 2)) (fma.f32 (-.f32 1 maxCos) ux 1))
(*.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (/.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 3)) 1) (+.f32 1 (fma.f32 ux (-.f32 1 maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))
(/.f32 (+.f32 1 (pow.f32 (-.f32 (*.f32 maxCos ux) ux) 3)) (+.f32 1 (*.f32 (fma.f32 (-.f32 1 maxCos) ux 1) (-.f32 ux (*.f32 maxCos ux)))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (+.f32 maxCos -1) -1)) 1))
(/.f32 1 (/.f32 (+.f32 1 (*.f32 ux (-.f32 1 maxCos))) (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 2)) (fma.f32 (-.f32 1 maxCos) ux 1))
(/.f32 1 (/.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 3)) 1) (+.f32 1 (fma.f32 ux (-.f32 1 maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))
(/.f32 (+.f32 1 (pow.f32 (-.f32 (*.f32 maxCos ux) ux) 3)) (+.f32 1 (*.f32 (fma.f32 (-.f32 1 maxCos) ux 1) (-.f32 ux (*.f32 maxCos ux)))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (+.f32 maxCos -1) -1)) 1))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 2)) (fma.f32 (-.f32 1 maxCos) ux 1))
(/.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3)) (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 3)) 1) (+.f32 1 (fma.f32 ux (-.f32 1 maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))
(/.f32 (+.f32 1 (pow.f32 (-.f32 (*.f32 maxCos ux) ux) 3)) (+.f32 1 (*.f32 (fma.f32 (-.f32 1 maxCos) ux 1) (-.f32 ux (*.f32 maxCos ux)))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (+.f32 maxCos -1) -1)) 1))
(/.f32 (-.f32 1 (*.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (-.f32 1 maxCos))))) (-.f32 1 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 2)) (fma.f32 (-.f32 1 maxCos) ux 1))
(/.f32 (+.f32 1 (pow.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) 3)) (+.f32 1 (-.f32 (*.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos))) (*.f32 ux (neg.f32 (-.f32 1 maxCos)))) (*.f32 ux (neg.f32 (-.f32 1 maxCos))))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 3)) 1) (+.f32 1 (fma.f32 ux (-.f32 1 maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))
(/.f32 (+.f32 1 (pow.f32 (-.f32 (*.f32 maxCos ux) ux) 3)) (+.f32 1 (*.f32 (fma.f32 (-.f32 1 maxCos) ux 1) (-.f32 ux (*.f32 maxCos ux)))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (+.f32 maxCos -1) -1)) 1))
(/.f32 (neg.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (neg.f32 (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2)) 1) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 2)) (fma.f32 (-.f32 1 maxCos) ux 1))
(/.f32 (neg.f32 (-.f32 1 (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 3))) (neg.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (pow.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))
(/.f32 (*.f32 (-.f32 1 (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 3)) 1) (+.f32 1 (fma.f32 ux (-.f32 1 maxCos) (pow.f32 (*.f32 (-.f32 1 maxCos) ux) 2))))
(/.f32 (+.f32 1 (pow.f32 (-.f32 (*.f32 maxCos ux) ux) 3)) (+.f32 1 (*.f32 (fma.f32 (-.f32 1 maxCos) ux 1) (-.f32 ux (*.f32 maxCos ux)))))
(/.f32 (-.f32 1 (pow.f32 (-.f32 ux (*.f32 maxCos ux)) 3)) (fma.f32 ux (*.f32 (+.f32 maxCos -1) (fma.f32 ux (+.f32 maxCos -1) -1)) 1))
(pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (sqrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (cbrt.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))) 3)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 3) 1/3)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(sqrt.f32 (pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(log.f32 (exp.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(log.f32 (+.f32 1 (expm1.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(cbrt.f32 (pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 3))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(expm1.f32 (log1p.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)
(exp.f32 (log1p.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))))
(exp.f32 (log1p.f32 (-.f32 (*.f32 maxCos ux) ux)))
(exp.f32 (*.f32 (log1p.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))) 1))
(exp.f32 (log1p.f32 (*.f32 ux (neg.f32 (-.f32 1 maxCos)))))
(exp.f32 (log1p.f32 (-.f32 (*.f32 maxCos ux) ux)))
(log1p.f32 (expm1.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (fma.f32 maxCos ux 1) ux)

localize31.0ms (1.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.02%
(fma.f32 ux maxCos (-.f32 1 ux))
0.49%
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
1.09%
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
Compiler

Compiled 33 to 21 computations (36.4% saved)

series4.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

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

rewrite68.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1938×add-sqr-sqrt
1918×*-un-lft-identity
1784×add-cube-cbrt
1766×add-cbrt-cube
194×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01051
121551
2244851
Stop Event
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(fma.f32 ux maxCos (-.f32 1 ux))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 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 (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 (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 -1 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1) (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))))) (#(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 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)))) (#(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 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 sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 ux maxCos (-.f32 1 ux))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (/.f32 -1 (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) (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) -1) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))))) (#(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 (/.f32 1 (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)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3) 1/3)))) (#(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 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (neg.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 exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 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 (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 (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 -1 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1) (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (neg.f32 (/.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 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 -1 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))) (/.f32 1 (cbrt.f32 (fma.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 /.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 pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)))) (#(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 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 sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))))

simplify75.0ms (2.8%)

Algorithm
egg-herbie
Rules
1622×associate-/l*
1462×associate-*r/
1272×associate-*l/
526×associate-+l+
460×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02274774
16374238
230554230
Stop Event
node limit
Counts
162 → 164
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
1
(+.f32 1 (*.f32 (-.f32 1 maxCos) ux))
(+.f32 (*.f32 -1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 3))) (+.f32 (*.f32 -1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux))))
(/.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(-.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux)) (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3))) (/.f32 1 (*.f32 (-.f32 maxCos 1) ux))) (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3))) (/.f32 1 (*.f32 (-.f32 maxCos 1) ux))) (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))) (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 4) (pow.f32 ux 4)))))
(/.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 4)))))))
(/.f32 1 (-.f32 1 ux))
(+.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 -1 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))
(+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 -1 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)))))
(+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (/.f32 1 (-.f32 1 ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (pow.f32 (-.f32 1 ux) 4))) (*.f32 -1 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))))
(/.f32 1 (*.f32 maxCos ux))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 1 (*.f32 maxCos ux))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2)))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(/.f32 1 (*.f32 maxCos ux))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 1 (*.f32 maxCos ux))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2)))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))
(+.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 ux))
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
(-.f32 (+.f32 (*.f32 ux maxCos) 1) ux)
(*.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 -1 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1) (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1))
(*.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
(log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))
(exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(fma.f32 ux maxCos (-.f32 1 ux))
(-.f32 (exp.f32 (log1p.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))) 1)
(*.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2))
(*.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)))
(*.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(*.f32 -1 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1) (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) -1) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1)
(pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) 2)
(pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 3)
(pow.f32 (pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3) 1/3)
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))
(log.f32 (exp.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))
(cbrt.f32 (pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3))
(expm1.f32 (log1p.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(exp.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))
(exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1))
(log1p.f32 (expm1.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))
(+.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 ux))
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
(-.f32 (+.f32 (*.f32 ux maxCos) 1) ux)
(*.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 -1 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(*.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1) (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1))
(*.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 1 (neg.f32 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(/.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2))
(/.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 -1 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1)
(/.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 (-.f32 (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))
(/.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)))))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
(log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))
(exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
1
(+.f32 1 (*.f32 (-.f32 1 maxCos) ux))
(+.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(fma.f32 ux (-.f32 1 maxCos) 1)
(-.f32 ux (fma.f32 maxCos ux -1))
(+.f32 (*.f32 -1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux)))
(fma.f32 -1 (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(-.f32 (fma.f32 ux (-.f32 1 maxCos) 1) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))))
(-.f32 (-.f32 ux (fma.f32 maxCos ux -1)) (*.f32 (*.f32 ux ux) (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos))))
(+.f32 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 3))) (+.f32 (*.f32 -1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 maxCos 1) (pow.f32 ux 2)))) (+.f32 1 (*.f32 (-.f32 1 maxCos) ux))))
(fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 3)) (fma.f32 -1 (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos)))))
(fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 3)) (-.f32 (fma.f32 ux (-.f32 1 maxCos) 1) (*.f32 (-.f32 1 maxCos) (*.f32 (+.f32 maxCos -1) (*.f32 ux ux)))))
(fma.f32 (pow.f32 (+.f32 maxCos -1) 2) (*.f32 (-.f32 1 maxCos) (pow.f32 ux 3)) (-.f32 (-.f32 ux (fma.f32 maxCos ux -1)) (*.f32 (*.f32 ux ux) (*.f32 (+.f32 maxCos -1) (-.f32 1 maxCos)))))
(/.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(/.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(/.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (/.f32 1 (*.f32 (-.f32 maxCos 1) ux)) (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(-.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) ux)) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))))
(+.f32 (/.f32 1 (-.f32 (*.f32 maxCos ux) ux)) (/.f32 -1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))))
(+.f32 (/.f32 1 (-.f32 (*.f32 maxCos ux) ux)) (/.f32 -1 (*.f32 ux (*.f32 ux (pow.f32 (+.f32 maxCos -1) 2)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3))) (/.f32 1 (*.f32 (-.f32 maxCos 1) ux))) (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) ux)) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 maxCos -1) 3)))) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))))
(+.f32 (/.f32 1 (-.f32 (*.f32 maxCos ux) ux)) (-.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 maxCos -1) 3))) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)))))
(+.f32 (/.f32 1 (-.f32 (*.f32 maxCos ux) ux)) (-.f32 (/.f32 (/.f32 1 (pow.f32 ux 3)) (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (/.f32 1 (*.f32 ux ux)) (pow.f32 (+.f32 maxCos -1) 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 3) (pow.f32 ux 3))) (/.f32 1 (*.f32 (-.f32 maxCos 1) ux))) (+.f32 (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 2) (pow.f32 ux 2))) (/.f32 1 (*.f32 (pow.f32 (-.f32 maxCos 1) 4) (pow.f32 ux 4)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (+.f32 maxCos -1) ux)) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 maxCos -1) 3)))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2))) (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 4) (pow.f32 ux 4)))))
(+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 maxCos -1) 3))) (-.f32 (+.f32 (/.f32 1 (-.f32 (*.f32 maxCos ux) ux)) (/.f32 -1 (*.f32 (*.f32 ux ux) (pow.f32 (+.f32 maxCos -1) 2)))) (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 4) (pow.f32 ux 4)))))
(-.f32 (+.f32 (/.f32 1 (-.f32 (*.f32 maxCos ux) ux)) (-.f32 (/.f32 (/.f32 1 (pow.f32 ux 3)) (pow.f32 (+.f32 maxCos -1) 3)) (/.f32 (/.f32 1 (*.f32 ux ux)) (pow.f32 (+.f32 maxCos -1) 2)))) (/.f32 1 (*.f32 (pow.f32 (+.f32 maxCos -1) 4) (pow.f32 ux 4))))
(/.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(/.f32 -1 (*.f32 ux (-.f32 1 maxCos)))
(/.f32 (/.f32 -1 ux) (-.f32 1 maxCos))
(/.f32 -1 (-.f32 ux (*.f32 maxCos ux)))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2)))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (-.f32 1 maxCos))) (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2)))))
(+.f32 (/.f32 (/.f32 -1 ux) (-.f32 1 maxCos)) (/.f32 (/.f32 -1 (*.f32 ux ux)) (pow.f32 (-.f32 1 maxCos) 2)))
(+.f32 (/.f32 -1 (-.f32 ux (*.f32 maxCos ux))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (pow.f32 (-.f32 1 maxCos) 2)))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))))))
(-.f32 (+.f32 (/.f32 (/.f32 -1 ux) (-.f32 1 maxCos)) (/.f32 (/.f32 -1 (*.f32 ux ux)) (pow.f32 (-.f32 1 maxCos) 2))) (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))))
(+.f32 (+.f32 (/.f32 -1 (-.f32 ux (*.f32 maxCos ux))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (pow.f32 (-.f32 1 maxCos) 2))) (/.f32 -1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 2) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (+.f32 1 (*.f32 -1 maxCos)) 4)))))))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux (-.f32 1 maxCos))) (+.f32 (/.f32 1 (*.f32 (*.f32 ux ux) (pow.f32 (-.f32 1 maxCos) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (-.f32 1 maxCos) 4)))))))
(-.f32 (+.f32 (/.f32 (/.f32 -1 ux) (-.f32 1 maxCos)) (/.f32 (/.f32 -1 (*.f32 ux ux)) (pow.f32 (-.f32 1 maxCos) 2))) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (-.f32 1 maxCos) 4)))))
(-.f32 (/.f32 (/.f32 -1 (*.f32 ux ux)) (pow.f32 (-.f32 1 maxCos) 2)) (+.f32 (/.f32 1 (*.f32 (pow.f32 ux 3) (pow.f32 (-.f32 1 maxCos) 3))) (+.f32 (/.f32 1 (-.f32 ux (*.f32 maxCos ux))) (/.f32 1 (*.f32 (pow.f32 ux 4) (pow.f32 (-.f32 1 maxCos) 4))))))
(/.f32 1 (-.f32 1 ux))
(+.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 -1 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))
(+.f32 (/.f32 1 (-.f32 1 ux)) (neg.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))
(-.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 maxCos (/.f32 (pow.f32 (-.f32 1 ux) 2) ux)))
(-.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux))
(+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 -1 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)))))
(+.f32 (+.f32 (/.f32 1 (-.f32 1 ux)) (neg.f32 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2)))) (/.f32 (*.f32 maxCos maxCos) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux))))
(+.f32 (-.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 maxCos (/.f32 (pow.f32 (-.f32 1 ux) 2) ux))) (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux)))
(+.f32 (/.f32 1 (-.f32 1 ux)) (-.f32 (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux)) (*.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux)))
(+.f32 (/.f32 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2)) (pow.f32 (-.f32 1 ux) 3)) (+.f32 (/.f32 1 (-.f32 1 ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (pow.f32 maxCos 3) (pow.f32 ux 3)) (pow.f32 (-.f32 1 ux) 4))) (*.f32 -1 (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))))
(+.f32 (/.f32 (*.f32 maxCos maxCos) (/.f32 (pow.f32 (-.f32 1 ux) 3) (*.f32 ux ux))) (+.f32 (/.f32 1 (-.f32 1 ux)) (*.f32 -1 (+.f32 (/.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 4)) (/.f32 (*.f32 maxCos ux) (pow.f32 (-.f32 1 ux) 2))))))
(+.f32 (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux)) (-.f32 (-.f32 (/.f32 1 (-.f32 1 ux)) (/.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 4))) (/.f32 maxCos (/.f32 (pow.f32 (-.f32 1 ux) 2) ux))))
(-.f32 (+.f32 (/.f32 1 (-.f32 1 ux)) (-.f32 (*.f32 (/.f32 (*.f32 maxCos maxCos) (pow.f32 (-.f32 1 ux) 3)) (*.f32 ux ux)) (*.f32 (/.f32 maxCos (pow.f32 (-.f32 1 ux) 2)) ux))) (/.f32 (pow.f32 (*.f32 maxCos ux) 3) (pow.f32 (-.f32 1 ux) 4)))
(/.f32 1 (*.f32 maxCos ux))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 1 (*.f32 maxCos ux))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos)))) (/.f32 1 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux)))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (-.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 maxCos ux))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (*.f32 maxCos maxCos))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (neg.f32 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux))))) (/.f32 1 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux)))))
(+.f32 (-.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))))) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 -1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (/.f32 (*.f32 (+.f32 -1 ux) (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux)))) (*.f32 ux (pow.f32 maxCos 3))) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (*.f32 maxCos maxCos)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2)))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (+.f32 (/.f32 1 (*.f32 maxCos ux)) (fma.f32 -1 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) (/.f32 (*.f32 (*.f32 ux ux) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))))))) (/.f32 1 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))))
(+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (+.f32 (-.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))))) (-.f32 (*.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4)))) (/.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 maxCos ux)))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (+.f32 (fma.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4))) (/.f32 (*.f32 (+.f32 -1 ux) (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux)))) (*.f32 ux (pow.f32 maxCos 3)))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (*.f32 maxCos maxCos)))))
(/.f32 1 (*.f32 maxCos ux))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (/.f32 1 (*.f32 maxCos ux))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 maxCos ux)) (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos)))) (/.f32 1 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux)))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (-.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 maxCos ux))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (*.f32 maxCos maxCos))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(-.f32 (+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (neg.f32 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux))))) (/.f32 1 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux)))))
(+.f32 (-.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))))) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 -1 (*.f32 maxCos (*.f32 maxCos (*.f32 ux ux))))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (/.f32 (*.f32 (+.f32 -1 ux) (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux)))) (*.f32 ux (pow.f32 maxCos 3))) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (*.f32 maxCos maxCos)))))
(-.f32 (+.f32 (/.f32 1 (*.f32 (pow.f32 maxCos 2) ux)) (+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (*.f32 -1 (/.f32 (*.f32 (-.f32 1 ux) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 3) ux))) (/.f32 (*.f32 (pow.f32 (-.f32 1 ux) 2) (-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))) (*.f32 (pow.f32 maxCos 4) (pow.f32 ux 2)))))) (/.f32 1 (*.f32 (pow.f32 maxCos 2) (pow.f32 ux 2))))
(+.f32 (/.f32 1 (*.f32 ux (*.f32 maxCos maxCos))) (-.f32 (+.f32 (/.f32 1 (*.f32 maxCos ux)) (fma.f32 -1 (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (/.f32 (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))) ux)) (/.f32 (pow.f32 (-.f32 1 ux) 2) (/.f32 (*.f32 (*.f32 ux ux) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))))))) (/.f32 1 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux))))))
(+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (+.f32 (-.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 (/.f32 (-.f32 1 ux) (pow.f32 maxCos 3)) (-.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 3))))) (-.f32 (*.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4)))) (/.f32 (/.f32 1 (*.f32 maxCos ux)) (*.f32 maxCos ux)))))
(+.f32 (/.f32 1 (*.f32 maxCos ux)) (+.f32 (/.f32 1 (*.f32 maxCos (*.f32 maxCos ux))) (+.f32 (fma.f32 (/.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 maxCos 4)) (-.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4))) (/.f32 (*.f32 (+.f32 -1 ux) (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux)))) (*.f32 ux (pow.f32 maxCos 3)))) (/.f32 (/.f32 -1 (*.f32 ux ux)) (*.f32 maxCos maxCos)))))
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 (*.f32 ux maxCos) 1) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 -1 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1) (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))) (/.f32 1 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
(/.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (cbrt.f32 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -2)))
(/.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) (cbrt.f32 (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -2)))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
(fabs.f32 (-.f32 (fma.f32 maxCos ux 1) ux))
(fabs.f32 (fma.f32 (+.f32 maxCos -1) ux 1))
(log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(fma.f32 ux maxCos (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (exp.f32 (log1p.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))) 1)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(*.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(*.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(*.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(*.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)))
(*.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 (cbrt.f32 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -2)) (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)))
(/.f32 (cbrt.f32 (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -2)) (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)))
(*.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 (cbrt.f32 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -2)) (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)))
(/.f32 (cbrt.f32 (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -2)) (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)))
(*.f32 -1 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(*.f32 (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1) (pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) -1) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 1)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) 2)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 3)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(pow.f32 (pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3) 1/3)
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))
(sqrt.f32 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -2))
(sqrt.f32 (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -2))
(log.f32 (exp.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(cbrt.f32 (pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) 3))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(expm1.f32 (log1p.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(exp.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(log1p.f32 (expm1.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(/.f32 1 (-.f32 (fma.f32 maxCos ux 1) ux))
(/.f32 1 (fma.f32 (+.f32 maxCos -1) ux 1))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (+.f32 (*.f32 ux maxCos) 1) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(+.f32 (*.f32 (*.f32 ux maxCos) 1) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (exp.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(-.f32 (+.f32 (*.f32 ux maxCos) 1) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 -1 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1) (pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2) -1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(*.f32 (pow.f32 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))) (/.f32 1 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
(/.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (cbrt.f32 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -2)))
(/.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) (cbrt.f32 (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -2)))
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(/.f32 1 (neg.f32 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(/.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(/.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -1/2))
(/.f32 (sqrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -1/2))
(/.f32 (sqrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -1/2))
(/.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(/.f32 -1 (/.f32 -1 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(/.f32 (neg.f32 (fma.f32 ux maxCos (-.f32 1 ux))) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(/.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))) (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) -2))) (/.f32 1 (/.f32 1 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))))))
(/.f32 (cbrt.f32 (-.f32 (fma.f32 maxCos ux 1) ux)) (cbrt.f32 (pow.f32 (-.f32 (fma.f32 maxCos ux 1) ux) -2)))
(/.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) (cbrt.f32 (pow.f32 (fma.f32 (+.f32 maxCos -1) ux 1) -2)))
(/.f32 (-.f32 (*.f32 (*.f32 ux maxCos) (*.f32 ux maxCos)) (pow.f32 (-.f32 1 ux) 2)) (-.f32 (*.f32 ux maxCos) (-.f32 1 ux)))
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos (*.f32 maxCos ux))) (pow.f32 (-.f32 1 ux) 2)) (+.f32 (-.f32 (*.f32 maxCos ux) 1) ux))
(/.f32 (*.f32 (-.f32 (fma.f32 maxCos ux 1) ux) (+.f32 ux (fma.f32 maxCos ux -1))) (+.f32 ux (fma.f32 maxCos ux -1)))
(/.f32 (fma.f32 (+.f32 maxCos -1) ux 1) (/.f32 (+.f32 ux (fma.f32 maxCos ux -1)) (+.f32 ux (fma.f32 maxCos ux -1))))
(/.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)))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 (*.f32 maxCos ux) (*.f32 maxCos ux) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (-.f32 1 ux))))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (*.f32 maxCos ux)) (*.f32 (-.f32 1 ux) (-.f32 (-.f32 1 ux) (*.f32 maxCos ux)))))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (*.f32 maxCos ux)) (*.f32 (-.f32 1 ux) (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))))
(pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (sqrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (cbrt.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(pow.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3) 1/3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(sqrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 2))
(fabs.f32 (-.f32 (fma.f32 maxCos ux 1) ux))
(fabs.f32 (fma.f32 (+.f32 maxCos -1) ux 1))
(log.f32 (exp.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(log.f32 (+.f32 1 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(cbrt.f32 (pow.f32 (fma.f32 ux maxCos (-.f32 1 ux)) 3))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(expm1.f32 (log1p.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(exp.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(exp.f32 (*.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux))) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(exp.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 ux maxCos (-.f32 1 ux)))) -1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)
(log1p.f32 (expm1.f32 (fma.f32 ux maxCos (-.f32 1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (+.f32 maxCos -1) ux 1)

eval82.0ms (3.1%)

Compiler

Compiled 4333 to 3011 computations (30.5% saved)

prune36.0ms (1.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2431244
Fresh011
Picked101
Done033
Total2445249
Error
0%
Counts
249 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.98%
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
0.04%
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.99%
(-.f32 1 ux)
0.02%
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
24.21%
1
Compiler

Compiled 40 to 33 computations (17.5% saved)

localize19.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5%
(/.f32 1 (-.f32 1 ux))
1.07%
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
Compiler

Compiled 20 to 16 computations (20% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
ux
@inf
(/.f32 1 (-.f32 1 ux))
0.0ms
ux
@-inf
(/.f32 1 (-.f32 1 ux))
0.0ms
ux
@0
(/.f32 1 (-.f32 1 ux))
0.0ms
ux
@0
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
0.0ms
ux
@inf
(/.f32 1 (/.f32 1 (-.f32 1 ux)))

rewrite55.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1382×add-sqr-sqrt
1362×*-un-lft-identity
1278×add-cube-cbrt
1268×add-cbrt-cube
1258×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify87.0ms (3.3%)

Algorithm
egg-herbie
Rules
1158×unswap-sqr
794×associate-+r+
740×associate-+l+
676×associate-*r/
646×associate-+l-
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01381483
13531307
214571139
359411139
Stop Event
node limit
Counts
79 → 97
Calls
Call 1
Inputs
1
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) 1)
(*.f32 -1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) 1)
(*.f32 -1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) 1)
1
(+.f32 1 ux)
(+.f32 (pow.f32 ux 2) (+.f32 1 ux))
(+.f32 (pow.f32 ux 2) (+.f32 1 (+.f32 ux (pow.f32 ux 3))))
(/.f32 -1 ux)
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux)))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux))))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (+.f32 (/.f32 1 (pow.f32 ux 4)) (/.f32 1 ux)))))
(/.f32 -1 ux)
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux)))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux))))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (+.f32 (/.f32 1 (pow.f32 ux 4)) (/.f32 1 ux)))))
(+.f32 1 (neg.f32 ux))
(+.f32 1 (*.f32 (neg.f32 ux) 1))
(+.f32 (neg.f32 ux) 1)
(-.f32 1 ux)
(-.f32 1 (/.f32 ux 1))
(-.f32 (+.f32 1 (-.f32 1 ux)) 1)
(-.f32 (/.f32 1 (+.f32 1 ux)) (/.f32 (*.f32 ux ux) (+.f32 1 ux)))
(-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(*.f32 1 (-.f32 1 ux))
(*.f32 (-.f32 1 ux) 1)
(*.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 1 ux)))
(*.f32 (cbrt.f32 (-.f32 1 ux)) (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2))
(*.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (cbrt.f32 (-.f32 1 ux)))
(*.f32 (-.f32 1 (*.f32 ux ux)) (/.f32 1 (+.f32 1 ux)))
(*.f32 (-.f32 1 (pow.f32 ux 3)) (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))))
(*.f32 -1 (neg.f32 (-.f32 1 ux)))
(*.f32 (pow.f32 (pow.f32 (-.f32 1 ux) -1/2) -1) (pow.f32 (pow.f32 (-.f32 1 ux) -1/2) -1))
(*.f32 (pow.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (-.f32 1 ux))) -1))
(pow.f32 (-.f32 1 ux) 1)
(pow.f32 (/.f32 1 (-.f32 1 ux)) -1)
(pow.f32 (sqrt.f32 (-.f32 1 ux)) 2)
(pow.f32 (cbrt.f32 (-.f32 1 ux)) 3)
(pow.f32 (pow.f32 (-.f32 1 ux) 3) 1/3)
(sqrt.f32 (pow.f32 (-.f32 1 ux) 2))
(log.f32 (exp.f32 (-.f32 1 ux)))
(cbrt.f32 (pow.f32 (-.f32 1 ux) 3))
(expm1.f32 (log1p.f32 (-.f32 1 ux)))
(exp.f32 (log1p.f32 (neg.f32 ux)))
(exp.f32 (*.f32 (log1p.f32 (neg.f32 ux)) 1))
(exp.f32 (*.f32 (neg.f32 (log1p.f32 (neg.f32 ux))) -1))
(log1p.f32 (expm1.f32 (-.f32 1 ux)))
(-.f32 (+.f32 1 (/.f32 1 (-.f32 1 ux))) 1)
(*.f32 1 (/.f32 1 (-.f32 1 ux)))
(*.f32 (/.f32 1 (-.f32 1 ux)) 1)
(*.f32 (pow.f32 (-.f32 1 ux) -1/2) (pow.f32 (-.f32 1 ux) -1/2))
(*.f32 (/.f32 1 (cbrt.f32 (-.f32 1 ux))) (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)))
(*.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) (/.f32 1 (cbrt.f32 (-.f32 1 ux))))
(*.f32 -1 (/.f32 -1 (-.f32 1 ux)))
(*.f32 (/.f32 1 (-.f32 1 (*.f32 ux ux))) (+.f32 1 ux))
(*.f32 (/.f32 1 (-.f32 1 (pow.f32 ux 3))) (+.f32 1 (fma.f32 ux ux ux)))
(*.f32 (pow.f32 (sqrt.f32 (-.f32 1 ux)) -1) (pow.f32 (sqrt.f32 (-.f32 1 ux)) -1))
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) -1) (pow.f32 (cbrt.f32 (-.f32 1 ux)) -1))
(pow.f32 (-.f32 1 ux) -1)
(pow.f32 (/.f32 1 (-.f32 1 ux)) 1)
(pow.f32 (pow.f32 (-.f32 1 ux) -1/2) 2)
(pow.f32 (/.f32 1 (cbrt.f32 (-.f32 1 ux))) 3)
(pow.f32 (pow.f32 (/.f32 1 (-.f32 1 ux)) 3) 1/3)
(sqrt.f32 (pow.f32 (-.f32 1 ux) -2))
(log.f32 (exp.f32 (/.f32 1 (-.f32 1 ux))))
(cbrt.f32 (pow.f32 (/.f32 1 (-.f32 1 ux)) 3))
(expm1.f32 (log1p.f32 (/.f32 1 (-.f32 1 ux))))
(exp.f32 (neg.f32 (log1p.f32 (neg.f32 ux))))
(exp.f32 (*.f32 (log1p.f32 (neg.f32 ux)) -1))
(exp.f32 (*.f32 (neg.f32 (log1p.f32 (neg.f32 ux))) 1))
(log1p.f32 (expm1.f32 (/.f32 1 (-.f32 1 ux))))
Outputs
1
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
1
(+.f32 1 ux)
(+.f32 (pow.f32 ux 2) (+.f32 1 ux))
(+.f32 (+.f32 1 ux) (*.f32 ux ux))
(+.f32 1 (fma.f32 ux ux ux))
(fma.f32 ux ux (+.f32 1 ux))
(+.f32 (pow.f32 ux 2) (+.f32 1 (+.f32 ux (pow.f32 ux 3))))
(+.f32 (*.f32 ux ux) (+.f32 (+.f32 1 ux) (pow.f32 ux 3)))
(+.f32 (+.f32 ux (pow.f32 ux 3)) (fma.f32 ux ux 1))
(fma.f32 (fma.f32 ux ux 1) ux (fma.f32 ux ux 1))
(/.f32 -1 ux)
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux)))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 ux)))
(+.f32 (/.f32 -1 (*.f32 ux ux)) (/.f32 -1 ux))
(+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux))))
(neg.f32 (+.f32 (+.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 ux)) (/.f32 1 (pow.f32 ux 3))))
(+.f32 (+.f32 (/.f32 -1 (*.f32 ux ux)) (/.f32 -1 ux)) (/.f32 -1 (pow.f32 ux 3)))
(+.f32 (+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux)) (/.f32 -1 (pow.f32 ux 3)))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (+.f32 (/.f32 1 (pow.f32 ux 4)) (/.f32 1 ux)))))
(neg.f32 (+.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (*.f32 ux ux))) (+.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 4)))))
(-.f32 (/.f32 -1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (*.f32 ux ux)) (+.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 4)))))
(+.f32 (/.f32 -1 (pow.f32 ux 3)) (-.f32 (+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux)) (/.f32 1 (pow.f32 ux 4))))
(+.f32 (+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux)) (-.f32 (/.f32 -1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4))))
(/.f32 -1 ux)
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux)))
(neg.f32 (+.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 ux)))
(+.f32 (/.f32 -1 (*.f32 ux ux)) (/.f32 -1 ux))
(+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 ux))))
(neg.f32 (+.f32 (+.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 ux)) (/.f32 1 (pow.f32 ux 3))))
(+.f32 (+.f32 (/.f32 -1 (*.f32 ux ux)) (/.f32 -1 ux)) (/.f32 -1 (pow.f32 ux 3)))
(+.f32 (+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux)) (/.f32 -1 (pow.f32 ux 3)))
(neg.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (+.f32 (/.f32 1 (pow.f32 ux 4)) (/.f32 1 ux)))))
(neg.f32 (+.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 (*.f32 ux ux))) (+.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 4)))))
(-.f32 (/.f32 -1 (pow.f32 ux 3)) (+.f32 (/.f32 1 (*.f32 ux ux)) (+.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 4)))))
(+.f32 (/.f32 -1 (pow.f32 ux 3)) (-.f32 (+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux)) (/.f32 1 (pow.f32 ux 4))))
(+.f32 (+.f32 (/.f32 (/.f32 -1 ux) ux) (/.f32 -1 ux)) (-.f32 (/.f32 -1 (pow.f32 ux 3)) (/.f32 1 (pow.f32 ux 4))))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 1 (*.f32 (neg.f32 ux) 1))
(-.f32 1 ux)
(+.f32 (neg.f32 ux) 1)
(-.f32 1 ux)
(-.f32 1 ux)
(-.f32 1 (/.f32 ux 1))
(-.f32 1 ux)
(-.f32 (+.f32 1 (-.f32 1 ux)) 1)
(-.f32 1 ux)
(-.f32 (/.f32 1 (+.f32 1 ux)) (/.f32 (*.f32 ux ux) (+.f32 1 ux)))
(-.f32 (/.f32 1 (+.f32 1 ux)) (/.f32 ux (/.f32 (+.f32 1 ux) ux)))
(-.f32 (/.f32 1 (+.f32 1 ux)) (*.f32 (/.f32 ux (+.f32 1 ux)) ux))
(/.f32 (-.f32 1 (*.f32 ux ux)) (+.f32 1 ux))
(-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(/.f32 (-.f32 1 (pow.f32 ux 3)) (fma.f32 ux ux (+.f32 1 ux)))
(*.f32 1 (-.f32 1 ux))
(-.f32 1 ux)
(*.f32 (-.f32 1 ux) 1)
(-.f32 1 ux)
(*.f32 (sqrt.f32 (-.f32 1 ux)) (sqrt.f32 (-.f32 1 ux)))
(-.f32 1 ux)
(*.f32 (cbrt.f32 (-.f32 1 ux)) (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2))
(-.f32 1 ux)
(*.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) (cbrt.f32 (-.f32 1 ux)))
(-.f32 1 ux)
(*.f32 (-.f32 1 (*.f32 ux ux)) (/.f32 1 (+.f32 1 ux)))
(-.f32 (/.f32 1 (+.f32 1 ux)) (/.f32 ux (/.f32 (+.f32 1 ux) ux)))
(-.f32 (/.f32 1 (+.f32 1 ux)) (*.f32 (/.f32 ux (+.f32 1 ux)) ux))
(/.f32 (-.f32 1 (*.f32 ux ux)) (+.f32 1 ux))
(*.f32 (-.f32 1 (pow.f32 ux 3)) (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))))
(-.f32 (/.f32 1 (+.f32 1 (fma.f32 ux ux ux))) (/.f32 (pow.f32 ux 3) (+.f32 1 (fma.f32 ux ux ux))))
(/.f32 (-.f32 1 (pow.f32 ux 3)) (fma.f32 ux ux (+.f32 1 ux)))
(*.f32 -1 (neg.f32 (-.f32 1 ux)))
(-.f32 1 ux)
(*.f32 (pow.f32 (pow.f32 (-.f32 1 ux) -1/2) -1) (pow.f32 (pow.f32 (-.f32 1 ux) -1/2) -1))
(-.f32 1 ux)
(*.f32 (pow.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) -1) (pow.f32 (/.f32 1 (cbrt.f32 (-.f32 1 ux))) -1))
(*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2))) (/.f32 1 (/.f32 1 (cbrt.f32 (-.f32 1 ux)))))
(/.f32 (cbrt.f32 (-.f32 1 ux)) (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)))
(pow.f32 (-.f32 1 ux) 1)
(-.f32 1 ux)
(pow.f32 (/.f32 1 (-.f32 1 ux)) -1)
(-.f32 1 ux)
(pow.f32 (sqrt.f32 (-.f32 1 ux)) 2)
(-.f32 1 ux)
(pow.f32 (cbrt.f32 (-.f32 1 ux)) 3)
(-.f32 1 ux)
(pow.f32 (pow.f32 (-.f32 1 ux) 3) 1/3)
(-.f32 1 ux)
(sqrt.f32 (pow.f32 (-.f32 1 ux) 2))
(-.f32 1 ux)
(log.f32 (exp.f32 (-.f32 1 ux)))
(-.f32 1 ux)
(cbrt.f32 (pow.f32 (-.f32 1 ux) 3))
(-.f32 1 ux)
(expm1.f32 (log1p.f32 (-.f32 1 ux)))
(-.f32 1 ux)
(exp.f32 (log1p.f32 (neg.f32 ux)))
(exp.f32 (*.f32 (log1p.f32 (neg.f32 ux)) 1))
(exp.f32 (log1p.f32 (neg.f32 ux)))
(exp.f32 (*.f32 (neg.f32 (log1p.f32 (neg.f32 ux))) -1))
(exp.f32 (log1p.f32 (neg.f32 ux)))
(log1p.f32 (expm1.f32 (-.f32 1 ux)))
(-.f32 1 ux)
(-.f32 (+.f32 1 (/.f32 1 (-.f32 1 ux))) 1)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(*.f32 1 (/.f32 1 (-.f32 1 ux)))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(*.f32 (/.f32 1 (-.f32 1 ux)) 1)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(*.f32 (pow.f32 (-.f32 1 ux) -1/2) (pow.f32 (-.f32 1 ux) -1/2))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(*.f32 (/.f32 1 (cbrt.f32 (-.f32 1 ux))) (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)))
(*.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) (/.f32 1 (cbrt.f32 (-.f32 1 ux))))
(/.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) (cbrt.f32 (-.f32 1 ux)))
(*.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) (/.f32 1 (cbrt.f32 (-.f32 1 ux))))
(/.f32 (cbrt.f32 (pow.f32 (-.f32 1 ux) -2)) (cbrt.f32 (-.f32 1 ux)))
(*.f32 -1 (/.f32 -1 (-.f32 1 ux)))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(*.f32 (/.f32 1 (-.f32 1 (*.f32 ux ux))) (+.f32 1 ux))
(*.f32 (+.f32 1 ux) (/.f32 1 (-.f32 1 (*.f32 ux ux))))
(/.f32 (+.f32 1 ux) (-.f32 1 (*.f32 ux ux)))
(*.f32 (/.f32 1 (-.f32 1 (pow.f32 ux 3))) (+.f32 1 (fma.f32 ux ux ux)))
(*.f32 (+.f32 1 (fma.f32 ux ux ux)) (/.f32 1 (-.f32 1 (pow.f32 ux 3))))
(/.f32 (+.f32 1 (fma.f32 ux ux ux)) (-.f32 1 (pow.f32 ux 3)))
(/.f32 (fma.f32 ux ux (+.f32 1 ux)) (-.f32 1 (pow.f32 ux 3)))
(*.f32 (pow.f32 (sqrt.f32 (-.f32 1 ux)) -1) (pow.f32 (sqrt.f32 (-.f32 1 ux)) -1))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (-.f32 1 ux)) 2) -1) (pow.f32 (cbrt.f32 (-.f32 1 ux)) -1))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(pow.f32 (-.f32 1 ux) -1)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(pow.f32 (/.f32 1 (-.f32 1 ux)) 1)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(pow.f32 (pow.f32 (-.f32 1 ux) -1/2) 2)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(pow.f32 (/.f32 1 (cbrt.f32 (-.f32 1 ux))) 3)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(pow.f32 (pow.f32 (/.f32 1 (-.f32 1 ux)) 3) 1/3)
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(sqrt.f32 (pow.f32 (-.f32 1 ux) -2))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(log.f32 (exp.f32 (/.f32 1 (-.f32 1 ux))))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(cbrt.f32 (pow.f32 (/.f32 1 (-.f32 1 ux)) 3))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(expm1.f32 (log1p.f32 (/.f32 1 (-.f32 1 ux))))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))
(exp.f32 (neg.f32 (log1p.f32 (neg.f32 ux))))
(exp.f32 (*.f32 (log1p.f32 (neg.f32 ux)) -1))
(exp.f32 (neg.f32 (log1p.f32 (neg.f32 ux))))
(exp.f32 (*.f32 (neg.f32 (log1p.f32 (neg.f32 ux))) 1))
(exp.f32 (neg.f32 (log1p.f32 (neg.f32 ux))))
(log1p.f32 (expm1.f32 (/.f32 1 (-.f32 1 ux))))
(+.f32 1 (-.f32 (/.f32 1 (-.f32 1 ux)) 1))
(+.f32 (/.f32 1 (-.f32 1 ux)) 0)
(/.f32 1 (-.f32 1 ux))

eval21.0ms (0.8%)

Compiler

Compiled 1021 to 778 computations (23.8% saved)

prune16.0ms (0.6%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New96197
Fresh011
Picked011
Done033
Total966102
Error
0%
Counts
102 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
1.98%
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
11.8%
(/.f32 1 (+.f32 1 ux))
0.04%
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.99%
(-.f32 1 ux)
0.02%
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
24.21%
1
Compiler

Compiled 48 to 40 computations (16.7% saved)

localize13.0ms (0.5%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.1%
(/.f32 1 (+.f32 1 ux))
Compiler

Compiled 13 to 10 computations (23.1% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
ux
@0
(/.f32 1 (+.f32 1 ux))
0.0ms
ux
@inf
(/.f32 1 (+.f32 1 ux))
0.0ms
ux
@-inf
(/.f32 1 (+.f32 1 ux))

rewrite99.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
1276×add-sqr-sqrt
1256×*-un-lft-identity
1178×add-cube-cbrt
1168×add-cbrt-cube
1156×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (2%)

Algorithm
egg-herbie
Rules
1578×associate-/r*
1042×fma-def
604×associate-*r*
588×distribute-lft-in
572×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085928
1224782
2680680
32818674
Stop Event
node limit
Counts
34 → 57
Calls
Call 1
Inputs
1
(+.f32 (*.f32 -1 ux) 1)
(+.f32 (*.f32 -1 ux) (+.f32 (pow.f32 ux 2) 1))
(+.f32 (*.f32 -1 ux) (+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 (pow.f32 ux 3)))))
(/.f32 1 ux)
(-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (/.f32 1 (pow.f32 ux 2)))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 (pow.f32 ux 4))))
(/.f32 1 ux)
(-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (/.f32 1 (pow.f32 ux 2)))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 (pow.f32 ux 4))))
(-.f32 (+.f32 1 (/.f32 1 (+.f32 1 ux))) 1)
(*.f32 1 (/.f32 1 (+.f32 1 ux)))
(*.f32 (/.f32 1 (+.f32 1 ux)) 1)
(*.f32 (pow.f32 (+.f32 1 ux) -1/2) (pow.f32 (+.f32 1 ux) -1/2))
(*.f32 (/.f32 1 (cbrt.f32 (+.f32 1 ux))) (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)))
(*.f32 (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)) (/.f32 1 (cbrt.f32 (+.f32 1 ux))))
(*.f32 -1 (/.f32 1 (+.f32 -1 (neg.f32 ux))))
(*.f32 (/.f32 1 (-.f32 1 (*.f32 ux ux))) (-.f32 1 ux))
(*.f32 (/.f32 1 (+.f32 1 (pow.f32 ux 3))) (+.f32 1 (fma.f32 ux ux (neg.f32 ux))))
(*.f32 (pow.f32 (sqrt.f32 (+.f32 1 ux)) -1) (pow.f32 (sqrt.f32 (+.f32 1 ux)) -1))
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (+.f32 1 ux)) 2) -1) (pow.f32 (cbrt.f32 (+.f32 1 ux)) -1))
(pow.f32 (+.f32 1 ux) -1)
(pow.f32 (/.f32 1 (+.f32 1 ux)) 1)
(pow.f32 (pow.f32 (+.f32 1 ux) -1/2) 2)
(pow.f32 (/.f32 1 (cbrt.f32 (+.f32 1 ux))) 3)
(pow.f32 (pow.f32 (/.f32 1 (+.f32 1 ux)) 3) 1/3)
(sqrt.f32 (pow.f32 (+.f32 1 ux) -2))
(log.f32 (exp.f32 (/.f32 1 (+.f32 1 ux))))
(cbrt.f32 (pow.f32 (/.f32 1 (+.f32 1 ux)) 3))
(expm1.f32 (log1p.f32 (/.f32 1 (+.f32 1 ux))))
(exp.f32 (neg.f32 (log1p.f32 ux)))
(log1p.f32 (expm1.f32 (/.f32 1 (+.f32 1 ux))))
Outputs
1
(+.f32 (*.f32 -1 ux) 1)
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) (+.f32 (pow.f32 ux 2) 1))
(fma.f32 -1 ux (+.f32 1 (*.f32 ux ux)))
(-.f32 (fma.f32 ux ux 1) ux)
(fma.f32 ux ux (-.f32 1 ux))
(+.f32 (*.f32 -1 ux) (+.f32 (pow.f32 ux 2) (+.f32 1 (*.f32 -1 (pow.f32 ux 3)))))
(fma.f32 -1 ux (+.f32 (+.f32 1 (*.f32 ux ux)) (neg.f32 (pow.f32 ux 3))))
(-.f32 (-.f32 (fma.f32 ux ux 1) (pow.f32 ux 3)) ux)
(-.f32 (fma.f32 ux ux 1) (+.f32 (pow.f32 ux 3) ux))
(*.f32 (-.f32 1 ux) (fma.f32 ux ux 1))
(/.f32 1 ux)
(-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))
(-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux)))
(-.f32 (/.f32 1 ux) (/.f32 (/.f32 1 ux) ux))
(+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux)))
(+.f32 (/.f32 1 ux) (/.f32 (/.f32 -1 ux) ux))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (/.f32 1 (pow.f32 ux 2)))
(+.f32 (/.f32 1 (pow.f32 ux 3)) (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))))
(+.f32 (/.f32 1 ux) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 -1 (*.f32 ux ux))))
(+.f32 (+.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 3))) (/.f32 -1 (*.f32 ux ux)))
(+.f32 (/.f32 1 ux) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 (/.f32 -1 ux) ux)))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 (pow.f32 ux 4))))
(+.f32 (/.f32 1 (pow.f32 ux 3)) (-.f32 (/.f32 1 ux) (+.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 4)))))
(+.f32 (/.f32 1 (pow.f32 ux 3)) (-.f32 (/.f32 1 ux) (+.f32 (/.f32 (/.f32 1 ux) ux) (/.f32 1 (pow.f32 ux 4)))))
(+.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 -1 (pow.f32 ux 4))))
(+.f32 (+.f32 (/.f32 1 ux) (/.f32 (/.f32 -1 ux) ux)) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 -1 (pow.f32 ux 4))))
(/.f32 1 ux)
(-.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 2)))
(-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux)))
(-.f32 (/.f32 1 ux) (/.f32 (/.f32 1 ux) ux))
(+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux)))
(+.f32 (/.f32 1 ux) (/.f32 (/.f32 -1 ux) ux))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (/.f32 1 (pow.f32 ux 2)))
(+.f32 (/.f32 1 (pow.f32 ux 3)) (-.f32 (/.f32 1 ux) (/.f32 1 (*.f32 ux ux))))
(+.f32 (/.f32 1 ux) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 -1 (*.f32 ux ux))))
(+.f32 (+.f32 (/.f32 1 ux) (/.f32 1 (pow.f32 ux 3))) (/.f32 -1 (*.f32 ux ux)))
(+.f32 (/.f32 1 ux) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 (/.f32 -1 ux) ux)))
(-.f32 (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 1 ux)) (+.f32 (/.f32 1 (pow.f32 ux 2)) (/.f32 1 (pow.f32 ux 4))))
(+.f32 (/.f32 1 (pow.f32 ux 3)) (-.f32 (/.f32 1 ux) (+.f32 (/.f32 1 (*.f32 ux ux)) (/.f32 1 (pow.f32 ux 4)))))
(+.f32 (/.f32 1 (pow.f32 ux 3)) (-.f32 (/.f32 1 ux) (+.f32 (/.f32 (/.f32 1 ux) ux) (/.f32 1 (pow.f32 ux 4)))))
(+.f32 (+.f32 (/.f32 1 ux) (/.f32 -1 (*.f32 ux ux))) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 -1 (pow.f32 ux 4))))
(+.f32 (+.f32 (/.f32 1 ux) (/.f32 (/.f32 -1 ux) ux)) (+.f32 (/.f32 1 (pow.f32 ux 3)) (/.f32 -1 (pow.f32 ux 4))))
(-.f32 (+.f32 1 (/.f32 1 (+.f32 1 ux))) 1)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(*.f32 1 (/.f32 1 (+.f32 1 ux)))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(*.f32 (/.f32 1 (+.f32 1 ux)) 1)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(*.f32 (pow.f32 (+.f32 1 ux) -1/2) (pow.f32 (+.f32 1 ux) -1/2))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(*.f32 (/.f32 1 (cbrt.f32 (+.f32 1 ux))) (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)))
(/.f32 (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)) (cbrt.f32 (+.f32 1 ux)))
(*.f32 (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)) (/.f32 1 (cbrt.f32 (+.f32 1 ux))))
(*.f32 (/.f32 1 (cbrt.f32 (+.f32 1 ux))) (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)))
(/.f32 (cbrt.f32 (pow.f32 (+.f32 1 ux) -2)) (cbrt.f32 (+.f32 1 ux)))
(*.f32 -1 (/.f32 1 (+.f32 -1 (neg.f32 ux))))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(*.f32 (/.f32 1 (-.f32 1 (*.f32 ux ux))) (-.f32 1 ux))
(/.f32 (-.f32 1 ux) (-.f32 1 (*.f32 ux ux)))
(*.f32 (/.f32 1 (+.f32 1 (pow.f32 ux 3))) (+.f32 1 (fma.f32 ux ux (neg.f32 ux))))
(/.f32 (-.f32 (fma.f32 ux ux 1) ux) (+.f32 1 (pow.f32 ux 3)))
(/.f32 (fma.f32 ux ux (-.f32 1 ux)) (+.f32 1 (pow.f32 ux 3)))
(*.f32 (pow.f32 (sqrt.f32 (+.f32 1 ux)) -1) (pow.f32 (sqrt.f32 (+.f32 1 ux)) -1))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(*.f32 (pow.f32 (pow.f32 (cbrt.f32 (+.f32 1 ux)) 2) -1) (pow.f32 (cbrt.f32 (+.f32 1 ux)) -1))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(pow.f32 (+.f32 1 ux) -1)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(pow.f32 (/.f32 1 (+.f32 1 ux)) 1)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(pow.f32 (pow.f32 (+.f32 1 ux) -1/2) 2)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(pow.f32 (/.f32 1 (cbrt.f32 (+.f32 1 ux))) 3)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(pow.f32 (pow.f32 (/.f32 1 (+.f32 1 ux)) 3) 1/3)
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(sqrt.f32 (pow.f32 (+.f32 1 ux) -2))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(log.f32 (exp.f32 (/.f32 1 (+.f32 1 ux))))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(cbrt.f32 (pow.f32 (/.f32 1 (+.f32 1 ux)) 3))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(expm1.f32 (log1p.f32 (/.f32 1 (+.f32 1 ux))))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))
(exp.f32 (neg.f32 (log1p.f32 ux)))
(log1p.f32 (expm1.f32 (/.f32 1 (+.f32 1 ux))))
(+.f32 1 (-.f32 (/.f32 1 (+.f32 1 ux)) 1))
(+.f32 (/.f32 1 (+.f32 1 ux)) 0)
(/.f32 1 (+.f32 1 ux))

eval12.0ms (0.5%)

Compiler

Compiled 587 to 439 computations (25.2% saved)

prune10.0ms (0.4%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New57057
Fresh011
Picked011
Done044
Total57663
Error
0%
Counts
63 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
1.98%
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
11.8%
(/.f32 1 (+.f32 1 ux))
0.04%
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.99%
(-.f32 1 ux)
0.02%
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
24.21%
1
Compiler

Compiled 48 to 40 computations (16.7% saved)

regimes21.0ms (0.8%)

Counts
7 → 1
Calls
Call 1
Inputs
1
(-.f32 1 ux)
(/.f32 1 (+.f32 1 ux))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Calls

4 calls:

6.0ms
uy
4.0ms
maxCos
4.0ms
ux
4.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Results
ErrorSegmentsBranch
0.02%1ux
0.02%1uy
0.02%1maxCos
0.02%1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 65 to 48 computations (26.2% saved)

regimes12.0ms (0.4%)

Accuracy

Total -7.4b remaining (-2338.2%)

Threshold costs -7.4b (-2338.2%)

Counts
3 → 1
Calls
Call 1
Inputs
1
(-.f32 1 ux)
(/.f32 1 (+.f32 1 ux))
Outputs
(-.f32 1 ux)
Calls

3 calls:

4.0ms
ux
3.0ms
uy
3.0ms
maxCos
Results
ErrorSegmentsBranch
0.99%1ux
0.99%1uy
0.99%1maxCos
Compiler

Compiled 24 to 19 computations (20.8% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative
sub-neg
*-commutative
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0827
11527
21927
32127
42227
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 ux)
1
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 ux)
1
Compiler

Compiled 20 to 16 computations (20% saved)

soundness0.0ms (0%)

end15.0ms (0.6%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

Profiling

Loading profile data...