Details

Time bar (total: 2.9s)

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 (45.9%)

Results
1.3s8256×body256valid
Bogosity

preprocess77.0ms (2.7%)

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)

simplify32.0ms (1.1%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0.0b
Counts
4 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 (fma.f32 ux maxCos 1) ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 19 to 13 computations (31.6% saved)

localize18.0ms (0.6%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 10 computations (47.4% saved)

series3.0ms (0.1%)

Counts
2 → 48
Calls

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

rewrite73.0ms (2.5%)

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

simplify91.0ms (3.2%)

Algorithm
egg-herbie
Rules
1038×associate-+l+
996×associate-+r+
792×+-commutative
602×associate-/r/
522×associate-/l/
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03086255
18955611
244335611
Stop Event
node limit
Counts
157 → 193
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(-.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))
(-.f32 (exp.f32 (log1p.f32 (*.f32 ux maxCos))) 1)
(pow.f32 (*.f32 ux maxCos) 1)
(pow.f32 (sqrt.f32 (*.f32 ux maxCos)) 2)
(pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 3)
(pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 1/3)
(sqrt.f32 (pow.f32 (*.f32 ux maxCos) 2))
(log.f32 (pow.f32 (exp.f32 maxCos) ux))
(log.f32 (+.f32 1 (expm1.f32 (*.f32 ux maxCos))))
(cbrt.f32 (pow.f32 (*.f32 ux maxCos) 3))
(expm1.f32 (log1p.f32 (*.f32 ux maxCos)))
(exp.f32 (log.f32 (*.f32 ux maxCos)))
(log1p.f32 (expm1.f32 (*.f32 ux maxCos)))
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 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(-.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 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 (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 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) (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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2)) (fma.f32 ux (*.f32 maxCos (fma.f32 (+.f32 maxCos -1) 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) 2) (pow.f32 (*.f32 maxCos ux) 2)) (fma.f32 ux (*.f32 maxCos (-.f32 (fma.f32 maxCos ux 1) ux)) (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) 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)) (fma.f32 (-.f32 1 ux) (pow.f32 (-.f32 1 ux) 3) (neg.f32 (*.f32 (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (+.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 (+.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 (*.f32 maxCos 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 (fma.f32 maxCos ux (+.f32 ux -1)) (*.f32 (pow.f32 (*.f32 maxCos ux) 2) (fma.f32 maxCos ux (+.f32 ux -1)))))) (-.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 (*.f32 maxCos ux) (fma.f32 maxCos ux (+.f32 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 (*.f32 maxCos 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 (*.f32 maxCos ux) (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2))) (pow.f32 (-.f32 1 ux) 4)))
(/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (/.f32 (+.f32 (pow.f32 (*.f32 (*.f32 maxCos ux) (fma.f32 maxCos ux (+.f32 ux -1))) 3) (pow.f32 (-.f32 1 ux) 6)) (fma.f32 (*.f32 (*.f32 maxCos ux) (fma.f32 maxCos ux (+.f32 ux -1))) (-.f32 (*.f32 (*.f32 maxCos ux) (fma.f32 maxCos ux (+.f32 ux -1))) (pow.f32 (-.f32 1 ux) 2)) (pow.f32 (-.f32 1 ux) 4))))
(/.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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (fma.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 maxCos ux -1))) (pow.f32 (-.f32 1 ux) 2))))
(*.f32 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (/.f32 (hypot.f32 (pow.f32 (*.f32 maxCos ux) 3/2) (pow.f32 (-.f32 1 ux) 3/2)) (fma.f32 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (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 (-.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 (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 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (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 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 (-.f32 1 maxCos) (*.f32 ux (-.f32 1 maxCos))))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))) (fma.f32 ux (-.f32 1 maxCos) 1))
(/.f32 (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) ux) (-.f32 1 maxCos))) (-.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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 (-.f32 1 maxCos) (-.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 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))))
(*.f32 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 1 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 (-.f32 1 maxCos) (*.f32 ux (-.f32 1 maxCos))))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))) (fma.f32 ux (-.f32 1 maxCos) 1))
(/.f32 (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) ux) (-.f32 1 maxCos))) (-.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 ux (*.f32 (-.f32 1 maxCos) (-.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 (fma.f32 maxCos ux (-.f32 1 ux))) (/.f32 (sqrt.f32 (+.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 (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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (fma.f32 (+.f32 maxCos -1) ux 1)) (sqrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(*.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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (cbrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (pow.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) 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 ux (*.f32 (-.f32 1 maxCos) (*.f32 ux (-.f32 1 maxCos))))) (+.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(/.f32 (-.f32 1 (*.f32 (-.f32 1 maxCos) (*.f32 (-.f32 1 maxCos) (*.f32 ux ux)))) (fma.f32 ux (-.f32 1 maxCos) 1))
(/.f32 (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 maxCos ux) ux) ux) (-.f32 1 maxCos))) (-.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 ux (*.f32 (-.f32 1 maxCos) (-.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 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))))
(*.f32 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 1 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (fma.f32 maxCos ux (-.f32 1 ux))) (/.f32 (sqrt.f32 (+.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 (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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (fma.f32 (+.f32 maxCos -1) ux 1)) (sqrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (sqrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))))
(*.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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (cbrt.f32 (-.f32 (pow.f32 (-.f32 1 ux) 2) (pow.f32 (*.f32 maxCos ux) 2))) (cbrt.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))))) (pow.f32 (cbrt.f32 (fma.f32 (+.f32 maxCos -1) ux 1)) 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 1 ux)) (sqrt.f32 (*.f32 maxCos 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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 (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3))) (neg.f32 (+.f32 (pow.f32 (-.f32 1 ux) 2) (*.f32 ux (*.f32 maxCos (+.f32 ux (fma.f32 ux maxCos -1)))))))
(*.f32 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 1 (/.f32 (+.f32 (pow.f32 (-.f32 1 ux) 3) (pow.f32 (*.f32 maxCos ux) 3)) (fma.f32 ux (*.f32 maxCos (fma.f32 maxCos ux (+.f32 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)
(-.f32 (exp.f32 (log1p.f32 (*.f32 ux maxCos))) 1)
(*.f32 maxCos ux)
(pow.f32 (*.f32 ux maxCos) 1)
(*.f32 maxCos ux)
(pow.f32 (sqrt.f32 (*.f32 ux maxCos)) 2)
(*.f32 maxCos ux)
(pow.f32 (cbrt.f32 (*.f32 ux maxCos)) 3)
(*.f32 maxCos ux)
(pow.f32 (pow.f32 (*.f32 ux maxCos) 3) 1/3)
(*.f32 maxCos ux)
(sqrt.f32 (pow.f32 (*.f32 ux maxCos) 2))
(sqrt.f32 (pow.f32 (*.f32 maxCos ux) 2))
(fabs.f32 (*.f32 maxCos ux))
(log.f32 (pow.f32 (exp.f32 maxCos) ux))
(*.f32 maxCos ux)
(log.f32 (+.f32 1 (expm1.f32 (*.f32 ux maxCos))))
(*.f32 maxCos ux)
(cbrt.f32 (pow.f32 (*.f32 ux maxCos) 3))
(*.f32 maxCos ux)
(expm1.f32 (log1p.f32 (*.f32 ux maxCos)))
(*.f32 maxCos ux)
(exp.f32 (log.f32 (*.f32 ux maxCos)))
(*.f32 maxCos ux)
(log1p.f32 (expm1.f32 (*.f32 ux maxCos)))
(*.f32 maxCos ux)

localize15.0ms (0.5%)

Local error

Found 1 expressions with local error:

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

Compiled 16 to 9 computations (43.8% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite59.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1730×add-sqr-sqrt
1714×*-un-lft-identity
1594×add-cube-cbrt
1576×add-cbrt-cube
168×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify65.0ms (2.3%)

Algorithm
egg-herbie
Rules
1156×associate-+l-
1078×associate-+r-
832×associate--l+
826×fma-def
756×+-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01171633
13101369
213051369
354491369
Stop Event
node limit
Counts
63 → 57
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 (fma.f32 ux maxCos 1) (neg.f32 ux))
(+.f32 (fma.f32 ux maxCos 1) (*.f32 (neg.f32 ux) 1))
(+.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (fma.f32 (neg.f32 ux) 1 ux))
(+.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (fma.f32 (neg.f32 (sqrt.f32 ux)) (sqrt.f32 ux) ux))
(+.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (fma.f32 (neg.f32 (cbrt.f32 ux)) (pow.f32 (cbrt.f32 ux) 2) ux))
(+.f32 (neg.f32 ux) (fma.f32 ux maxCos 1))
(+.f32 (*.f32 ux maxCos) (+.f32 1 (neg.f32 ux)))
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(*.f32 1 (-.f32 (fma.f32 ux maxCos 1) ux))
(*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 1)
(*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(*.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2))
(*.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(*.f32 (+.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 ux)) (-.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 ux)))
(/.f32 1 (/.f32 (+.f32 ux (fma.f32 ux maxCos 1)) (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux))))
(/.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3))))
(/.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 ux maxCos 1)))
(/.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1)))))
(/.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 (neg.f32 ux) (neg.f32 ux))) (-.f32 (fma.f32 ux maxCos 1) (neg.f32 ux)))
(/.f32 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 (neg.f32 ux) 3)) (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (-.f32 (*.f32 (neg.f32 ux) (neg.f32 ux)) (*.f32 (fma.f32 ux maxCos 1) (neg.f32 ux)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux))) (neg.f32 (+.f32 ux (fma.f32 ux maxCos 1))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3))) (neg.f32 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 1)
(pow.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2)
(pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 3)
(pow.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 3) 1/3)
(sqrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))
(log.f32 (exp.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(log.f32 (+.f32 1 (expm1.f32 (-.f32 (fma.f32 ux maxCos 1) ux))))
(cbrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 3))
(expm1.f32 (log1p.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(exp.f32 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(exp.f32 (*.f32 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1))
(log1p.f32 (expm1.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(fma.f32 1 (fma.f32 ux maxCos 1) (neg.f32 ux))
(fma.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 (fma.f32 ux maxCos 1)) (neg.f32 ux))
(fma.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos 1)) 2) (cbrt.f32 (fma.f32 ux maxCos 1)) (neg.f32 ux))
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(fma.f32 maxCos ux (neg.f32 ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(fma.f32 maxCos ux (neg.f32 ux))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (fma.f32 ux maxCos 1) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (fma.f32 ux maxCos 1) (*.f32 (neg.f32 ux) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (fma.f32 (neg.f32 ux) 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (fma.f32 (neg.f32 (sqrt.f32 ux)) (sqrt.f32 ux) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (-.f32 (fma.f32 ux maxCos 1) ux) (fma.f32 (neg.f32 (cbrt.f32 ux)) (pow.f32 (cbrt.f32 ux) 2) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (neg.f32 ux) (fma.f32 ux maxCos 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (*.f32 ux maxCos) (+.f32 1 (neg.f32 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 1 (-.f32 (fma.f32 ux maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2) (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 maxCos ux 1)))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux (+.f32 ux (fma.f32 maxCos ux 1)) (pow.f32 (fma.f32 maxCos ux 1) 2)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux ux (*.f32 (fma.f32 maxCos ux 1) (+.f32 ux (fma.f32 maxCos ux 1)))))
(*.f32 (+.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 ux)) (-.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 ux)))
(*.f32 (+.f32 (sqrt.f32 ux) (sqrt.f32 (fma.f32 ux maxCos 1))) (-.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 ux)))
(*.f32 (+.f32 (sqrt.f32 ux) (sqrt.f32 (fma.f32 maxCos ux 1))) (-.f32 (sqrt.f32 (fma.f32 maxCos ux 1)) (sqrt.f32 ux)))
(/.f32 1 (/.f32 (+.f32 ux (fma.f32 ux maxCos 1)) (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 maxCos ux 1)))
(/.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1)))) (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux (+.f32 ux (fma.f32 maxCos ux 1)) (pow.f32 (fma.f32 maxCos ux 1) 2)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux ux (*.f32 (fma.f32 maxCos ux 1) (+.f32 ux (fma.f32 maxCos ux 1)))))
(/.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 ux maxCos 1)))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 maxCos ux 1)))
(/.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1)))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux (+.f32 ux (fma.f32 maxCos ux 1)) (pow.f32 (fma.f32 maxCos ux 1) 2)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux ux (*.f32 (fma.f32 maxCos ux 1) (+.f32 ux (fma.f32 maxCos ux 1)))))
(/.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 (neg.f32 ux) (neg.f32 ux))) (-.f32 (fma.f32 ux maxCos 1) (neg.f32 ux)))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 maxCos ux 1)))
(/.f32 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 (neg.f32 ux) 3)) (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (-.f32 (*.f32 (neg.f32 ux) (neg.f32 ux)) (*.f32 (fma.f32 ux maxCos 1) (neg.f32 ux)))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux (+.f32 ux (fma.f32 maxCos ux 1)) (pow.f32 (fma.f32 maxCos ux 1) 2)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux ux (*.f32 (fma.f32 maxCos ux 1) (+.f32 ux (fma.f32 maxCos ux 1)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux))) (neg.f32 (+.f32 ux (fma.f32 ux maxCos 1))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux ux)) (/.f32 1 (+.f32 ux (fma.f32 ux maxCos 1))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 2) (*.f32 ux ux)) (+.f32 ux (fma.f32 maxCos ux 1)))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3))) (neg.f32 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(*.f32 (-.f32 (pow.f32 (fma.f32 ux maxCos 1) 3) (pow.f32 ux 3)) (/.f32 1 (+.f32 (pow.f32 (fma.f32 ux maxCos 1) 2) (*.f32 ux (+.f32 ux (fma.f32 ux maxCos 1))))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux (+.f32 ux (fma.f32 maxCos ux 1)) (pow.f32 (fma.f32 maxCos ux 1) 2)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux 1) 3) (pow.f32 ux 3)) (fma.f32 ux ux (*.f32 (fma.f32 maxCos ux 1) (+.f32 ux (fma.f32 maxCos ux 1)))))
(pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (sqrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (cbrt.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(pow.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 3) 1/3)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(sqrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(log.f32 (exp.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(log.f32 (+.f32 1 (expm1.f32 (-.f32 (fma.f32 ux maxCos 1) ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(cbrt.f32 (pow.f32 (-.f32 (fma.f32 ux maxCos 1) ux) 3))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(expm1.f32 (log1p.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(exp.f32 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(exp.f32 (*.f32 (log.f32 (-.f32 (fma.f32 ux maxCos 1) ux)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(log1p.f32 (expm1.f32 (-.f32 (fma.f32 ux maxCos 1) ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 1 (fma.f32 ux maxCos 1) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (sqrt.f32 (fma.f32 ux maxCos 1)) (sqrt.f32 (fma.f32 ux maxCos 1)) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)
(fma.f32 (pow.f32 (cbrt.f32 (fma.f32 ux maxCos 1)) 2) (cbrt.f32 (fma.f32 ux maxCos 1)) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(fma.f32 maxCos ux (-.f32 1 ux))
(-.f32 (fma.f32 maxCos ux 1) ux)

eval93.0ms (3.2%)

Compiler

Compiled 5802 to 3652 computations (37.1% saved)

prune39.0ms (1.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2464250
Fresh000
Picked101
Done011
Total2475252
Error
0b
Counts
252 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.6b
1
Compiler

Compiled 43 to 34 computations (20.9% saved)

localize7.0ms (0.2%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize20.0ms (0.7%)

Local error

Found 2 expressions with local error:

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

rewrite64.0ms (2.2%)

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

simplify69.0ms (2.4%)

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)

localize30.0ms (1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f32 ux maxCos (-.f32 1 ux))
0.2b
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))
0.4b
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
Compiler

Compiled 33 to 21 computations (36.4% saved)

series3.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
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)))
0.0ms
maxCos
@-inf
(/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux)))

rewrite68.0ms (2.4%)

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

simplify77.0ms (2.7%)

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)

eval78.0ms (2.7%)

Compiler

Compiled 4333 to 3011 computations (30.5% saved)

prune38.0ms (1.3%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2431244
Fresh011
Picked101
Done033
Total2445249
Error
0b
Counts
249 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.6b
1
Compiler

Compiled 40 to 33 computations (17.5% saved)

localize19.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f32 1 (-.f32 1 ux))
0.4b
(/.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)))

rewrite56.0ms (1.9%)

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

simplify67.0ms (2.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))

eval45.0ms (1.5%)

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
0b
Counts
102 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
5.3b
(/.f32 1 (+.f32 1 ux))
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.6b
1
Compiler

Compiled 48 to 40 computations (16.7% saved)

localize13.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.4b
(/.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))

rewrite75.0ms (2.6%)

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

simplify55.0ms (1.9%)

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.4%)

Compiler

Compiled 587 to 439 computations (25.2% saved)

prune52.0ms (1.8%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New57057
Fresh011
Picked011
Done044
Total57663
Error
0b
Counts
63 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(/.f32 1 (/.f32 1 (-.f32 1 ux)))
5.3b
(/.f32 1 (+.f32 1 ux))
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.6b
1
Compiler

Compiled 48 to 40 computations (16.7% saved)

regimes24.0ms (0.8%)

Counts
8 → 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 (fma.f32 ux maxCos 1) ux)
(/.f32 1 (/.f32 1 (fma.f32 ux maxCos (-.f32 1 ux))))
Outputs
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
Calls

4 calls:

7.0ms
uy
5.0ms
ux
5.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
5.0ms
maxCos
Results
ErrorSegmentsBranch
0.0b1ux
0.0b1uy
0.0b1maxCos
0.0b1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 71 to 51 computations (28.2% saved)

regimes16.0ms (0.6%)

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

4 calls:

4.0ms
uy
4.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
4.0ms
ux
4.0ms
maxCos
Results
ErrorSegmentsBranch
0.0b1ux
0.0b1uy
0.0b1maxCos
0.0b1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 41 to 30 computations (26.8% saved)

regimes54.0ms (1.9%)

Accuracy

Total -9.1b remaining (-1588.2%)

Threshold costs -9.1b (-1588.2%)

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

3 calls:

47.0ms
ux
3.0ms
uy
3.0ms
maxCos
Results
ErrorSegmentsBranch
0.6b1ux
0.6b1uy
0.6b1maxCos
Compiler

Compiled 24 to 19 computations (20.8% saved)

simplify9.0ms (0.3%)

Algorithm
egg-herbie
Rules
64×distribute-lft-neg-in
34×distribute-rgt-neg-in
26×*-commutative
24×+-commutative
22×distribute-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
12546
24046
35246
46946
57746
68346
79346
811246
912146
1013346
1114746
1214946
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 ux)
1
Outputs
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 ux)
1
Compiler

Compiled 30 to 24 computations (20% saved)

soundness0.0ms (0%)

end19.0ms (0.6%)

Compiler

Compiled 21 to 15 computations (28.6% saved)

Profiling

Loading profile data...