Details

Time bar (total: 10.0s)

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)

sample4.3s (42.9%)

Results
4.3s8256×body256valid
Bogosity

preprocess342.0ms (3.4%)

Algorithm
egg-herbie
Rules
1168×rational_best-simplify-57
1030×rational_best-simplify-3
822×rational_best-simplify-1
788×rational_best-simplify-51
568×rational_best-simplify-108
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
13276
24376
37276
413176
521576
637576
782376
8237476
9740376
033
Stop Event
saturated
node limit
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))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos))
(+.f32 (-.f32 1 uy) (*.f32 maxCos uy))
(+.f32 1 (-.f32 (*.f32 maxCos uy) uy))
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))
(+.f32 (-.f32 1 maxCos) (*.f32 ux maxCos))
(+.f32 1 (-.f32 (*.f32 ux maxCos) maxCos))
(+.f32 (-.f32 1 ux) (*.f32 ux uy))
(+.f32 1 (-.f32 (*.f32 ux uy) ux))
(+.f32 1 (*.f32 ux (+.f32 uy -1)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify248.0ms (2.5%)

Algorithm
egg-herbie
Rules
1702×rational_best-simplify-83
1160×rational_best-simplify-67
1058×rational_best-simplify-56
962×rational_best-simplify-66
916×rational_best-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11319
21819
33019
44919
57919
613019
728019
878219
9295919
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 ux maxCos) ux))

eval1.0ms (0%)

Compiler

Compiled 31 to 18 computations (41.9% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 20 to 14 computations (30% saved)

localize99.0ms (1%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 10 computations (47.4% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite273.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
892×rational_best-simplify-48
878×rational_best-simplify-52
798×rational_best-simplify-57
796×rational_best-simplify-51
554×rational_best-simplify-67
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15419
211219
333119
4132119
Stop Event
node limit
Counts
1 → 104
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (*.f32 ux (-.f32 1 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux (+.f32 ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) (*.f32 ux (+.f32 maxCos maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) (/.f32 (+.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) (*.f32 ux (neg.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux (+.f32 ux -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (*.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) (-.f32 -1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 2 (+.f32 ux ux)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 2 (+.f32 ux ux)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 2 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 ux maxCos)) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (+.f32 maxCos maxCos))) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1/2 (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1/2 (+.f32 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos)) (*.f32 ux 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1/2 (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 ux (-.f32 -1 (*.f32 ux maxCos)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (*.f32 -3 (+.f32 1/2 (/.f32 ux -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux (neg.f32 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1/2 (/.f32 ux -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (+.f32 maxCos maxCos))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 ux (/.f32 (*.f32 ux maxCos) -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (/.f32 (*.f32 ux maxCos) -2) (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 -1 (/.f32 (*.f32 ux maxCos) -2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux maxCos) 2) (/.f32 (-.f32 ux (+.f32 (-.f32 2 ux) (*.f32 ux maxCos))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (+.f32 ux (+.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (-.f32 maxCos 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) 2)) (/.f32 (*.f32 ux maxCos) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 ux -2))) (-.f32 -1/2 (/.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (*.f32 ux maxCos) 2)) (+.f32 ux (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 3 (+.f32 1/2 (/.f32 ux -2))) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 -1/2 (/.f32 ux -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux -2) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 ux -2) (-.f32 (*.f32 ux 1/2) (+.f32 1 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (*.f32 ux 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (-.f32 maxCos 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) (/.f32 (*.f32 -3 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 (*.f32 ux 1/2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) ux) (+.f32 -1 (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (*.f32 (*.f32 ux maxCos) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1))))) (/.f32 (*.f32 ux maxCos) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 1 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (neg.f32 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (*.f32 -3 (+.f32 1/2 (/.f32 ux -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 ux -2) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 3 (+.f32 1/2 (/.f32 ux -2))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 -1/2 (/.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 2 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 (*.f32 ux 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) (/.f32 (*.f32 ux maxCos) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 ux maxCos) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1/2 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (-.f32 -1/2 (/.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (*.f32 ux 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1/2 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos))) (*.f32 ux 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 3) 2) 2) (/.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 3) 4) (/.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (-.f32 1 ux) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 (*.f32 -3 (+.f32 1/2 (/.f32 ux -2))) (/.f32 (*.f32 ux maxCos) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (-.f32 2 ux) (*.f32 ux maxCos)) 2) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (+.f32 (-.f32 2 ux) (*.f32 ux maxCos)) (*.f32 ux maxCos)) 2) (*.f32 ux 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 1 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (-.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2) (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (+.f32 1 (*.f32 ux maxCos)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 ux (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (*.f32 ux 1/2) -1)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 ux maxCos) 2))) (-.f32 (/.f32 (*.f32 ux maxCos) 2) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 2 (*.f32 maxCos 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 ux (*.f32 2 (*.f32 maxCos 4))) (*.f32 (-.f32 2 (+.f32 ux ux)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (-.f32 1 ux) 4) (neg.f32 (*.f32 ux (*.f32 maxCos 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (neg.f32 (*.f32 (-.f32 1 ux) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))))))

simplify316.0ms (3.2%)

Algorithm
egg-herbie
Rules
1540×rational_best-simplify-57
1206×rational_best-simplify-3
1064×rational_best-simplify-52
1018×rational_best-simplify-48
814×rational_best-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03004526
18824390
225174026
Stop Event
node limit
Counts
128 → 213
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(-.f32 1 (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux (+.f32 ux -1))))
(-.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))
(-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) (*.f32 ux (+.f32 maxCos maxCos))))
(-.f32 (-.f32 1 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux -1)))
(-.f32 (*.f32 ux maxCos) (+.f32 ux -1))
(-.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))))
(-.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) 0))
(-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2)))
(-.f32 (*.f32 ux maxCos) (/.f32 (+.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) 2))
(-.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 0)
(-.f32 0 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))
(-.f32 0 (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) (*.f32 ux (neg.f32 maxCos))))
(-.f32 0 (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux (+.f32 ux -2))))
(-.f32 0 (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (*.f32 (*.f32 ux maxCos) -2)))
(-.f32 (neg.f32 ux) (-.f32 -1 (*.f32 ux maxCos)))
(-.f32 (neg.f32 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux -2)))
(-.f32 (-.f32 2 (+.f32 ux ux)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))
(-.f32 (-.f32 2 (+.f32 ux ux)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) 0))
(-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))
(-.f32 (-.f32 2 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) ux))
(-.f32 (+.f32 1 (*.f32 ux maxCos)) ux)
(-.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (+.f32 maxCos maxCos))) (*.f32 ux maxCos))
(-.f32 1/2 (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(-.f32 1/2 (+.f32 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos)) (*.f32 ux 1/2)))
(-.f32 1/2 (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 ux (-.f32 -1 (*.f32 ux maxCos)))) 2))
(-.f32 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (*.f32 -3 (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux (neg.f32 maxCos))))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (+.f32 maxCos maxCos))) 2))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 ux (/.f32 (*.f32 ux maxCos) -2)) -1))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (/.f32 (*.f32 ux maxCos) -2) (+.f32 ux -1)))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 -1 (/.f32 (*.f32 ux maxCos) -2)) ux))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (/.f32 (-.f32 ux (+.f32 (-.f32 2 ux) (*.f32 ux maxCos))) 2))
(-.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (+.f32 ux (+.f32 ux -2)))
(-.f32 (*.f32 ux (-.f32 maxCos 1)) -1)
(-.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2))
(-.f32 (+.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) 2)) (/.f32 (*.f32 ux maxCos) -2))
(-.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 ux -2))) (-.f32 -1/2 (/.f32 ux -2)))
(-.f32 (+.f32 1 (/.f32 (*.f32 ux maxCos) 2)) (+.f32 ux (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (*.f32 3 (+.f32 1/2 (/.f32 ux -2))) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 -1/2 (/.f32 ux -2))))
(-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) -2))
(-.f32 (/.f32 ux -2) (-.f32 (*.f32 ux 1/2) (+.f32 1 (*.f32 ux maxCos))))
(-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (*.f32 ux 1/2)))
(-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (-.f32 maxCos 1))) 2))
(-.f32 (/.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) (/.f32 (*.f32 -3 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2))
(-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 (*.f32 ux 1/2) 3/2)))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) ux) (+.f32 -1 (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (*.f32 (*.f32 ux maxCos) -2))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1))))) (/.f32 (*.f32 ux maxCos) -2))
(-.f32 (-.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux (+.f32 ux -1)))
(-.f32 (-.f32 (-.f32 1 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux -1))
(-.f32 (-.f32 (neg.f32 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux -2))
(-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (*.f32 -3 (+.f32 1/2 (/.f32 ux -2))))
(-.f32 (-.f32 (*.f32 ux -2) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) -2)
(-.f32 (-.f32 (*.f32 3 (+.f32 1/2 (/.f32 ux -2))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 -1/2 (/.f32 ux -2)))
(-.f32 (-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2))))
(-.f32 (-.f32 (-.f32 2 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) ux)
(-.f32 (-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 (*.f32 ux 1/2) 3/2))
(-.f32 (-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) (/.f32 (*.f32 ux maxCos) -2))
(-.f32 (-.f32 (*.f32 ux maxCos) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2))
(-.f32 (-.f32 1/2 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (-.f32 -1/2 (/.f32 ux -2)))
(-.f32 (-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (*.f32 ux 1/2))
(-.f32 (-.f32 1/2 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos))) (*.f32 ux 1/2))
(-.f32 (/.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 3) 2) 2) (/.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) 2))
(-.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 3) 4) (/.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) 4))
(-.f32 (/.f32 (+.f32 (-.f32 1 ux) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2)) 2))
(-.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 (*.f32 -3 (+.f32 1/2 (/.f32 ux -2))) (/.f32 (*.f32 ux maxCos) -2)) 2))
(-.f32 (/.f32 (+.f32 (-.f32 2 ux) (*.f32 ux maxCos)) 2) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(-.f32 (/.f32 (+.f32 (+.f32 (-.f32 2 ux) (*.f32 ux maxCos)) (*.f32 ux maxCos)) 2) (*.f32 ux 1/2))
(-.f32 (/.f32 (+.f32 1 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) 2))
(-.f32 (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (-.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2) (-.f32 1 ux)) 2))
(-.f32 (/.f32 (+.f32 (+.f32 1 (*.f32 ux maxCos)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 ux (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) 2))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (*.f32 ux 1/2) -1)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(-.f32 (-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 ux maxCos) 2))) (-.f32 (/.f32 (*.f32 ux maxCos) 2) (*.f32 ux maxCos)))
(*.f32 1 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))))
(*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)
(*.f32 -1 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))
(*.f32 2 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1/2))
(*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2))
(*.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) -1)
(*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4))
(*.f32 (*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 4) 1/8)
(/.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 2)
(/.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) -1)
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) 4)
(/.f32 (*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 4) 8)
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) -2) -2)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 2 (*.f32 maxCos 4)))) 8)
(/.f32 (+.f32 (*.f32 ux (*.f32 2 (*.f32 maxCos 4))) (*.f32 (-.f32 2 (+.f32 ux ux)) 4)) 8)
(/.f32 (-.f32 (*.f32 (-.f32 1 ux) 4) (neg.f32 (*.f32 ux (*.f32 maxCos 4)))) 4)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (neg.f32 (*.f32 (-.f32 1 ux) 4))) 4)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 2)
(pow.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)
(neg.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))
Outputs
1
(+.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 maxCos -1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.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 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 (+.f32 1 (neg.f32 maxCos)) (neg.f32 ux))
(*.f32 (-.f32 1 maxCos) (neg.f32 ux))
(*.f32 ux (-.f32 -1 (neg.f32 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 1 (neg.f32 maxCos)) (neg.f32 ux)))
(+.f32 1 (*.f32 (-.f32 1 maxCos) (neg.f32 ux)))
(+.f32 1 (*.f32 ux (-.f32 -1 (neg.f32 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 1 (neg.f32 maxCos)) (neg.f32 ux)))
(+.f32 1 (*.f32 (-.f32 1 maxCos) (neg.f32 ux)))
(+.f32 1 (*.f32 ux (-.f32 -1 (neg.f32 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 1 (neg.f32 maxCos)) (neg.f32 ux)))
(+.f32 1 (*.f32 (-.f32 1 maxCos) (neg.f32 ux)))
(+.f32 1 (*.f32 ux (-.f32 -1 (neg.f32 maxCos))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(-.f32 1 (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux (+.f32 ux -1))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) (*.f32 ux (+.f32 maxCos maxCos))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 1 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux -1)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (*.f32 ux maxCos) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (*.f32 ux maxCos) (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (*.f32 ux maxCos) (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) 0))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2)))
(-.f32 (-.f32 (*.f32 maxCos ux) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2))
(-.f32 (*.f32 maxCos ux) (+.f32 -1/2 (+.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2) (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2))))
(+.f32 1/2 (-.f32 (*.f32 maxCos ux) (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 -1 (*.f32 ux (+.f32 maxCos 1)))) 2)))
(-.f32 (*.f32 ux maxCos) (/.f32 (+.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) 2))
(-.f32 (*.f32 maxCos ux) (/.f32 (+.f32 (+.f32 ux -1) (+.f32 (*.f32 maxCos ux) (+.f32 ux (-.f32 -1 (*.f32 maxCos ux))))) 2))
(-.f32 (*.f32 maxCos ux) (/.f32 (+.f32 ux (+.f32 (-.f32 -1 (*.f32 maxCos ux)) (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))))) 2))
(-.f32 (*.f32 maxCos ux) (/.f32 (+.f32 (+.f32 ux -1) (-.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (+.f32 ux -1)))) 2))
(-.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 0)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 0 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 0 (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) (*.f32 ux (neg.f32 maxCos))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 0 (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux (+.f32 ux -2))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 0 (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (*.f32 (*.f32 ux maxCos) -2)))
(neg.f32 (+.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) (*.f32 (*.f32 maxCos ux) -2)))
(neg.f32 (+.f32 (*.f32 maxCos ux) (+.f32 (+.f32 ux -1) (*.f32 maxCos (*.f32 ux -2)))))
(-.f32 (-.f32 1 (*.f32 ux (*.f32 maxCos -2))) (*.f32 ux (+.f32 maxCos 1)))
(-.f32 (neg.f32 ux) (-.f32 -1 (*.f32 ux maxCos)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (neg.f32 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (+.f32 ux -2)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 2 (+.f32 ux ux)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 2 (+.f32 ux ux)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) 0))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 2 ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 ux maxCos)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (+.f32 maxCos maxCos))) (*.f32 ux maxCos))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 1/2 (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(+.f32 1 (neg.f32 (/.f32 (*.f32 (-.f32 1 maxCos) (+.f32 ux ux)) 2)))
(-.f32 1/2 (+.f32 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos)) (*.f32 ux 1/2)))
(-.f32 1/2 (+.f32 (-.f32 -1/2 (+.f32 (*.f32 maxCos ux) (/.f32 ux -2))) (*.f32 ux 1/2)))
(-.f32 (*.f32 maxCos ux) (+.f32 (*.f32 ux 1/2) (-.f32 -1 (/.f32 ux -2))))
(+.f32 (-.f32 (/.f32 ux -2) (*.f32 ux (-.f32 1/2 maxCos))) 1)
(-.f32 1/2 (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 ux (-.f32 -1 (*.f32 ux maxCos)))) 2))
(-.f32 1/2 (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 ux (-.f32 -1 (*.f32 maxCos ux)))) 2))
(-.f32 1/2 (/.f32 (-.f32 (*.f32 ux (-.f32 1 maxCos)) (-.f32 (*.f32 maxCos ux) (+.f32 ux -1))) 2))
(-.f32 1/2 (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (-.f32 maxCos (-.f32 1 maxCos)))) 2))
(-.f32 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(-.f32 (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (*.f32 -3 (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3)))
(-.f32 (-.f32 (+.f32 ux (*.f32 maxCos ux)) (+.f32 1/2 (neg.f32 (/.f32 ux -2)))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3))
(+.f32 (*.f32 maxCos ux) (-.f32 (-.f32 ux (+.f32 1/2 (/.f32 ux 2))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux (neg.f32 maxCos))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (+.f32 maxCos maxCos))) 2))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 maxCos (+.f32 ux ux))) 2))
(-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) (+.f32 (-.f32 (/.f32 ux 2) 1) (/.f32 ux 2)))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 ux (/.f32 (*.f32 maxCos ux) -2))) 1)
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) ux) (/.f32 (*.f32 maxCos ux) -2)) 1)
(+.f32 1 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) ux))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1)))) (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 (-.f32 (*.f32 maxCos ux) (+.f32 1 (*.f32 (+.f32 maxCos -1) ux))) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) (+.f32 (/.f32 (*.f32 maxCos ux) -2) (*.f32 1 (/.f32 (*.f32 maxCos ux) 2))))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) (*.f32 ux (-.f32 maxCos (+.f32 maxCos -1)))) 1)
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 ux (/.f32 (*.f32 ux maxCos) -2)) -1))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 ux (/.f32 (*.f32 maxCos ux) -2))) 1)
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) ux) (/.f32 (*.f32 maxCos ux) -2)) 1)
(+.f32 1 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) ux))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (/.f32 (*.f32 ux maxCos) -2) (+.f32 ux -1)))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 ux (/.f32 (*.f32 maxCos ux) -2))) 1)
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) ux) (/.f32 (*.f32 maxCos ux) -2)) 1)
(+.f32 1 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) ux))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (+.f32 -1 (/.f32 (*.f32 ux maxCos) -2)) ux))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 ux (/.f32 (*.f32 maxCos ux) -2))) 1)
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) ux) (/.f32 (*.f32 maxCos ux) -2)) 1)
(+.f32 1 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) ux))
(-.f32 (/.f32 (*.f32 ux maxCos) 2) (/.f32 (-.f32 ux (+.f32 (-.f32 2 ux) (*.f32 ux maxCos))) 2))
(/.f32 (-.f32 (*.f32 maxCos ux) (-.f32 ux (+.f32 (*.f32 maxCos ux) (-.f32 2 ux)))) 2)
(/.f32 (+.f32 (*.f32 maxCos (+.f32 ux ux)) (neg.f32 (-.f32 ux (-.f32 2 ux)))) 2)
(-.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (+.f32 ux (+.f32 ux -2)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (*.f32 ux (-.f32 maxCos 1)) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2))
(-.f32 (+.f32 (*.f32 maxCos ux) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2))
(-.f32 (+.f32 (*.f32 maxCos ux) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (+.f32 -1/2 (/.f32 (*.f32 ux (+.f32 maxCos 1)) 2)))
(-.f32 (+.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) 2)) (/.f32 (*.f32 ux maxCos) -2))
(-.f32 (+.f32 (-.f32 1 ux) (/.f32 (*.f32 maxCos ux) 2)) (/.f32 (*.f32 maxCos ux) -2))
(-.f32 (+.f32 (-.f32 1 ux) (/.f32 (*.f32 maxCos ux) 2)) (*.f32 (*.f32 maxCos ux) -1/2))
(-.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 ux -2))) (-.f32 -1/2 (/.f32 ux -2)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (+.f32 1 (/.f32 (*.f32 ux maxCos) 2)) (+.f32 ux (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 ux (/.f32 (*.f32 maxCos ux) -2))) 1)
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) ux) (/.f32 (*.f32 maxCos ux) -2)) 1)
(+.f32 1 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) ux))
(-.f32 (*.f32 3 (+.f32 1/2 (/.f32 ux -2))) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 -1/2 (/.f32 ux -2))))
(-.f32 (*.f32 (+.f32 1/2 (/.f32 ux -2)) 3) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (-.f32 -1/2 (/.f32 ux -2))))
(+.f32 (-.f32 (*.f32 (+.f32 1/2 (/.f32 ux -2)) 3) (-.f32 -1/2 (/.f32 ux -2))) (-.f32 (+.f32 ux (*.f32 maxCos ux)) 1))
(-.f32 (/.f32 ux -2) (-.f32 (-.f32 1 (+.f32 (*.f32 maxCos ux) (-.f32 ux -1/2))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) 3)))
(-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (+.f32 ux (*.f32 maxCos ux)) (+.f32 (+.f32 (-.f32 ux (/.f32 ux -2)) -1/2) (-.f32 (*.f32 ux 1/2) 1/2)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (*.f32 ux (-.f32 1/2 maxCos)) 1/2))
(-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) (/.f32 (*.f32 ux maxCos) -2)))
(-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (-.f32 (/.f32 (*.f32 maxCos (*.f32 ux 3)) 2) (+.f32 -1 (+.f32 ux (*.f32 maxCos ux)))) (/.f32 (*.f32 maxCos ux) -2))
(+.f32 (-.f32 1 ux) (-.f32 (/.f32 (*.f32 maxCos (*.f32 ux 3)) 2) (+.f32 (*.f32 maxCos ux) (*.f32 (*.f32 maxCos ux) -1/2))))
(-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) -2))
(+.f32 (-.f32 (+.f32 ux (*.f32 maxCos ux)) (-.f32 1 (*.f32 ux -2))) 2)
(-.f32 (+.f32 ux (*.f32 maxCos ux)) (-.f32 1 (-.f32 (*.f32 ux -2) -2)))
(-.f32 (*.f32 ux -2) (-.f32 1 (-.f32 (*.f32 ux (+.f32 maxCos 1)) -2)))
(-.f32 (/.f32 ux -2) (-.f32 (*.f32 ux 1/2) (+.f32 1 (*.f32 ux maxCos))))
(-.f32 1/2 (+.f32 (-.f32 -1/2 (+.f32 (*.f32 maxCos ux) (/.f32 ux -2))) (*.f32 ux 1/2)))
(-.f32 (*.f32 maxCos ux) (+.f32 (*.f32 ux 1/2) (-.f32 -1 (/.f32 ux -2))))
(+.f32 (-.f32 (/.f32 ux -2) (*.f32 ux (-.f32 1/2 maxCos))) 1)
(-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (+.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) (*.f32 ux 1/2)))
(-.f32 (-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 maxCos ux) -2)) (*.f32 ux 1/2))
(-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (+.f32 (*.f32 ux 1/2) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (/.f32 (*.f32 ux (-.f32 maxCos (-.f32 1 maxCos))) 2) (+.f32 -1 (*.f32 ux 1/2)))
(-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (-.f32 maxCos 1))) 2))
(-.f32 1/2 (+.f32 (/.f32 (-.f32 (+.f32 ux -1) (*.f32 (+.f32 maxCos -1) ux)) 2) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 1/2 (+.f32 (/.f32 (*.f32 maxCos ux) -2) (/.f32 (-.f32 ux (+.f32 1 (*.f32 (+.f32 maxCos -1) ux))) 2)))
(+.f32 (/.f32 (*.f32 maxCos ux) 2) (-.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2) (-.f32 (/.f32 ux 2) 1)))
(-.f32 (/.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) (/.f32 (*.f32 -3 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2))
(-.f32 (+.f32 1/4 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 4)) (/.f32 (*.f32 (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2)) -3) 2))
(/.f32 (-.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) (*.f32 (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2)) -6)) 4)
(/.f32 (-.f32 (*.f32 (+.f32 maxCos -1) ux) (+.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) -3) -1)) 4)
(-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) ux) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 (*.f32 ux 1/2) 3/2)))
(-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (+.f32 ux (*.f32 maxCos ux)) (+.f32 (+.f32 (-.f32 ux (/.f32 ux -2)) -1/2) (-.f32 (*.f32 ux 1/2) 1/2)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (*.f32 ux (-.f32 1/2 maxCos)) 1/2))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) ux) (+.f32 -1 (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 ux (/.f32 (*.f32 maxCos ux) -2))) 1)
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 maxCos ux) 2) ux) (/.f32 (*.f32 maxCos ux) -2)) 1)
(+.f32 1 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) ux))
(-.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (*.f32 (*.f32 ux maxCos) -2))
(neg.f32 (+.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) (*.f32 (*.f32 maxCos ux) -2)))
(neg.f32 (+.f32 (*.f32 maxCos ux) (+.f32 (+.f32 ux -1) (*.f32 maxCos (*.f32 ux -2)))))
(-.f32 (-.f32 1 (*.f32 ux (*.f32 maxCos -2))) (*.f32 ux (+.f32 maxCos 1)))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (-.f32 (*.f32 ux maxCos) (+.f32 1 (*.f32 ux (-.f32 maxCos 1))))) (/.f32 (*.f32 ux maxCos) -2))
(-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 (-.f32 (*.f32 maxCos ux) (+.f32 1 (*.f32 (+.f32 maxCos -1) ux))) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) (+.f32 (/.f32 (*.f32 maxCos ux) -2) (*.f32 1 (/.f32 (*.f32 maxCos ux) 2))))
(+.f32 (-.f32 (/.f32 (*.f32 maxCos (+.f32 ux ux)) 2) (*.f32 ux (-.f32 maxCos (+.f32 maxCos -1)))) 1)
(-.f32 (-.f32 1 (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux (+.f32 ux -1)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 (-.f32 1 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux -1))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 (neg.f32 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (+.f32 ux -2))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (*.f32 -3 (+.f32 1/2 (/.f32 ux -2))))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3)))
(-.f32 (-.f32 (+.f32 ux (*.f32 maxCos ux)) (+.f32 1/2 (neg.f32 (/.f32 ux -2)))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3))
(+.f32 (*.f32 maxCos ux) (-.f32 (-.f32 ux (+.f32 1/2 (/.f32 ux 2))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3)))
(-.f32 (-.f32 (*.f32 ux -2) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) -2)
(+.f32 (-.f32 (+.f32 ux (*.f32 maxCos ux)) (-.f32 1 (*.f32 ux -2))) 2)
(-.f32 (+.f32 ux (*.f32 maxCos ux)) (-.f32 1 (-.f32 (*.f32 ux -2) -2)))
(-.f32 (*.f32 ux -2) (-.f32 1 (-.f32 (*.f32 ux (+.f32 maxCos 1)) -2)))
(-.f32 (-.f32 (*.f32 3 (+.f32 1/2 (/.f32 ux -2))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 -1/2 (/.f32 ux -2)))
(-.f32 (*.f32 (+.f32 1/2 (/.f32 ux -2)) 3) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (-.f32 -1/2 (/.f32 ux -2))))
(+.f32 (-.f32 (*.f32 (+.f32 1/2 (/.f32 ux -2)) 3) (-.f32 -1/2 (/.f32 ux -2))) (-.f32 (+.f32 ux (*.f32 maxCos ux)) 1))
(-.f32 (/.f32 ux -2) (-.f32 (-.f32 1 (+.f32 (*.f32 maxCos ux) (-.f32 ux -1/2))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) 3)))
(-.f32 (-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2))))
(-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (+.f32 ux (*.f32 maxCos ux)) (+.f32 (+.f32 (-.f32 ux (/.f32 ux -2)) -1/2) (-.f32 (*.f32 ux 1/2) 1/2)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (*.f32 ux (-.f32 1/2 maxCos)) 1/2))
(-.f32 (-.f32 (-.f32 2 ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(-.f32 (-.f32 (-.f32 (+.f32 1/2 (/.f32 ux -2)) ux) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))) (-.f32 (*.f32 ux 1/2) 3/2))
(-.f32 (-.f32 3/2 (*.f32 ux 1/2)) (+.f32 (-.f32 1 (+.f32 ux (*.f32 maxCos ux))) (-.f32 ux (+.f32 1/2 (/.f32 ux -2)))))
(-.f32 (+.f32 ux (*.f32 maxCos ux)) (+.f32 (+.f32 (-.f32 ux (/.f32 ux -2)) -1/2) (-.f32 (*.f32 ux 1/2) 1/2)))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (-.f32 (*.f32 ux (-.f32 1/2 maxCos)) 1/2))
(-.f32 (-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) (/.f32 (*.f32 ux maxCos) -2))
(-.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (+.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (-.f32 (/.f32 (*.f32 maxCos (*.f32 ux 3)) 2) (+.f32 -1 (+.f32 ux (*.f32 maxCos ux)))) (/.f32 (*.f32 maxCos ux) -2))
(+.f32 (-.f32 1 ux) (-.f32 (/.f32 (*.f32 maxCos (*.f32 ux 3)) 2) (+.f32 (*.f32 maxCos ux) (*.f32 (*.f32 maxCos ux) -1/2))))
(-.f32 (-.f32 (*.f32 ux maxCos) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2))
(-.f32 (-.f32 (*.f32 maxCos ux) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2))
(-.f32 (*.f32 maxCos ux) (+.f32 -1/2 (+.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2) (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2))))
(+.f32 1/2 (-.f32 (*.f32 maxCos ux) (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 -1 (*.f32 ux (+.f32 maxCos 1)))) 2)))
(-.f32 (-.f32 1/2 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(+.f32 1 (neg.f32 (/.f32 (*.f32 (-.f32 1 maxCos) (+.f32 ux ux)) 2)))
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (-.f32 -1/2 (/.f32 ux -2)))
(-.f32 (/.f32 (*.f32 maxCos ux) 2) (+.f32 (-.f32 -1/2 (/.f32 ux -2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))))
(-.f32 (/.f32 ux -2) (-.f32 -1/2 (+.f32 (/.f32 (-.f32 (*.f32 maxCos ux) (*.f32 ux (-.f32 1 maxCos))) 2) 1/2)))
(+.f32 (/.f32 (*.f32 ux (-.f32 maxCos (-.f32 1 maxCos))) 2) (neg.f32 (+.f32 -1 (/.f32 ux 2))))
(-.f32 (-.f32 (-.f32 1/2 (/.f32 (*.f32 ux maxCos) -2)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (*.f32 ux 1/2))
(-.f32 (-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 maxCos ux) -2)) (*.f32 ux 1/2))
(-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (+.f32 (*.f32 ux 1/2) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (/.f32 (*.f32 ux (-.f32 maxCos (-.f32 1 maxCos))) 2) (+.f32 -1 (*.f32 ux 1/2)))
(-.f32 (-.f32 1/2 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (*.f32 ux maxCos))) (*.f32 ux 1/2))
(-.f32 1/2 (+.f32 (-.f32 -1/2 (+.f32 (*.f32 maxCos ux) (/.f32 ux -2))) (*.f32 ux 1/2)))
(-.f32 (*.f32 maxCos ux) (+.f32 (*.f32 ux 1/2) (-.f32 -1 (/.f32 ux -2))))
(+.f32 (-.f32 (/.f32 ux -2) (*.f32 ux (-.f32 1/2 maxCos))) 1)
(-.f32 (/.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 3) 2) 2) (/.f32 (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)) 2))
(-.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) 3) 4) (+.f32 -1/4 (/.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2) 2)))
(-.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) 3) 4) (+.f32 -1/4 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 4)))
(+.f32 (/.f32 (/.f32 (-.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) 3) (*.f32 ux (-.f32 1 maxCos))) 2) 2) 1/4)
(-.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 3) 4) (/.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) 4))
(/.f32 (-.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) 3) (+.f32 ux (-.f32 -1 (*.f32 maxCos ux)))) 4)
(/.f32 (+.f32 (+.f32 1 (*.f32 maxCos ux)) (-.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) 3) ux)) 4)
(-.f32 (/.f32 (+.f32 (-.f32 1 ux) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (-.f32 (-.f32 -1/2 (/.f32 ux -2)) (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2)) 2))
(/.f32 (-.f32 (+.f32 (-.f32 1 ux) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (-.f32 -1/2 (+.f32 (/.f32 (*.f32 ux (*.f32 maxCos 3)) 2) (/.f32 ux -2)))) 2)
(/.f32 (-.f32 (/.f32 ux -2) (-.f32 (-.f32 -1/2 (/.f32 (*.f32 maxCos (*.f32 ux 3)) 2)) (+.f32 (-.f32 1 ux) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))))) 2)
(-.f32 (/.f32 ux -4) (/.f32 (-.f32 (+.f32 -1 (neg.f32 (+.f32 (-.f32 1 ux) (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2)))) (/.f32 (*.f32 maxCos (*.f32 ux 3)) 2)) 2))
(-.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 (*.f32 -3 (+.f32 1/2 (/.f32 ux -2))) (/.f32 (*.f32 ux maxCos) -2)) 2))
(/.f32 (-.f32 (+.f32 (*.f32 maxCos ux) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (+.f32 (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3) (/.f32 (*.f32 maxCos ux) -2))) 2)
(+.f32 (/.f32 (-.f32 (+.f32 (*.f32 maxCos ux) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (*.f32 (+.f32 1/2 (/.f32 ux -2)) -3)) 2) (/.f32 (*.f32 maxCos ux) 4))
(-.f32 (/.f32 (+.f32 (-.f32 2 ux) (*.f32 ux maxCos)) 2) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(/.f32 (-.f32 (+.f32 (*.f32 maxCos ux) (-.f32 2 ux)) (*.f32 ux (-.f32 1 maxCos))) 2)
(/.f32 (-.f32 (*.f32 ux (-.f32 maxCos (-.f32 1 maxCos))) (-.f32 ux 2)) 2)
(-.f32 (/.f32 (+.f32 (+.f32 (-.f32 2 ux) (*.f32 ux maxCos)) (*.f32 ux maxCos)) 2) (*.f32 ux 1/2))
(-.f32 (/.f32 (+.f32 (*.f32 maxCos ux) (+.f32 (*.f32 maxCos ux) (-.f32 2 ux))) 2) (*.f32 ux 1/2))
(-.f32 (/.f32 (+.f32 (-.f32 2 ux) (*.f32 maxCos (+.f32 ux ux))) 2) (*.f32 ux 1/2))
(-.f32 (/.f32 (+.f32 (*.f32 maxCos (+.f32 ux ux)) (-.f32 2 ux)) 2) (*.f32 ux 1/2))
(-.f32 (/.f32 (+.f32 1 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) 2))
(/.f32 (-.f32 (+.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2) 3/2) (+.f32 (*.f32 ux (-.f32 1 maxCos)) (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) 2)
(+.f32 (-.f32 (+.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 4) 3/4) (+.f32 -1/4 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 4))) (/.f32 (*.f32 ux (-.f32 1 maxCos)) -2))
(-.f32 (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (-.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)) 2) (-.f32 1 ux)) 2))
(/.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (-.f32 (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2) (-.f32 1 ux))) 2)
(/.f32 (-.f32 (+.f32 (*.f32 maxCos (+.f32 ux ux)) (+.f32 1/2 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) (-.f32 (/.f32 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))) 2) (-.f32 1 ux))) 2)
(/.f32 (-.f32 (+.f32 3/2 (neg.f32 (/.f32 (*.f32 ux (+.f32 maxCos 1)) 2))) (-.f32 ux (+.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2) (+.f32 (*.f32 maxCos (+.f32 ux ux)) 1/2)))) 2)
(-.f32 (/.f32 (+.f32 (+.f32 1 (*.f32 ux maxCos)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 maxCos 1)) 2))) 2) (/.f32 (+.f32 ux (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) 2))
(/.f32 (-.f32 (+.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2) (+.f32 1/2 (+.f32 1 (*.f32 maxCos ux)))) (+.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2) (+.f32 -1/2 ux))) 2)
(/.f32 (-.f32 (+.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2) (+.f32 (*.f32 maxCos ux) 3/2)) (+.f32 ux (+.f32 -1/2 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2)))) 2)
(/.f32 (+.f32 (-.f32 (+.f32 (/.f32 (*.f32 (+.f32 maxCos -1) ux) 2) (+.f32 (*.f32 maxCos ux) 3/2)) (+.f32 ux -1/2)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) 2)
(-.f32 (-.f32 (/.f32 (*.f32 ux maxCos) 2) (+.f32 (*.f32 ux 1/2) -1)) (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))
(-.f32 (-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (/.f32 (*.f32 maxCos ux) -2)) (*.f32 ux 1/2))
(-.f32 (+.f32 1 (neg.f32 (/.f32 (*.f32 ux (-.f32 1 maxCos)) 2))) (+.f32 (*.f32 ux 1/2) (/.f32 (*.f32 maxCos ux) -2)))
(-.f32 (/.f32 (*.f32 ux (-.f32 maxCos (-.f32 1 maxCos))) 2) (+.f32 -1 (*.f32 ux 1/2)))
(-.f32 (-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 ux maxCos) 2))) (-.f32 (/.f32 (*.f32 ux maxCos) 2) (*.f32 ux maxCos)))
(-.f32 (-.f32 (*.f32 maxCos ux) (+.f32 (+.f32 ux -1) (/.f32 (*.f32 maxCos ux) 2))) (*.f32 -1 (/.f32 (*.f32 maxCos ux) 2)))
(-.f32 (+.f32 (*.f32 1 (/.f32 (*.f32 maxCos ux) 2)) (neg.f32 (+.f32 ux -1))) (*.f32 (*.f32 maxCos ux) -1/2))
(+.f32 (-.f32 1 ux) (-.f32 (*.f32 (*.f32 maxCos ux) 1/2) (*.f32 (*.f32 maxCos ux) -1/2)))
(*.f32 1 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 -1 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(*.f32 2 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1/2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 1/2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 1/2 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) -1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) 1/4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 1/4 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(*.f32 (*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 4) 1/8)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(/.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(/.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))) -1)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 4) 4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(/.f32 (*.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 2) 4) 8)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) -2) -2)
(/.f32 (*.f32 (+.f32 1 (*.f32 (+.f32 maxCos -1) ux)) -2) -2)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 2 (*.f32 maxCos 4)))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (*.f32 maxCos 4) (*.f32 2 ux))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 1 ux) 8) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (+.f32 (*.f32 ux (*.f32 2 (*.f32 maxCos 4))) (*.f32 (-.f32 2 (+.f32 ux ux)) 4)) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (*.f32 maxCos 4) (*.f32 2 ux))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 1 ux) 8) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (-.f32 (*.f32 (-.f32 1 ux) 4) (neg.f32 (*.f32 ux (*.f32 maxCos 4)))) 4)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (*.f32 maxCos 4) (*.f32 2 ux))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 1 ux) 8) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (neg.f32 (*.f32 (-.f32 1 ux) 4))) 4)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (*.f32 maxCos 4) (*.f32 2 ux))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (+.f32 (*.f32 (-.f32 1 ux) 8) (*.f32 ux (*.f32 maxCos 8))) 8)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 2)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))))) 2)
(/.f32 (-.f32 (*.f32 maxCos (*.f32 4 ux)) (*.f32 2 (+.f32 -1 (+.f32 ux (*.f32 maxCos ux))))) 2)
(/.f32 (-.f32 (*.f32 maxCos (*.f32 ux 4)) (*.f32 2 (+.f32 -1 (*.f32 ux (+.f32 maxCos 1))))) 2)
(pow.f32 (+.f32 1 (*.f32 ux (-.f32 maxCos 1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(neg.f32 (+.f32 ux (-.f32 -1 (*.f32 ux maxCos))))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (*.f32 maxCos ux) (+.f32 ux -1))

localize64.0ms (0.6%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 8 computations (61.9% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite115.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1070×rational_best-simplify-51
1062×rational_best-simplify-57
1060×rational_best-simplify-83
584×rational_best-simplify-75
582×rational_best-simplify-67
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15219
210719
332119
4136419
Stop Event
node limit
Counts
1 → 70
Calls
Call 1
Inputs
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 ux (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (+.f32 maxCos -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (neg.f32 maxCos)) (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (+.f32 maxCos maxCos)) (neg.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux maxCos)) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux maxCos)) (neg.f32 (neg.f32 (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1/2 (/.f32 (+.f32 (*.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1/2 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (+.f32 1/2 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (*.f32 maxCos 1/2)) (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (*.f32 maxCos 1/2)) (/.f32 (-.f32 0 (-.f32 (*.f32 ux (-.f32 2 maxCos)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 2) (/.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)) (*.f32 ux (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (-.f32 (neg.f32 ux) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) (/.f32 ux -2)) (neg.f32 (+.f32 -1 (*.f32 ux 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) (+.f32 1 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) (+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (/.f32 ux -2)) (neg.f32 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1) (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1/2 (*.f32 ux 1/2)) (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) (/.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) ux) (+.f32 1 (*.f32 ux (*.f32 maxCos 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux (*.f32 maxCos 1/2))) (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)) (*.f32 ux (*.f32 maxCos 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)) (neg.f32 (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) (*.f32 3 (*.f32 ux (*.f32 maxCos 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos))) (/.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (*.f32 ux (-.f32 2 maxCos))) (neg.f32 (neg.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (/.f32 (*.f32 ux maxCos) -2)) (neg.f32 (-.f32 ux (*.f32 ux (*.f32 maxCos 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux maxCos) (+.f32 (*.f32 ux 1/2) -1/2)) (neg.f32 (+.f32 (*.f32 ux 1/2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 0 (-.f32 -1 (*.f32 ux maxCos))) (neg.f32 (neg.f32 (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (*.f32 ux maxCos)) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (*.f32 ux (*.f32 maxCos 1/2))) (neg.f32 (+.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (+.f32 1 (*.f32 ux maxCos)) (*.f32 ux 1/2)) (/.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) ux) (*.f32 ux (neg.f32 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux maxCos)) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux 1/2)) (neg.f32 (+.f32 (*.f32 ux maxCos) (*.f32 ux 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux (*.f32 maxCos 1/2))) (neg.f32 (+.f32 ux (*.f32 ux (*.f32 maxCos 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) -2)) (neg.f32 (/.f32 (*.f32 ux maxCos) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux maxCos) (*.f32 ux (*.f32 maxCos 1/2))) (-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2))) -1) (*.f32 ux (*.f32 maxCos 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 -1 (*.f32 ux maxCos)) -1) (/.f32 (neg.f32 (neg.f32 ux)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 -1 (*.f32 ux 1/2)) -1) (/.f32 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 4) (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (*.f32 (+.f32 ux -1) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))))))))

simplify266.0ms (2.7%)

Algorithm
egg-herbie
Rules
1534×rational_best-simplify-56
1046×rational_best-simplify-55
1000×rational_best-simplify-49
796×rational_best-simplify-63
768×rational_best-simplify-66
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02041920
15261916
212221900
341011900
Stop Event
node limit
Counts
94 → 100
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)
(+.f32 0 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(+.f32 (*.f32 ux (neg.f32 maxCos)) (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)))
(+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (neg.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))))
(+.f32 (+.f32 1 (*.f32 ux maxCos)) (neg.f32 ux))
(+.f32 (+.f32 1 (*.f32 ux maxCos)) (neg.f32 (neg.f32 (neg.f32 ux))))
(+.f32 1/2 (/.f32 (+.f32 (*.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1) 2))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux maxCos)))
(+.f32 (+.f32 1/2 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (+.f32 1/2 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)))
(+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)))
(+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (/.f32 (-.f32 0 (-.f32 (*.f32 ux (-.f32 2 maxCos)) 2)) 2))
(+.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 2) (/.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 2))
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)) (*.f32 ux (neg.f32 maxCos)))
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (-.f32 (neg.f32 ux) (*.f32 ux maxCos)))
(+.f32 (+.f32 (*.f32 ux maxCos) (/.f32 ux -2)) (neg.f32 (+.f32 -1 (*.f32 ux 1/2))))
(+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) (+.f32 1 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)))
(+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) (+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1))
(+.f32 (+.f32 1 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2))
(+.f32 (+.f32 1 (/.f32 ux -2)) (neg.f32 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos))))
(+.f32 (+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1) (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2))
(+.f32 (-.f32 1/2 (*.f32 ux 1/2)) (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)) 2))
(+.f32 (/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) (/.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 2) 2))
(+.f32 (/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 4))
(+.f32 (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) ux) (+.f32 1 (*.f32 ux (*.f32 maxCos 1/2))))
(+.f32 (+.f32 1 (*.f32 ux (*.f32 maxCos 1/2))) (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) ux))
(+.f32 (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)) (*.f32 ux (*.f32 maxCos 1/2)))
(+.f32 (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)) (neg.f32 (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) (*.f32 3 (*.f32 ux (*.f32 maxCos 1/2))))
(+.f32 (-.f32 1 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos))) (/.f32 ux -2))
(+.f32 (-.f32 1 (*.f32 ux (-.f32 2 maxCos))) (neg.f32 (neg.f32 ux)))
(+.f32 (-.f32 1 (/.f32 (*.f32 ux maxCos) -2)) (neg.f32 (-.f32 ux (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 (*.f32 ux 1/2) -1/2)) (neg.f32 (+.f32 (*.f32 ux 1/2) -1/2)))
(+.f32 (-.f32 0 (-.f32 -1 (*.f32 ux maxCos))) (neg.f32 (neg.f32 (neg.f32 ux))))
(+.f32 (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (*.f32 ux maxCos)) (-.f32 1 ux))
(+.f32 (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (*.f32 ux (*.f32 maxCos 1/2))) (neg.f32 (+.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 (-.f32 (+.f32 1 (*.f32 ux maxCos)) (*.f32 ux 1/2)) (/.f32 ux -2))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) ux) (*.f32 ux (neg.f32 maxCos)))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux maxCos)) (neg.f32 ux))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux 1/2)) (neg.f32 (+.f32 (*.f32 ux maxCos) (*.f32 ux 1/2))))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux (*.f32 maxCos 1/2))) (neg.f32 (+.f32 ux (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 (-.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) -2)) (neg.f32 (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 (-.f32 (*.f32 ux maxCos) (*.f32 ux (*.f32 maxCos 1/2))) (-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2))) -1) (*.f32 ux (*.f32 maxCos 1/2)))
(+.f32 (/.f32 (-.f32 -1 (*.f32 ux maxCos)) -1) (/.f32 (neg.f32 (neg.f32 ux)) -1))
(+.f32 (/.f32 (+.f32 -1 (*.f32 ux 1/2)) -1) (/.f32 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos)) -1))
(+.f32 (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 4) (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos))))) 4))
(*.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))
(*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(*.f32 -1 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))))
(*.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) -1)
(*.f32 2 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1/2))
(*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 1/2)
(*.f32 1/2 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))))
(*.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) 1/4)
(*.f32 1/4 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4))
(*.f32 (*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 4) 1/8)
(/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(/.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) -1)
(/.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 2)
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) 4)
(/.f32 (*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 4) 8)
(/.f32 (*.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 2) -2)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (*.f32 (+.f32 ux -1) 2))) 4)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 2)
(pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(neg.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))))
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (*.f32 ux maxCos) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 0 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (*.f32 ux (neg.f32 maxCos)) (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (neg.f32 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1 (*.f32 ux maxCos)) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1 (*.f32 ux maxCos)) (neg.f32 (neg.f32 (neg.f32 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 1/2 (/.f32 (+.f32 (*.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1/2 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (+.f32 1/2 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (/.f32 (-.f32 0 (-.f32 (*.f32 ux (-.f32 2 maxCos)) 2)) 2))
(+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (/.f32 (neg.f32 (-.f32 (*.f32 ux (-.f32 2 maxCos)) 2)) 2))
(+.f32 (*.f32 maxCos (*.f32 ux 1/2)) (/.f32 (-.f32 2 (*.f32 ux (-.f32 2 maxCos))) 2))
(+.f32 (*.f32 maxCos (*.f32 ux 1/2)) (-.f32 1 (/.f32 (*.f32 ux (-.f32 2 maxCos)) 2)))
(+.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 2) (/.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)) (*.f32 ux (neg.f32 maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (-.f32 (neg.f32 ux) (*.f32 ux maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 (*.f32 ux maxCos) (/.f32 ux -2)) (neg.f32 (+.f32 -1 (*.f32 ux 1/2))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) (+.f32 1 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) (+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2)) (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1 (/.f32 ux -2)) (neg.f32 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 1) (/.f32 (*.f32 ux (+.f32 maxCos -1)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 1/2 (*.f32 ux 1/2)) (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) (-.f32 1 ux)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) (/.f32 (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 2) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) (/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 3) 4))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) ux) (+.f32 1 (*.f32 ux (*.f32 maxCos 1/2))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 1 (*.f32 ux (*.f32 maxCos 1/2))) (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)) (*.f32 ux (*.f32 maxCos 1/2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (+.f32 (*.f32 ux (*.f32 maxCos 1/2)) (-.f32 1 ux)) (neg.f32 (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (*.f32 ux (*.f32 maxCos 1/2)) (+.f32 (*.f32 ux maxCos) (+.f32 ux -1))) (*.f32 3 (*.f32 ux (*.f32 maxCos 1/2))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 1 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos))) (/.f32 ux -2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 1 (*.f32 ux (-.f32 2 maxCos))) (neg.f32 (neg.f32 ux)))
(-.f32 1 (+.f32 (*.f32 ux (-.f32 2 maxCos)) (neg.f32 ux)))
(-.f32 1 (+.f32 (neg.f32 ux) (*.f32 ux (-.f32 2 maxCos))))
(+.f32 ux (-.f32 1 (*.f32 ux (-.f32 2 maxCos))))
(+.f32 (-.f32 1 (/.f32 (*.f32 ux maxCos) -2)) (neg.f32 (-.f32 ux (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (*.f32 ux maxCos) (+.f32 (*.f32 ux 1/2) -1/2)) (neg.f32 (+.f32 (*.f32 ux 1/2) -1/2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 0 (-.f32 -1 (*.f32 ux maxCos))) (neg.f32 (neg.f32 (neg.f32 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (*.f32 ux maxCos)) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) (*.f32 ux (*.f32 maxCos 1/2))) (neg.f32 (+.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (+.f32 1 (*.f32 ux maxCos)) (*.f32 ux 1/2)) (/.f32 ux -2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) ux) (*.f32 ux (neg.f32 maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux maxCos)) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux 1/2)) (neg.f32 (+.f32 (*.f32 ux maxCos) (*.f32 ux 1/2))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (+.f32 (*.f32 ux (+.f32 maxCos maxCos)) 1) (*.f32 ux (*.f32 maxCos 1/2))) (neg.f32 (+.f32 ux (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) -2)) (neg.f32 (/.f32 (*.f32 ux maxCos) -2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (-.f32 (*.f32 ux maxCos) (*.f32 ux (*.f32 maxCos 1/2))) (-.f32 (*.f32 ux maxCos) (+.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (-.f32 (+.f32 ux -1) (*.f32 ux (*.f32 maxCos 1/2))) -1) (*.f32 ux (*.f32 maxCos 1/2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (-.f32 -1 (*.f32 ux maxCos)) -1) (/.f32 (neg.f32 (neg.f32 ux)) -1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (+.f32 -1 (*.f32 ux 1/2)) -1) (/.f32 (-.f32 (*.f32 ux 1/2) (*.f32 ux maxCos)) -1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(+.f32 (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 2) 4) (/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos))))) 4))
(/.f32 (+.f32 (+.f32 (*.f32 (+.f32 maxCos -1) ux) 2) (+.f32 (*.f32 (+.f32 maxCos -1) ux) (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))))) 4)
(/.f32 (+.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) (+.f32 (*.f32 (+.f32 maxCos -1) ux) (+.f32 (*.f32 (+.f32 maxCos -1) ux) 2))) 4)
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos))) 4)) (/.f32 (+.f32 (-.f32 ux (*.f32 maxCos ux)) -1) -2))
(*.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 -1 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 2 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1/2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 1/2)
(*.f32 1/2 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))))
(*.f32 1/2 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))))
(*.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) 1/4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 1/4 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(*.f32 (*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 4) 1/8)
(*.f32 1/2 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))))
(/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(/.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(/.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 2)
(-.f32 1 (/.f32 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos))) 2))
(/.f32 (*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 4) 4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(/.f32 (*.f32 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos)))) 4) 8)
(/.f32 (*.f32 4 (-.f32 2 (*.f32 ux (-.f32 2 (+.f32 maxCos maxCos))))) 8)
(/.f32 (*.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 2) -2)
(/.f32 (*.f32 2 (-.f32 -1 (*.f32 (+.f32 maxCos -1) ux))) -2)
(/.f32 (*.f32 2 (+.f32 (-.f32 ux (*.f32 maxCos ux)) -1)) -2)
(/.f32 (*.f32 (-.f32 1 (-.f32 ux (*.f32 maxCos ux))) -2) -2)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (*.f32 (+.f32 ux -1) 2))) 4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 2 (+.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 2)
(/.f32 (-.f32 (*.f32 ux (*.f32 maxCos 4)) (*.f32 (+.f32 (*.f32 maxCos ux) (+.f32 ux -1)) 2)) 2)
(/.f32 (-.f32 (*.f32 maxCos (*.f32 4 ux)) (*.f32 (+.f32 ux (+.f32 -1 (*.f32 maxCos ux))) 2)) 2)
(/.f32 (-.f32 (*.f32 maxCos (*.f32 ux 4)) (*.f32 (+.f32 (*.f32 maxCos ux) (+.f32 ux -1)) 2)) 2)
(-.f32 (*.f32 maxCos (+.f32 ux ux)) (/.f32 (*.f32 (+.f32 (*.f32 maxCos ux) (+.f32 ux -1)) 2) 2))
(pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))
(neg.f32 (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(-.f32 1 (-.f32 ux (*.f32 maxCos ux)))

eval238.0ms (2.4%)

Compiler

Compiled 4862 to 3122 computations (35.8% saved)

prune154.0ms (1.5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New3103313
Fresh000
Picked011
Done011
Total3105315
Error
0b
Counts
315 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) -2))
0.0b
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
0.7b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.9b
1
Compiler

Compiled 46 to 35 computations (23.9% saved)

localize28.0ms (0.3%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize139.0ms (1.4%)

Local error

Found 3 expressions with local error:

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

Compiled 47 to 22 computations (53.2% saved)

series3.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite257.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1996×rational_best-4
1996×rational_best-2
1996×rational_best-3
1996×rational_best-1
590×rational_best-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281
18781
221069
371963
4464463
Stop Event
node limit
Counts
3 → 167
Calls
Call 1
Inputs
(-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) -2))
(+.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) -2)
(-.f32 1 (+.f32 ux (*.f32 ux maxCos)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux -2) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (/.f32 (+.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (*.f32 ux -2) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) (-.f32 (*.f32 ux -2) (*.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (-.f32 (neg.f32 ux) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 2 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 ux) (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) (-.f32 (*.f32 ux -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) (+.f32 (*.f32 ux -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 ux) (+.f32 (*.f32 ux maxCos) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 ux) (neg.f32 (+.f32 -2 (*.f32 maxCos (neg.f32 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) -2) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) (*.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 1 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) 1) (neg.f32 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) 2) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 2 (-.f32 -1 ux)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (neg.f32 ux)) (+.f32 (+.f32 (*.f32 ux -2) (+.f32 (*.f32 ux maxCos) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (-.f32 1 ux)) (+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) (neg.f32 (+.f32 (neg.f32 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (+.f32 (neg.f32 ux) -1)) (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)) (+.f32 1 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 1) (+.f32 (*.f32 ux -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (-.f32 -1 ux) 1) (+.f32 (*.f32 ux maxCos) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux maxCos) 1) (+.f32 (-.f32 -1 ux) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 (*.f32 ux -2) -1) 1) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) 1) (+.f32 (neg.f32 (-.f32 1 ux)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (+.f32 (*.f32 ux -2) (+.f32 (*.f32 ux maxCos) -1)) 1) (+.f32 (neg.f32 (neg.f32 ux)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (neg.f32 ux)) (neg.f32 (+.f32 -2 (-.f32 1 (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (*.f32 ux (-.f32 -1 maxCos))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -4) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))) (+.f32 ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (+.f32 (neg.f32 ux) -1)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 ux) -1)) (neg.f32 (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)) (neg.f32 (+.f32 (-.f32 1 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (+.f32 -1 (-.f32 1 (*.f32 ux maxCos)))) (neg.f32 (+.f32 (neg.f32 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 ux -2) (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2))) (neg.f32 (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 2 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) (neg.f32 (+.f32 1 (+.f32 ux ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 2 (+.f32 -1 (+.f32 ux ux))) (neg.f32 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) 2) (/.f32 (+.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) (*.f32 ux -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2) (/.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 2) (/.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) (-.f32 (*.f32 ux -2) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (*.f32 ux (-.f32 -1 maxCos))) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))) (-.f32 (neg.f32 ux) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (*.f32 maxCos (neg.f32 ux))) (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (-.f32 1 ux)) (-.f32 (neg.f32 ux) (+.f32 -2 (*.f32 maxCos (neg.f32 ux)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (neg.f32 ux)) (-.f32 (neg.f32 ux) (+.f32 -2 (-.f32 1 (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) -2) (-.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)) (-.f32 (neg.f32 ux) (*.f32 maxCos (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)) (-.f32 (neg.f32 ux) (+.f32 (-.f32 1 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 (-.f32 1 ux) -1)) (-.f32 (neg.f32 ux) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (-.f32 1 (*.f32 ux maxCos)))) (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 2 (*.f32 ux -4)) (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (+.f32 ux (+.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (-.f32 (*.f32 ux maxCos) (-.f32 -2 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)) ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) (+.f32 2 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 maxCos (neg.f32 ux)) (neg.f32 (+.f32 (neg.f32 ux) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 (+.f32 ux -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 maxCos (neg.f32 ux)) (+.f32 2 (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 maxCos (neg.f32 ux)) (+.f32 2 (neg.f32 (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) (-.f32 (*.f32 ux maxCos) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) (+.f32 2 (neg.f32 (-.f32 1 (*.f32 ux maxCos)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) (+.f32 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 -1 (+.f32 ux (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (neg.f32 ux) -1) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 ux -2) -2) (+.f32 2 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 (*.f32 ux maxCos)) (-.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 (*.f32 ux maxCos)) (+.f32 2 ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (-.f32 -1 maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 -2 ux) (+.f32 (*.f32 ux maxCos) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 -2 ux) (neg.f32 (-.f32 1 (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)) (/.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (*.f32 ux maxCos) -2) (+.f32 2 (-.f32 (+.f32 ux -1) (*.f32 ux maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 maxCos (neg.f32 ux)) 2) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 maxCos (neg.f32 ux)) 2) (neg.f32 (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 1 (*.f32 ux maxCos)) 2) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) 2) (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (*.f32 (*.f32 ux maxCos) -2) 2) (-.f32 (+.f32 ux -1) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 0 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1))) ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (+.f32 (neg.f32 ux) -1) (+.f32 (neg.f32 ux) -1)) (+.f32 (*.f32 ux maxCos) (+.f32 (neg.f32 ux) -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 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) 1/4)))) (#(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 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 ux (-.f32 -1 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (-.f32 (-.f32 1 ux) (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (-.f32 (*.f32 maxCos (neg.f32 ux)) (*.f32 maxCos (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) (*.f32 maxCos (neg.f32 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 ux) (-.f32 1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 ux) (-.f32 1 (+.f32 (*.f32 ux maxCos) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (*.f32 ux maxCos)) (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (*.f32 ux maxCos)) (neg.f32 (neg.f32 (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (-.f32 -1 maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)) (neg.f32 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) 2)) (neg.f32 (/.f32 (*.f32 ux maxCos) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 1 (*.f32 ux maxCos)) (/.f32 ux 2)) (neg.f32 (/.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 ux maxCos)) (neg.f32 (-.f32 1 ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (*.f32 (*.f32 ux maxCos) -2) (+.f32 ux -1)) (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (*.f32 ux maxCos)) (-.f32 1 (+.f32 ux -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 maxCos (neg.f32 ux)) 2) (/.f32 (+.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 (*.f32 ux -2) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 1 ux) 2) (/.f32 (+.f32 (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2) (/.f32 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (neg.f32 ux) 2) (/.f32 (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (+.f32 ux -1)) (-.f32 1 (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (+.f32 (*.f32 ux maxCos) -1)) (-.f32 1 ux))))) (#(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 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) 1/4)))) (#(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 (*.f32 ux maxCos) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 (*.f32 ux maxCos) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (*.f32 ux maxCos) -2) (-.f32 (*.f32 ux -2) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 ux (+.f32 maxCos 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 neg.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))))))

simplify383.0ms (3.8%)

Algorithm
egg-herbie
Rules
1330×rational_best-simplify-65
728×rational_best-simplify-56
632×rational_best-simplify-67
566×rational_best-simplify-3
522×rational_best-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03975119
111094595
229334545
Stop Event
node limit
Counts
239 → 226
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 (+.f32 (*.f32 -2 ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(*.f32 maxCos ux)
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(*.f32 maxCos ux)
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
-1
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(*.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux))
(-.f32 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) 1)
(-.f32 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) 1)
(-.f32 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) 1)
(*.f32 -1 (+.f32 1 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(*.f32 -1 (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(*.f32 -1 (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
1
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(*.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(*.f32 -1 (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(*.f32 -1 (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 (*.f32 ux -2) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 1 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 1))
(+.f32 1 (+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))
(+.f32 1 (/.f32 (+.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)) 2))
(+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux)))
(+.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (*.f32 ux -2) -1) 2))
(+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 0)
(+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) (-.f32 (*.f32 ux -2) (*.f32 ux -2)))
(+.f32 0 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))))
(+.f32 (-.f32 1 ux) (-.f32 (neg.f32 ux) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))))
(+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)
(+.f32 2 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)))
(+.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))
(+.f32 (neg.f32 ux) (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))))
(+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) (-.f32 (*.f32 ux -2) -2))
(+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) (+.f32 (*.f32 ux -2) 2))
(+.f32 (-.f32 -1 ux) (+.f32 (*.f32 ux maxCos) 2))
(+.f32 (-.f32 -1 ux) (neg.f32 (+.f32 -2 (*.f32 maxCos (neg.f32 ux)))))
(+.f32 (-.f32 (*.f32 ux -2) -2) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) (*.f32 ux -2))
(+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 1))
(+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 1 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))
(+.f32 (+.f32 (*.f32 ux -2) 1) (neg.f32 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))))
(+.f32 (+.f32 (*.f32 ux -2) 2) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 (+.f32 2 (-.f32 -1 ux)) (*.f32 ux maxCos))
(+.f32 (neg.f32 (neg.f32 ux)) (+.f32 (+.f32 (*.f32 ux -2) (+.f32 (*.f32 ux maxCos) -1)) 2))
(+.f32 (neg.f32 (-.f32 1 ux)) (+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) 2))
(+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) (neg.f32 (+.f32 (neg.f32 ux) -1)))
(+.f32 (neg.f32 (+.f32 (neg.f32 ux) -1)) (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)))
(+.f32 (+.f32 1 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)) (+.f32 1 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)))
(+.f32 (+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 1) (+.f32 (*.f32 ux -2) 1))
(+.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 1) 1)
(+.f32 (+.f32 (-.f32 -1 ux) 1) (+.f32 (*.f32 ux maxCos) 1))
(+.f32 (+.f32 (*.f32 ux maxCos) 1) (+.f32 (-.f32 -1 ux) 1))
(+.f32 (+.f32 (+.f32 (*.f32 ux -2) -1) 1) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 (+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) 1) (+.f32 (neg.f32 (-.f32 1 ux)) 1))
(+.f32 (+.f32 (+.f32 (*.f32 ux -2) (+.f32 (*.f32 ux maxCos) -1)) 1) (+.f32 (neg.f32 (neg.f32 ux)) 1))
(+.f32 (-.f32 (*.f32 ux -2) (neg.f32 ux)) (neg.f32 (+.f32 -2 (-.f32 1 (*.f32 ux maxCos)))))
(+.f32 (-.f32 (*.f32 ux -2) (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 (-.f32 (*.f32 ux -4) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))) (+.f32 ux ux))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 (neg.f32 ux) -1)) (*.f32 ux maxCos))
(+.f32 (-.f32 (*.f32 ux -2) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) 1)
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 ux) -1)) (neg.f32 (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)) (neg.f32 (+.f32 (-.f32 1 ux) -1)))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 -1 (-.f32 1 (*.f32 ux maxCos)))) (neg.f32 (+.f32 (neg.f32 ux) -1)))
(+.f32 (-.f32 (*.f32 ux -2) (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2))) (neg.f32 (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2))))
(+.f32 (-.f32 2 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) (neg.f32 (+.f32 1 (+.f32 ux ux))))
(+.f32 (-.f32 2 (+.f32 -1 (+.f32 ux ux))) (neg.f32 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)))
(+.f32 (/.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) 2) (/.f32 (+.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) (*.f32 ux -4)) 2))
(+.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2) (/.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 4) 2))
(+.f32 (/.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 2) (/.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) (-.f32 (*.f32 ux -2) -2)) 2))
(+.f32 (-.f32 (neg.f32 ux) (*.f32 ux (-.f32 -1 maxCos))) (-.f32 1 ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))) (-.f32 (neg.f32 ux) -2))
(+.f32 (-.f32 (neg.f32 ux) (*.f32 maxCos (neg.f32 ux))) (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)))
(+.f32 (-.f32 (neg.f32 ux) (-.f32 1 ux)) (-.f32 (neg.f32 ux) (+.f32 -2 (*.f32 maxCos (neg.f32 ux)))))
(+.f32 (-.f32 (neg.f32 ux) (neg.f32 ux)) (-.f32 (neg.f32 ux) (+.f32 -2 (-.f32 1 (*.f32 ux maxCos)))))
(+.f32 (-.f32 (neg.f32 ux) -2) (-.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))) (neg.f32 ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)) (-.f32 (neg.f32 ux) (*.f32 maxCos (neg.f32 ux))))
(+.f32 (-.f32 (neg.f32 ux) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) (-.f32 1 ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)) (-.f32 (neg.f32 ux) (+.f32 (-.f32 1 ux) -1)))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 (-.f32 1 ux) -1)) (-.f32 (neg.f32 ux) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (-.f32 1 (*.f32 ux maxCos)))) (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)))
(*.f32 1 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))))
(*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)
(*.f32 -1 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)))
(*.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)) -1)
(*.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2) 1/2)
(*.f32 1/2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2))
(*.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) 1/4)
(/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)
(/.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)) -1)
(/.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2) 2)
(/.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) 4)
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2))) 8)
(/.f32 (-.f32 (*.f32 2 (*.f32 ux -4)) (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))) 4)
(pow.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)
(neg.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)))
(-.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(-.f32 1 (+.f32 ux (+.f32 (*.f32 ux maxCos) 2)))
(-.f32 1 (-.f32 (*.f32 ux maxCos) (-.f32 -2 ux)))
(-.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 2)
(-.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 0)
(-.f32 0 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(-.f32 0 (+.f32 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)) ux))
(-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -2))
(-.f32 (-.f32 1 ux) (+.f32 2 (*.f32 ux maxCos)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 ux -1))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (neg.f32 (+.f32 (neg.f32 ux) -1)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 (+.f32 ux -1) -2))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (+.f32 2 (+.f32 ux -1)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (+.f32 2 (neg.f32 (-.f32 1 ux))))
(-.f32 (neg.f32 ux) (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)))
(-.f32 (neg.f32 ux) (-.f32 (*.f32 ux maxCos) -1))
(-.f32 (neg.f32 ux) (+.f32 2 (neg.f32 (-.f32 1 (*.f32 ux maxCos)))))
(-.f32 (neg.f32 ux) (+.f32 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)) 0))
(-.f32 -1 (+.f32 ux (*.f32 ux maxCos)))
(-.f32 (+.f32 (neg.f32 ux) -1) (*.f32 ux maxCos))
(-.f32 (-.f32 (*.f32 ux -2) -2) (+.f32 2 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux))))
(-.f32 (-.f32 1 (*.f32 ux maxCos)) (-.f32 ux -2))
(-.f32 (-.f32 1 (*.f32 ux maxCos)) (+.f32 2 ux))
(-.f32 (*.f32 ux (-.f32 -1 maxCos)) 1)
(-.f32 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1)) 1)
(-.f32 (-.f32 -2 ux) (+.f32 (*.f32 ux maxCos) -1))
(-.f32 (-.f32 -2 ux) (neg.f32 (-.f32 1 (*.f32 ux maxCos))))
(-.f32 (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)) (/.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) 2))
(-.f32 (*.f32 (*.f32 ux maxCos) -2) (+.f32 2 (-.f32 (+.f32 ux -1) (*.f32 ux maxCos))))
(-.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) -1))
(-.f32 (-.f32 (*.f32 maxCos (neg.f32 ux)) 2) (+.f32 ux -1))
(-.f32 (-.f32 (*.f32 maxCos (neg.f32 ux)) 2) (neg.f32 (-.f32 1 ux)))
(-.f32 (-.f32 (-.f32 1 (*.f32 ux maxCos)) 2) ux)
(-.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) 2) (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)))
(-.f32 (-.f32 (*.f32 (*.f32 ux maxCos) -2) 2) (-.f32 (+.f32 ux -1) (*.f32 ux maxCos)))
(-.f32 (-.f32 0 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1))) ux)
(-.f32 (+.f32 (+.f32 (neg.f32 ux) -1) (+.f32 (neg.f32 ux) -1)) (+.f32 (*.f32 ux maxCos) (+.f32 (neg.f32 ux) -1)))
(*.f32 1 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))))
(*.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(*.f32 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)) 1/2)
(*.f32 1/2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))
(*.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) 1/4)
(/.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(/.f32 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)) 2)
(/.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) 4)
(/.f32 (+.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))) 8)
(pow.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(neg.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 0)
(+.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (-.f32 (-.f32 1 ux) (-.f32 1 ux)))
(+.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (-.f32 (*.f32 maxCos (neg.f32 ux)) (*.f32 maxCos (neg.f32 ux))))
(+.f32 0 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))))
(+.f32 (-.f32 1 ux) (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 1 ux))
(+.f32 (neg.f32 ux) (-.f32 1 (*.f32 ux maxCos)))
(+.f32 (-.f32 -1 ux) (-.f32 1 (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 (-.f32 1 (*.f32 ux maxCos)) (neg.f32 ux))
(+.f32 (-.f32 1 (*.f32 ux maxCos)) (neg.f32 (neg.f32 (neg.f32 ux))))
(+.f32 (*.f32 ux (-.f32 -1 maxCos)) 1)
(+.f32 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)))
(+.f32 (-.f32 1 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)) (neg.f32 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)))
(+.f32 (-.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) 2)) (neg.f32 (/.f32 (*.f32 ux maxCos) 2)))
(+.f32 (-.f32 (-.f32 1 (*.f32 ux maxCos)) (/.f32 ux 2)) (neg.f32 (/.f32 ux 2)))
(+.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 ux maxCos)) (neg.f32 (-.f32 1 ux)))
(+.f32 (-.f32 (*.f32 (*.f32 ux maxCos) -2) (+.f32 ux -1)) (*.f32 ux maxCos))
(+.f32 (-.f32 -1 (*.f32 ux maxCos)) (-.f32 1 (+.f32 ux -1)))
(+.f32 (/.f32 (*.f32 maxCos (neg.f32 ux)) 2) (/.f32 (+.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 (*.f32 ux -2) -2)) 2))
(+.f32 (/.f32 (-.f32 1 ux) 2) (/.f32 (+.f32 (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) -2)) 2))
(+.f32 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2) (/.f32 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) 2) 2))
(+.f32 (/.f32 (neg.f32 ux) 2) (/.f32 (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) -2))) 2))
(+.f32 (-.f32 -1 (+.f32 ux -1)) (-.f32 1 (*.f32 ux maxCos)))
(+.f32 (-.f32 -1 (+.f32 (*.f32 ux maxCos) -1)) (-.f32 1 ux))
(*.f32 1 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))))
(*.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(*.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) -1)
(*.f32 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))) 1/2)
(*.f32 1/2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))
(*.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) 1/4)
(/.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(/.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) -1)
(/.f32 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))) 2)
(/.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) 4)
(/.f32 (+.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))) 8)
(/.f32 (+.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 (*.f32 ux maxCos) -2)) 2)
(/.f32 (+.f32 (*.f32 (*.f32 ux maxCos) -2) (-.f32 (*.f32 ux -2) -2)) 2)
(/.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 ux (+.f32 maxCos maxCos))) 2)
(pow.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(neg.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) ux))
(+.f32 1 (+.f32 ux (*.f32 ux -2)))
(-.f32 1 ux)
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (*.f32 -2 ux) (+.f32 ux (*.f32 maxCos ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
-1
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(*.f32 (+.f32 1 maxCos) (neg.f32 ux))
(*.f32 ux (-.f32 -1 maxCos))
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux))
(*.f32 (+.f32 1 maxCos) (neg.f32 ux))
(*.f32 ux (-.f32 -1 maxCos))
(-.f32 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (+.f32 1 ux))
(neg.f32 (+.f32 1 ux))
(-.f32 -1 ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 ux (*.f32 maxCos -1))
(*.f32 maxCos (neg.f32 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 ux (*.f32 maxCos -1))
(*.f32 maxCos (neg.f32 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) (*.f32 -1 (+.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
1
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(*.f32 (+.f32 1 maxCos) (neg.f32 ux))
(*.f32 ux (-.f32 -1 maxCos))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux))
(*.f32 (+.f32 1 maxCos) (neg.f32 ux))
(*.f32 ux (-.f32 -1 maxCos))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 (*.f32 -1 maxCos)) ux)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 1 ux)
(+.f32 1 (+.f32 ux (*.f32 ux -2)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 ux (*.f32 maxCos -1))
(*.f32 maxCos (neg.f32 ux))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 ux (*.f32 maxCos -1))
(*.f32 maxCos (neg.f32 ux))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 -1 (*.f32 maxCos ux))) ux)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 ux -2) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (/.f32 (+.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)) 2))
(+.f32 1 (+.f32 1 (/.f32 (*.f32 (+.f32 (*.f32 maxCos ux) (-.f32 -1 ux)) 2) 2)))
(+.f32 (/.f32 (*.f32 (+.f32 (*.f32 maxCos ux) (-.f32 -1 ux)) 2) 2) 2)
(+.f32 (/.f32 (*.f32 (+.f32 -1 (-.f32 (*.f32 maxCos ux) ux)) 2) 2) 2)
(+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 ux (*.f32 ux maxCos)) (+.f32 (+.f32 (*.f32 ux -2) -1) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 0)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) (-.f32 (*.f32 ux -2) (*.f32 ux -2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 0 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 1 ux) (-.f32 (neg.f32 ux) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 2 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (neg.f32 ux) (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) (-.f32 (*.f32 ux -2) -2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) (+.f32 (*.f32 ux -2) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 -1 ux) (+.f32 (*.f32 ux maxCos) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 -1 ux) (neg.f32 (+.f32 -2 (*.f32 maxCos (neg.f32 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) -2) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) (*.f32 ux -2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux -2) 1) (+.f32 1 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux -2) 1) (neg.f32 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux -2) 2) (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 2 (-.f32 -1 ux)) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (neg.f32 (neg.f32 ux)) (+.f32 (+.f32 (*.f32 ux -2) (+.f32 (*.f32 ux maxCos) -1)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (neg.f32 (-.f32 1 ux)) (+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) (neg.f32 (+.f32 (neg.f32 ux) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (neg.f32 (+.f32 (neg.f32 ux) -1)) (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 1 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)) (+.f32 1 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 1) (+.f32 (*.f32 ux -2) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 1) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (-.f32 -1 ux) 1) (+.f32 (*.f32 ux maxCos) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (*.f32 ux maxCos) 1) (+.f32 (-.f32 -1 ux) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (+.f32 (*.f32 ux -2) -1) 1) (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (+.f32 (*.f32 ux -2) (*.f32 ux maxCos)) 1) (+.f32 (neg.f32 (-.f32 1 ux)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (+.f32 (+.f32 (*.f32 ux -2) (+.f32 (*.f32 ux maxCos) -1)) 1) (+.f32 (neg.f32 (neg.f32 ux)) 1))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (neg.f32 ux)) (neg.f32 (+.f32 -2 (-.f32 1 (*.f32 ux maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -4) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))) (+.f32 ux ux))
(+.f32 ux (+.f32 ux (-.f32 (*.f32 ux -4) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))))))
(+.f32 ux (+.f32 ux (+.f32 (-.f32 (*.f32 ux -4) (*.f32 ux (-.f32 -1 maxCos))) 1)))
(+.f32 ux (+.f32 ux (-.f32 1 (*.f32 ux (-.f32 (-.f32 -1 maxCos) -4)))))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 (neg.f32 ux) -1)) (*.f32 ux maxCos))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 (-.f32 1 ux) -1)) (neg.f32 (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)) (neg.f32 (+.f32 (-.f32 1 ux) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (+.f32 -1 (-.f32 1 (*.f32 ux maxCos)))) (neg.f32 (+.f32 (neg.f32 ux) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (*.f32 ux -2) (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2))) (neg.f32 (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 2 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) (neg.f32 (+.f32 1 (+.f32 ux ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 2 (+.f32 -1 (+.f32 ux ux))) (neg.f32 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)))
(-.f32 2 (+.f32 (+.f32 ux (+.f32 ux -1)) (+.f32 2 (*.f32 ux (-.f32 -1 maxCos)))))
(-.f32 2 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) (+.f32 2 (+.f32 ux (+.f32 ux -1)))))
(+.f32 (+.f32 (*.f32 ux -2) 3) (+.f32 -2 (+.f32 ux (*.f32 maxCos ux))))
(+.f32 (/.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) 2) (/.f32 (+.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) (*.f32 ux -4)) 2))
(/.f32 (+.f32 (+.f32 1 (+.f32 ux (*.f32 maxCos ux))) (+.f32 (+.f32 1 (+.f32 ux (*.f32 maxCos ux))) (*.f32 ux -4))) 2)
(/.f32 (+.f32 (*.f32 ux -4) (-.f32 (+.f32 (*.f32 ux (+.f32 1 maxCos)) (*.f32 ux (+.f32 1 maxCos))) -2)) 2)
(+.f32 (/.f32 (*.f32 ux -4) 2) (+.f32 1 (+.f32 ux (*.f32 maxCos ux))))
(+.f32 (/.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 2) (/.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (-.f32 -1 ux)) 4) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (/.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) 2) (/.f32 (+.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) (-.f32 (*.f32 ux -2) -2)) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (*.f32 ux (-.f32 -1 maxCos))) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))) (-.f32 (neg.f32 ux) -2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (*.f32 maxCos (neg.f32 ux))) (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (-.f32 1 ux)) (-.f32 (neg.f32 ux) (+.f32 -2 (*.f32 maxCos (neg.f32 ux)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (neg.f32 ux)) (-.f32 (neg.f32 ux) (+.f32 -2 (-.f32 1 (*.f32 ux maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) -2) (-.f32 (neg.f32 ux) (+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)) (-.f32 (neg.f32 ux) (*.f32 maxCos (neg.f32 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1))) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)) (-.f32 (neg.f32 ux) (+.f32 (-.f32 1 ux) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 (-.f32 1 ux) -1)) (-.f32 (neg.f32 ux) (+.f32 (*.f32 maxCos (neg.f32 ux)) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (-.f32 1 (*.f32 ux maxCos)))) (-.f32 (neg.f32 ux) (+.f32 (neg.f32 ux) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 1 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 -1 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2) 1/2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 1/2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) 1/4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)) -1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2) 2)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) 4)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (+.f32 (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2)) (*.f32 2 (*.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 2))) 8)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (-.f32 (*.f32 2 (*.f32 ux -4)) (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))) 4)
(/.f32 (-.f32 (*.f32 2 (*.f32 ux -4)) (*.f32 (+.f32 1 (+.f32 ux (*.f32 maxCos ux))) -4)) 4)
(/.f32 (-.f32 (*.f32 ux -8) (*.f32 (+.f32 1 (*.f32 ux (+.f32 1 maxCos))) -4)) 4)
(/.f32 (-.f32 (*.f32 ux -8) (*.f32 (+.f32 1 (+.f32 ux (*.f32 maxCos ux))) -4)) 4)
(pow.f32 (+.f32 (*.f32 ux maxCos) (+.f32 2 (-.f32 -1 ux))) 1)
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(neg.f32 (-.f32 (-.f32 ux 2) (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 1 (+.f32 ux (+.f32 (*.f32 ux maxCos) 2)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 1 (-.f32 (*.f32 ux maxCos) (-.f32 -2 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 2)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 0)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 0 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 0 (+.f32 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)) ux))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -2))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 1 ux) (+.f32 2 (*.f32 ux maxCos)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 ux -1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (neg.f32 (+.f32 (neg.f32 ux) -1)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 (+.f32 ux -1) -2))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (+.f32 2 (+.f32 ux -1)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 maxCos (neg.f32 ux)) (+.f32 2 (neg.f32 (-.f32 1 ux))))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (neg.f32 ux) (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (neg.f32 ux) (-.f32 (*.f32 ux maxCos) -1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (neg.f32 ux) (+.f32 2 (neg.f32 (-.f32 1 (*.f32 ux maxCos)))))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (neg.f32 ux) (+.f32 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1)) 0))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 -1 (+.f32 ux (*.f32 ux maxCos)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 (neg.f32 ux) -1) (*.f32 ux maxCos))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (*.f32 ux -2) -2) (+.f32 2 (+.f32 (*.f32 ux maxCos) (-.f32 1 ux))))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 1 (*.f32 ux maxCos)) (-.f32 ux -2))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 1 (*.f32 ux maxCos)) (+.f32 2 ux))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 ux (-.f32 -1 maxCos)) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (-.f32 1 ux) (-.f32 (*.f32 ux maxCos) -1)) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 -2 ux) (+.f32 (*.f32 ux maxCos) -1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 -2 ux) (neg.f32 (-.f32 1 (*.f32 ux maxCos))))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 -1/2 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)) (/.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1) 2))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 (*.f32 ux maxCos) -2) (+.f32 2 (-.f32 (+.f32 ux -1) (*.f32 ux maxCos))))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (*.f32 ux (+.f32 -1 maxCos)) (-.f32 (*.f32 ux (+.f32 maxCos maxCos)) -1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (*.f32 maxCos (neg.f32 ux)) 2) (+.f32 ux -1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (*.f32 maxCos (neg.f32 ux)) 2) (neg.f32 (-.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (-.f32 1 (*.f32 ux maxCos)) 2) ux)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) 2) (+.f32 (*.f32 ux maxCos) (-.f32 1 ux)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 (*.f32 (*.f32 ux maxCos) -2) 2) (-.f32 (+.f32 ux -1) (*.f32 ux maxCos)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (-.f32 0 (+.f32 2 (+.f32 (*.f32 ux maxCos) -1))) ux)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(-.f32 (+.f32 (+.f32 (neg.f32 ux) -1) (+.f32 (neg.f32 ux) -1)) (+.f32 (*.f32 ux maxCos) (+.f32 (neg.f32 ux) -1)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 1 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)) 1/2)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 1/2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) 1/4)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)) 2)
(/.f32 (*.f32 -2 (+.f32 1 (+.f32 ux (*.f32 maxCos ux)))) 2)
(/.f32 (*.f32 -2 (+.f32 1 (*.f32 ux (+.f32 1 maxCos)))) 2)
(/.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) 4)
(/.f32 (*.f32 -2 (+.f32 1 (+.f32 ux (*.f32 maxCos ux)))) 2)
(/.f32 (*.f32 -2 (+.f32 1 (*.f32 ux (+.f32 1 maxCos)))) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))) (*.f32 2 (*.f32 -2 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1)))) 8)
(/.f32 (*.f32 -2 (+.f32 1 (+.f32 ux (*.f32 maxCos ux)))) 2)
(/.f32 (*.f32 -2 (+.f32 1 (*.f32 ux (+.f32 1 maxCos)))) 2)
(pow.f32 (+.f32 -1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(neg.f32 (+.f32 (+.f32 ux (*.f32 ux maxCos)) 1))
(+.f32 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)) -1)
(-.f32 -1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 -1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 0)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (-.f32 (-.f32 1 ux) (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (-.f32 (*.f32 maxCos (neg.f32 ux)) (*.f32 maxCos (neg.f32 ux))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 0 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 1 ux) (*.f32 maxCos (neg.f32 ux)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (neg.f32 ux) (-.f32 1 (*.f32 ux maxCos)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 -1 ux) (-.f32 1 (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 1 (*.f32 ux maxCos)) (neg.f32 ux))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 1 (*.f32 ux maxCos)) (neg.f32 (neg.f32 (neg.f32 ux))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (*.f32 ux (-.f32 -1 maxCos)) 1)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)) (+.f32 1/2 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 1 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)) (neg.f32 (/.f32 (+.f32 ux (*.f32 ux maxCos)) 2)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 (-.f32 1 ux) (/.f32 (*.f32 ux maxCos) 2)) (neg.f32 (/.f32 (*.f32 ux maxCos) 2)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 (-.f32 1 (*.f32 ux maxCos)) (/.f32 ux 2)) (neg.f32 (/.f32 ux 2)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 ux maxCos)) (neg.f32 (-.f32 1 ux)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 (*.f32 (*.f32 ux maxCos) -2) (+.f32 ux -1)) (*.f32 ux maxCos))
(+.f32 (*.f32 maxCos ux) (-.f32 (*.f32 -2 (*.f32 maxCos ux)) (+.f32 ux -1)))
(+.f32 1 (+.f32 (-.f32 (*.f32 maxCos (*.f32 ux -2)) ux) (*.f32 maxCos ux)))
(+.f32 (*.f32 maxCos ux) (+.f32 1 (-.f32 (*.f32 -2 (*.f32 maxCos ux)) ux)))
(+.f32 (-.f32 -1 (*.f32 ux maxCos)) (-.f32 1 (+.f32 ux -1)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (/.f32 (*.f32 maxCos (neg.f32 ux)) 2) (/.f32 (+.f32 (*.f32 maxCos (neg.f32 ux)) (-.f32 (*.f32 ux -2) -2)) 2))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (/.f32 (-.f32 1 ux) 2) (/.f32 (+.f32 (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) -2)) 2))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (/.f32 (*.f32 ux (-.f32 -1 maxCos)) 2) (/.f32 (+.f32 (*.f32 ux (-.f32 -1 maxCos)) 2) 2))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (/.f32 (neg.f32 ux) 2) (/.f32 (+.f32 1 (+.f32 (-.f32 1 ux) (*.f32 (*.f32 ux maxCos) -2))) 2))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 -1 (+.f32 ux -1)) (-.f32 1 (*.f32 ux maxCos)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(+.f32 (-.f32 -1 (+.f32 (*.f32 ux maxCos) -1)) (-.f32 1 ux))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 1 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) -1)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))) 1/2)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 1/2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(*.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) 1/4)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)) -1)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))) 2)
(/.f32 (*.f32 -2 (+.f32 ux (+.f32 -1 (*.f32 maxCos ux)))) 2)
(/.f32 (*.f32 -2 (+.f32 -1 (*.f32 ux (+.f32 1 maxCos)))) 2)
(/.f32 (*.f32 -2 (+.f32 (*.f32 maxCos ux) (+.f32 ux -1))) 2)
(/.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) 4)
(/.f32 (*.f32 -2 (+.f32 ux (+.f32 -1 (*.f32 maxCos ux)))) 2)
(/.f32 (*.f32 -2 (+.f32 -1 (*.f32 ux (+.f32 1 maxCos)))) 2)
(/.f32 (*.f32 -2 (+.f32 (*.f32 maxCos ux) (+.f32 ux -1))) 2)
(/.f32 (+.f32 (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))) (*.f32 2 (*.f32 -2 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1))))) 8)
(/.f32 (*.f32 -2 (+.f32 ux (+.f32 -1 (*.f32 maxCos ux)))) 2)
(/.f32 (*.f32 -2 (+.f32 -1 (*.f32 ux (+.f32 1 maxCos)))) 2)
(/.f32 (*.f32 -2 (+.f32 (*.f32 maxCos ux) (+.f32 ux -1))) 2)
(/.f32 (+.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 (*.f32 ux maxCos) -2)) 2)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (+.f32 (*.f32 (*.f32 ux maxCos) -2) (-.f32 (*.f32 ux -2) -2)) 2)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(/.f32 (-.f32 (-.f32 (*.f32 ux -2) -2) (*.f32 ux (+.f32 maxCos maxCos))) 2)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(pow.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) 1)
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))
(neg.f32 (+.f32 ux (+.f32 (*.f32 ux maxCos) -1)))
(+.f32 1 (*.f32 (+.f32 1 maxCos) (neg.f32 ux)))
(-.f32 1 (*.f32 ux (+.f32 1 maxCos)))
(+.f32 1 (*.f32 ux (-.f32 -1 maxCos)))

eval194.0ms (1.9%)

Compiler

Compiled 3289 to 2115 computations (35.7% saved)

prune117.0ms (1.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2251226
Fresh011
Picked101
Done033
Total2265231
Error
0b
Counts
231 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(-.f32 (*.f32 ux -2) (-.f32 -1 ux))
0.0b
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
0.7b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.9b
1
Compiler

Compiled 40 to 31 computations (22.5% saved)

localize83.0ms (0.8%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.5b
(-.f32 (*.f32 ux -2) (-.f32 -1 ux))
Compiler

Compiled 19 to 14 computations (26.3% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite168.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1064×rational_best-simplify-75
1032×rational_best-simplify-76
806×rational_best-simplify-56
704×rational_best-simplify-67
626×rational_best-simplify-64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0819
15319
211019
331511
413677
Stop Event
node limit
Counts
1 → 79
Calls
Call 1
Inputs
(-.f32 (*.f32 ux -2) (-.f32 -1 ux))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 ux (+.f32 (*.f32 ux -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux -2) (+.f32 ux 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 ux) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (neg.f32 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux (+.f32 ux -1)) (-.f32 1 (-.f32 -1 (*.f32 ux -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux -1) (-.f32 2 (+.f32 ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux 1) (*.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) 1) ux)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 ux ux) (+.f32 1 (*.f32 ux -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 2 (-.f32 -1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 2 (+.f32 ux ux)) (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (*.f32 ux -3)) (+.f32 ux ux))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 ux 2) (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 ux 2) (/.f32 (-.f32 (*.f32 ux -3) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 1/2 (/.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux -2) -1) (neg.f32 (+.f32 -2 (neg.f32 ux))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) (/.f32 (+.f32 ux -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 ux -2) (/.f32 (-.f32 1 (+.f32 ux -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (+.f32 -2 (neg.f32 ux))) (+.f32 (*.f32 ux -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 -1 ux) -2) (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 -1 ux) -2) (/.f32 (+.f32 (/.f32 ux 2) (+.f32 ux -1/2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 -1 ux) -2) (-.f32 (/.f32 (-.f32 -1 ux) -2) (+.f32 ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (neg.f32 ux) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (*.f32 (-.f32 1 ux) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (/.f32 (-.f32 -1 ux) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (-.f32 (*.f32 ux -2) (/.f32 (+.f32 (-.f32 -1 ux) (*.f32 ux -4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 ux -3) 2) (+.f32 (/.f32 ux 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (*.f32 ux -3) 2) (/.f32 (neg.f32 (+.f32 -2 (neg.f32 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))) (/.f32 ux 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (/.f32 ux 2) 1) (/.f32 (*.f32 ux -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 (/.f32 ux 2) (+.f32 ux -1/2)) -1) (/.f32 (-.f32 -1 ux) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 (/.f32 (+.f32 ux -1) 2) (+.f32 ux -1/2)) -1) (/.f32 ux 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (+.f32 1 (*.f32 ux -3)) 4) (/.f32 (+.f32 (+.f32 ux 1) (-.f32 2 (+.f32 ux ux))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (-.f32 -1 ux)) (+.f32 (*.f32 ux -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 ux (/.f32 ux 2)) (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 ux 2) (-.f32 -1 (*.f32 ux -3))) (/.f32 (*.f32 ux 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (/.f32 ux -2)) (-.f32 (neg.f32 ux) (+.f32 (/.f32 ux -2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 (-.f32 -1 ux) -2) (+.f32 ux ux)) (/.f32 (-.f32 -1 ux) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (/.f32 ux 2) (+.f32 ux -1)) (/.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux -3))) (*.f32 ux -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 (neg.f32 ux) (-.f32 -1 (/.f32 ux 2))) (-.f32 (neg.f32 ux) (/.f32 ux -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 -1 (*.f32 ux 4)) (-.f32 1 (+.f32 -1 (*.f32 ux -3))))))) (#(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 (-.f32 -1 (*.f32 ux -3))) (+.f32 ux (+.f32 ux 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 ux -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 ux -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (-.f32 1 ux) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 2 (+.f32 ux ux)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 2 (+.f32 ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 ux) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (-.f32 1 ux) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 ux -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 2 (+.f32 ux ux)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 ux) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 ux -1) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 ux -1) 2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (*.f32 2 (*.f32 (+.f32 ux -1) 2)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 ux -8) (neg.f32 (*.f32 (-.f32 -1 ux) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (neg.f32 (*.f32 (-.f32 -1 ux) 4)) (*.f32 ux -8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (+.f32 ux ux) (-.f32 (*.f32 ux -4) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 ux ux) -8) (*.f32 2 (*.f32 (-.f32 -1 ux) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (-.f32 (*.f32 ux 4) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (-.f32 (+.f32 ux ux) -2) (*.f32 ux 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (neg.f32 (*.f32 (-.f32 -1 ux) 4)) (neg.f32 (*.f32 ux -8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (-.f32 (*.f32 ux -4) -2) (*.f32 ux -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (-.f32 -1 (*.f32 ux -3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (+.f32 ux ux) -8) (+.f32 (*.f32 (-.f32 -1 ux) 4) (*.f32 ux -8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 2 (+.f32 -1 (*.f32 ux -3))) (*.f32 (-.f32 -1 ux) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (+.f32 (*.f32 (-.f32 -1 ux) 4) (*.f32 ux -8)) (*.f32 2 (*.f32 (-.f32 -1 ux) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 ux -1))))))

simplify373.0ms (3.7%)

Algorithm
egg-herbie
Rules
1132×rational_best-simplify-55
990×rational_best-simplify-47
898×rational_best-simplify-50
836×rational_best-simplify-63
524×rational_best-simplify-65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02011221
1528901
21287901
35088873
Stop Event
node limit
Counts
91 → 99
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)
(+.f32 ux (+.f32 (*.f32 ux -2) 1))
(+.f32 (*.f32 ux -2) (+.f32 ux 1))
(+.f32 (-.f32 1 ux) 0)
(+.f32 0 (-.f32 1 ux))
(+.f32 1 (neg.f32 ux))
(+.f32 (+.f32 ux (+.f32 ux -1)) (-.f32 1 (-.f32 -1 (*.f32 ux -3))))
(+.f32 (+.f32 ux -1) (-.f32 2 (+.f32 ux ux)))
(+.f32 (+.f32 ux 1) (*.f32 ux -2))
(+.f32 (+.f32 (*.f32 ux -2) 1) ux)
(+.f32 (neg.f32 ux) 1)
(+.f32 (+.f32 ux ux) (+.f32 1 (*.f32 ux -3)))
(+.f32 2 (-.f32 -1 ux))
(+.f32 (-.f32 2 (+.f32 ux ux)) (+.f32 ux -1))
(+.f32 (+.f32 1 (*.f32 ux -3)) (+.f32 ux ux))
(+.f32 (/.f32 ux 2) (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))))
(+.f32 (/.f32 ux 2) (/.f32 (-.f32 (*.f32 ux -3) -2) 2))
(+.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 1/2 (/.f32 ux -2)))
(+.f32 (+.f32 (*.f32 ux -2) -1) (neg.f32 (+.f32 -2 (neg.f32 ux))))
(+.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) (/.f32 (+.f32 ux -1) 2))
(+.f32 (/.f32 ux -2) (/.f32 (-.f32 1 (+.f32 ux -1)) 2))
(+.f32 (neg.f32 (+.f32 -2 (neg.f32 ux))) (+.f32 (*.f32 ux -2) -1))
(+.f32 (/.f32 (-.f32 -1 ux) -2) (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)))
(+.f32 (/.f32 (-.f32 -1 ux) -2) (/.f32 (+.f32 (/.f32 ux 2) (+.f32 ux -1/2)) -1))
(+.f32 (/.f32 (-.f32 -1 ux) -2) (-.f32 (/.f32 (-.f32 -1 ux) -2) (+.f32 ux ux)))
(+.f32 (+.f32 (neg.f32 ux) 1/2) 1/2)
(+.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) 2))
(+.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (*.f32 (-.f32 1 ux) 3) 4))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (/.f32 (-.f32 -1 ux) -2))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (-.f32 (*.f32 ux -2) (/.f32 (+.f32 (-.f32 -1 ux) (*.f32 ux -4)) 2)))
(+.f32 (/.f32 (*.f32 ux -3) 2) (+.f32 (/.f32 ux 2) 1))
(+.f32 (/.f32 (*.f32 ux -3) 2) (/.f32 (neg.f32 (+.f32 -2 (neg.f32 ux))) 2))
(+.f32 (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))) (/.f32 ux 2))
(+.f32 (+.f32 (/.f32 ux 2) 1) (/.f32 (*.f32 ux -3) 2))
(+.f32 (/.f32 (+.f32 (/.f32 ux 2) (+.f32 ux -1/2)) -1) (/.f32 (-.f32 -1 ux) -2))
(+.f32 (/.f32 (+.f32 (/.f32 (+.f32 ux -1) 2) (+.f32 ux -1/2)) -1) (/.f32 ux 2))
(+.f32 (/.f32 (+.f32 1 (*.f32 ux -3)) 4) (/.f32 (+.f32 (+.f32 ux 1) (-.f32 2 (+.f32 ux ux))) 4))
(+.f32 (-.f32 -1 (-.f32 -1 ux)) (+.f32 (*.f32 ux -2) 1))
(+.f32 (-.f32 ux (/.f32 ux 2)) (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))))
(+.f32 (-.f32 (/.f32 ux 2) (-.f32 -1 (*.f32 ux -3))) (/.f32 (*.f32 ux 3) 2))
(+.f32 (-.f32 (neg.f32 ux) (/.f32 ux -2)) (-.f32 (neg.f32 ux) (+.f32 (/.f32 ux -2) -1)))
(+.f32 (-.f32 (/.f32 (-.f32 -1 ux) -2) (+.f32 ux ux)) (/.f32 (-.f32 -1 ux) -2))
(+.f32 (-.f32 (/.f32 ux 2) (+.f32 ux -1)) (/.f32 ux -2))
(+.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux -3))) (*.f32 ux -3))
(+.f32 (-.f32 (neg.f32 ux) (-.f32 -1 (/.f32 ux 2))) (-.f32 (neg.f32 ux) (/.f32 ux -2)))
(+.f32 (-.f32 -1 (*.f32 ux 4)) (-.f32 1 (+.f32 -1 (*.f32 ux -3))))
(+.f32 (-.f32 -1 (+.f32 ux ux)) (-.f32 1 (-.f32 -1 ux)))
(+.f32 (-.f32 -1 (-.f32 -1 (*.f32 ux -3))) (+.f32 ux (+.f32 ux 1)))
(*.f32 -1 (+.f32 ux -1))
(*.f32 (-.f32 1 ux) 1)
(*.f32 1 (-.f32 1 ux))
(*.f32 (+.f32 ux -1) -1)
(*.f32 2 (*.f32 (-.f32 1 ux) 1/2))
(*.f32 (-.f32 2 (+.f32 ux ux)) 1/2)
(*.f32 1/2 (-.f32 2 (+.f32 ux ux)))
(*.f32 (*.f32 (-.f32 1 ux) 4) 1/4)
(*.f32 1/4 (*.f32 (-.f32 1 ux) 4))
(*.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 1/8)
(/.f32 (-.f32 1 ux) 1)
(/.f32 (+.f32 ux -1) -1)
(/.f32 (-.f32 2 (+.f32 ux ux)) 2)
(/.f32 (*.f32 (-.f32 1 ux) 4) 4)
(/.f32 (*.f32 (+.f32 ux -1) 2) -2)
(/.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 8)
(/.f32 (*.f32 2 (*.f32 (+.f32 ux -1) 2)) -4)
(/.f32 (/.f32 (*.f32 2 (*.f32 (+.f32 ux -1) 2)) -1) 4)
(/.f32 (+.f32 (*.f32 ux -8) (neg.f32 (*.f32 (-.f32 -1 ux) 4))) 4)
(/.f32 (+.f32 (neg.f32 (*.f32 (-.f32 -1 ux) 4)) (*.f32 ux -8)) 4)
(/.f32 (+.f32 (+.f32 ux ux) (-.f32 (*.f32 ux -4) -2)) 2)
(/.f32 (-.f32 (*.f32 (+.f32 ux ux) -8) (*.f32 2 (*.f32 (-.f32 -1 ux) 4))) 8)
(/.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (-.f32 (*.f32 ux 4) 2))) 4)
(/.f32 (-.f32 (-.f32 (+.f32 ux ux) -2) (*.f32 ux 4)) 2)
(/.f32 (-.f32 (neg.f32 (*.f32 (-.f32 -1 ux) 4)) (neg.f32 (*.f32 ux -8))) 4)
(/.f32 (-.f32 (-.f32 (*.f32 ux -4) -2) (*.f32 ux -2)) 2)
(/.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (-.f32 -1 (*.f32 ux -3)))) 2)
(/.f32 (-.f32 (*.f32 (+.f32 ux ux) -8) (+.f32 (*.f32 (-.f32 -1 ux) 4) (*.f32 ux -8))) 4)
(/.f32 (-.f32 (*.f32 2 (+.f32 -1 (*.f32 ux -3))) (*.f32 (-.f32 -1 ux) 4)) 2)
(/.f32 (-.f32 (+.f32 (*.f32 (-.f32 -1 ux) 4) (*.f32 ux -8)) (*.f32 2 (*.f32 (-.f32 -1 ux) 4))) 4)
(pow.f32 (-.f32 1 ux) 1)
(neg.f32 (+.f32 ux -1))
Outputs
1
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 ux (+.f32 (*.f32 ux -2) 1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 ux -2) (+.f32 ux 1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 1 ux) 0)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 0 (-.f32 1 ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 ux (+.f32 ux -1)) (-.f32 1 (-.f32 -1 (*.f32 ux -3))))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 ux -1) (-.f32 2 (+.f32 ux ux)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 ux 1) (*.f32 ux -2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 (*.f32 ux -2) 1) ux)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (neg.f32 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 ux ux) (+.f32 1 (*.f32 ux -3)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 2 (-.f32 -1 ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 2 (+.f32 ux ux)) (+.f32 ux -1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 1 (*.f32 ux -3)) (+.f32 ux ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 ux 2) (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 ux 2) (/.f32 (-.f32 (*.f32 ux -3) -2) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 1/2 (/.f32 ux -2)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 (*.f32 ux -2) -1) (neg.f32 (+.f32 -2 (neg.f32 ux))))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) (/.f32 (+.f32 ux -1) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 ux -2) (/.f32 (-.f32 1 (+.f32 ux -1)) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (neg.f32 (+.f32 -2 (neg.f32 ux))) (+.f32 (*.f32 ux -2) -1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (-.f32 -1 ux) -2) (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)))
(+.f32 (-.f32 1/2 (/.f32 ux -2)) (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (+.f32 (*.f32 ux 1/2) 1/2))
(+.f32 (/.f32 (-.f32 -1 ux) -2) (/.f32 (+.f32 (/.f32 ux 2) (+.f32 ux -1/2)) -1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (-.f32 -1 ux) -2) (-.f32 (/.f32 (-.f32 -1 ux) -2) (+.f32 ux ux)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 (neg.f32 ux) 1/2) 1/2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (*.f32 (-.f32 1 ux) 3) 4))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (/.f32 (-.f32 -1 ux) -2))
(+.f32 (-.f32 1/2 (/.f32 ux -2)) (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (+.f32 (*.f32 ux 1/2) 1/2))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (-.f32 (*.f32 ux -2) (/.f32 (+.f32 (-.f32 -1 ux) (*.f32 ux -4)) 2)))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (+.f32 (*.f32 ux 2) (-.f32 (*.f32 ux -2) (-.f32 -1/2 (*.f32 ux 1/2)))))
(+.f32 (-.f32 1/2 (/.f32 (*.f32 ux 3) 2)) (+.f32 0 (+.f32 (*.f32 ux 1/2) 1/2)))
(+.f32 (/.f32 (*.f32 ux -3) 2) (+.f32 (/.f32 ux 2) 1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (*.f32 ux -3) 2) (/.f32 (neg.f32 (+.f32 -2 (neg.f32 ux))) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))) (/.f32 ux 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (+.f32 (/.f32 ux 2) 1) (/.f32 (*.f32 ux -3) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (+.f32 (/.f32 ux 2) (+.f32 ux -1/2)) -1) (/.f32 (-.f32 -1 ux) -2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (+.f32 (/.f32 (+.f32 ux -1) 2) (+.f32 ux -1/2)) -1) (/.f32 ux 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (/.f32 (+.f32 1 (*.f32 ux -3)) 4) (/.f32 (+.f32 (+.f32 ux 1) (-.f32 2 (+.f32 ux ux))) 4))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 -1 (-.f32 -1 ux)) (+.f32 (*.f32 ux -2) 1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 ux (/.f32 ux 2)) (-.f32 (/.f32 ux 2) (+.f32 ux (+.f32 ux -1))))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 (/.f32 ux 2) (-.f32 -1 (*.f32 ux -3))) (/.f32 (*.f32 ux 3) 2))
(+.f32 (/.f32 (*.f32 ux 3) 2) (-.f32 (/.f32 ux 2) (-.f32 -1 (*.f32 ux -3))))
(+.f32 (/.f32 (*.f32 ux 3) 2) (-.f32 (*.f32 ux -3) (-.f32 -1 (/.f32 ux 2))))
(+.f32 (/.f32 (*.f32 ux 3) 2) (-.f32 (*.f32 ux -3) (-.f32 -1 (*.f32 ux 1/2))))
(+.f32 (-.f32 (neg.f32 ux) (/.f32 ux -2)) (-.f32 (neg.f32 ux) (+.f32 (/.f32 ux -2) -1)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 (/.f32 (-.f32 -1 ux) -2) (+.f32 ux ux)) (/.f32 (-.f32 -1 ux) -2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 (/.f32 ux 2) (+.f32 ux -1)) (/.f32 ux -2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 (neg.f32 ux) (+.f32 -1 (*.f32 ux -3))) (*.f32 ux -3))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 (neg.f32 ux) (-.f32 -1 (/.f32 ux 2))) (-.f32 (neg.f32 ux) (/.f32 ux -2)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 -1 (*.f32 ux 4)) (-.f32 1 (+.f32 -1 (*.f32 ux -3))))
(+.f32 (-.f32 -1 (*.f32 ux 4)) (+.f32 2 (neg.f32 (*.f32 ux -3))))
(+.f32 2 (+.f32 (neg.f32 (*.f32 ux -3)) (-.f32 -1 (*.f32 ux 4))))
(+.f32 2 (+.f32 (*.f32 ux 3) (-.f32 -1 (*.f32 ux 4))))
(+.f32 (-.f32 -1 (+.f32 ux ux)) (-.f32 1 (-.f32 -1 ux)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (-.f32 -1 (-.f32 -1 (*.f32 ux -3))) (+.f32 ux (+.f32 ux 1)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 -1 (+.f32 ux -1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (-.f32 1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 1 (-.f32 1 ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (+.f32 ux -1) -1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 2 (*.f32 (-.f32 1 ux) 1/2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (-.f32 2 (+.f32 ux ux)) 1/2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 1/2 (-.f32 2 (+.f32 ux ux)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (*.f32 (-.f32 1 ux) 4) 1/4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 1/4 (*.f32 (-.f32 1 ux) 4))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 1/8)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (+.f32 ux -1) -1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 2 (+.f32 ux ux)) 2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (*.f32 (-.f32 1 ux) 4) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (*.f32 (+.f32 ux -1) 2) -2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 8)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (*.f32 2 (*.f32 (+.f32 ux -1) 2)) -4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (/.f32 (*.f32 2 (*.f32 (+.f32 ux -1) 2)) -1) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (+.f32 (*.f32 ux -8) (neg.f32 (*.f32 (-.f32 -1 ux) 4))) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (+.f32 (neg.f32 (*.f32 (-.f32 -1 ux) 4)) (*.f32 ux -8)) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (+.f32 (+.f32 ux ux) (-.f32 (*.f32 ux -4) -2)) 2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 (*.f32 (+.f32 ux ux) -8) (*.f32 2 (*.f32 (-.f32 -1 ux) 4))) 8)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (-.f32 (*.f32 ux 4) 2))) 4)
(/.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (+.f32 -2 (*.f32 ux 4)))) 4)
(-.f32 ux (/.f32 (*.f32 2 (+.f32 -2 (*.f32 ux 4))) 4))
(/.f32 (-.f32 (-.f32 (+.f32 ux ux) -2) (*.f32 ux 4)) 2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 (neg.f32 (*.f32 (-.f32 -1 ux) 4)) (neg.f32 (*.f32 ux -8))) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 (-.f32 (*.f32 ux -4) -2) (*.f32 ux -2)) 2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 (*.f32 ux 4) (*.f32 2 (-.f32 -1 (*.f32 ux -3)))) 2)
(/.f32 (-.f32 (*.f32 ux 4) (*.f32 (-.f32 -1 (*.f32 ux -3)) 2)) 2)
(-.f32 (*.f32 ux 2) (/.f32 (*.f32 (-.f32 -1 (*.f32 ux -3)) 4) 4))
(/.f32 (-.f32 (*.f32 (+.f32 ux ux) -8) (+.f32 (*.f32 (-.f32 -1 ux) 4) (*.f32 ux -8))) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 (*.f32 2 (+.f32 -1 (*.f32 ux -3))) (*.f32 (-.f32 -1 ux) 4)) 2)
(-.f32 (/.f32 (*.f32 2 (-.f32 (*.f32 ux -6) 2)) 4) (*.f32 2 (-.f32 -1 ux)))
(/.f32 (-.f32 (+.f32 (*.f32 (-.f32 -1 ux) 4) (*.f32 ux -8)) (*.f32 2 (*.f32 (-.f32 -1 ux) 4))) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(pow.f32 (-.f32 1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(neg.f32 (+.f32 ux -1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)

eval117.0ms (1.2%)

Compiler

Compiled 1054 to 813 computations (22.9% saved)

prune56.0ms (0.6%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New98199
Fresh011
Picked011
Done033
Total986104
Error
0b
Counts
104 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(-.f32 (*.f32 ux -2) (-.f32 -1 ux))
0.0b
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
0.7b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
1.1b
(+.f32 2 (-.f32 -1 ux))
9.9b
1
Compiler

Compiled 48 to 38 computations (20.8% saved)

localize53.0ms (0.5%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.4b
(+.f32 2 (-.f32 -1 ux))
Compiler

Compiled 14 to 11 computations (21.4% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite257.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1942×rational_best-1
1940×rational_best-4
1940×rational_best-2
1940×rational_best-3
642×rational_best-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0713
14513
2867
32157
47697
555187
Stop Event
node limit
Counts
1 → 55
Calls
Call 1
Inputs
(+.f32 2 (-.f32 -1 ux))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 2 (+.f32 ux 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 -1 (+.f32 ux -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 -1 ux) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 ux) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (+.f32 -1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1 ux)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (+.f32 ux 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (neg.f32 ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1/2 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 ux 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 1/2 (/.f32 (-.f32 ux (-.f32 1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 ux -2) -1/2) (-.f32 (/.f32 ux 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 ux -2) -1/2) (+.f32 (+.f32 (/.f32 ux 2) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 ux -2) -1/2) (/.f32 (+.f32 -2 (+.f32 -1 ux)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (/.f32 ux 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 2 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 ux -2) (/.f32 (+.f32 ux -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (-.f32 ux (+.f32 (/.f32 ux -2) 3/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (-.f32 1 ux) 4) (-.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (-.f32 1 ux) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 -1/2 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (+.f32 ux -2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 -1/2 (/.f32 (+.f32 -2 (-.f32 ux (-.f32 1 ux))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 ux -2) 3/2) (/.f32 (+.f32 ux 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) (+.f32 1/2 (/.f32 ux -2))) (-.f32 0 (/.f32 (-.f32 1 ux) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (neg.f32 ux) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 (+.f32 (/.f32 ux -2) -1/2) -2) (/.f32 (+.f32 ux 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 (+.f32 ux 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 1/2 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 ux 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (-.f32 -1/2 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 (+.f32 ux -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (-.f32 2 ux) 2) (/.f32 ux 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 2 (+.f32 1/2 (/.f32 ux -2))) 2) (/.f32 (+.f32 ux (/.f32 (+.f32 ux 1) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (-.f32 (+.f32 (/.f32 ux -2) -1/2) ux) 2) (/.f32 (-.f32 (/.f32 ux 2) 5/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) 2) (/.f32 (+.f32 (/.f32 ux 2) -1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 4) (/.f32 (+.f32 -1 ux) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 (/.f32 ux -2) 3/2) 2) (/.f32 (+.f32 (/.f32 (*.f32 ux 3) 2) -1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (+.f32 -1 (+.f32 1/2 (/.f32 ux -2))) 2) (/.f32 (+.f32 (-.f32 ux (+.f32 (/.f32 ux -2) 3/2)) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) 1) (-.f32 (/.f32 (+.f32 ux 1) 2) (/.f32 (-.f32 1 ux) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) (+.f32 (/.f32 ux -2) -1/2)) (-.f32 -1 (/.f32 (-.f32 1 ux) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) 1/2) (-.f32 (/.f32 ux 2) (/.f32 (-.f32 1 ux) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) -1/2) (-.f32 (/.f32 (+.f32 ux -2) 2) (/.f32 (-.f32 1 ux) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (-.f32 1 ux) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (-.f32 1 ux))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (-.f32 2 (+.f32 ux ux)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 -1 ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (-.f32 2 (+.f32 ux ux)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 ux) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (-.f32 1 ux) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 2 (+.f32 ux ux)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 -1 ux) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 ux) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (-.f32 2 (+.f32 ux ux)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (-.f32 1 ux) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 -1 ux))))))

simplify263.0ms (2.6%)

Algorithm
egg-herbie
Rules
722×rational_best-simplify-50
714×rational_best-simplify-47
696×rational_best-simplify-57
568×rational_best-simplify-55
480×rational_best-simplify-65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0150811
1395537
21103537
35179531
Stop Event
node limit
Counts
67 → 68
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)
(-.f32 2 (+.f32 ux 1))
(-.f32 -1 (+.f32 ux -2))
(-.f32 (-.f32 -1 ux) -2)
(-.f32 (-.f32 1 ux) 0)
(-.f32 0 (+.f32 -1 ux))
(-.f32 1 ux)
(-.f32 1 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (+.f32 ux 1) 2)))
(-.f32 (neg.f32 ux) -1)
(-.f32 1/2 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 ux 2)))
(-.f32 1/2 (/.f32 (-.f32 ux (-.f32 1 ux)) 2))
(-.f32 (+.f32 (/.f32 ux -2) -1/2) (-.f32 (/.f32 ux 2) 3/2))
(-.f32 (+.f32 (/.f32 ux -2) -1/2) (+.f32 (+.f32 (/.f32 ux 2) -1/2) -1))
(-.f32 (+.f32 (/.f32 ux -2) -1/2) (/.f32 (+.f32 -2 (+.f32 -1 ux)) 2))
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (/.f32 ux 2) -1/2))
(-.f32 (-.f32 2 ux) 1)
(-.f32 (/.f32 ux -2) (/.f32 (+.f32 ux -2) 2))
(-.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (-.f32 ux (+.f32 (/.f32 ux -2) 3/2)) 2))
(-.f32 (/.f32 (-.f32 1 ux) 4) (-.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (-.f32 1 ux) 4)))
(-.f32 -1/2 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (+.f32 ux -2) 2)))
(-.f32 -1/2 (/.f32 (+.f32 -2 (-.f32 ux (-.f32 1 ux))) 2))
(-.f32 (+.f32 (/.f32 ux -2) 3/2) (/.f32 (+.f32 ux 1) 2))
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) (+.f32 1/2 (/.f32 ux -2))) (-.f32 0 (/.f32 (-.f32 1 ux) 4)))
(-.f32 (-.f32 (neg.f32 ux) -2) 1)
(-.f32 (-.f32 (+.f32 (/.f32 ux -2) -1/2) -2) (/.f32 (+.f32 ux 1) 2))
(-.f32 (-.f32 1 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 (+.f32 ux 1) 2))
(-.f32 (-.f32 1/2 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 ux 2))
(-.f32 (-.f32 -1/2 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 (+.f32 ux -2) 2))
(-.f32 (/.f32 (-.f32 2 ux) 2) (/.f32 ux 2))
(-.f32 (/.f32 (+.f32 2 (+.f32 1/2 (/.f32 ux -2))) 2) (/.f32 (+.f32 ux (/.f32 (+.f32 ux 1) 2)) 2))
(-.f32 (/.f32 (-.f32 (+.f32 (/.f32 ux -2) -1/2) ux) 2) (/.f32 (-.f32 (/.f32 ux 2) 5/2) 2))
(-.f32 (/.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) 2) (/.f32 (+.f32 (/.f32 ux 2) -1/2) 2))
(-.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 4) (/.f32 (+.f32 -1 ux) 4))
(-.f32 (/.f32 (+.f32 (/.f32 ux -2) 3/2) 2) (/.f32 (+.f32 (/.f32 (*.f32 ux 3) 2) -1/2) 2))
(-.f32 (/.f32 (+.f32 -1 (+.f32 1/2 (/.f32 ux -2))) 2) (/.f32 (+.f32 (-.f32 ux (+.f32 (/.f32 ux -2) 3/2)) -1) 2))
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) 1) (-.f32 (/.f32 (+.f32 ux 1) 2) (/.f32 (-.f32 1 ux) 4)))
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) (+.f32 (/.f32 ux -2) -1/2)) (-.f32 -1 (/.f32 (-.f32 1 ux) 4)))
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) 1/2) (-.f32 (/.f32 ux 2) (/.f32 (-.f32 1 ux) 4)))
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) -1/2) (-.f32 (/.f32 (+.f32 ux -2) 2) (/.f32 (-.f32 1 ux) 4)))
(*.f32 2 (*.f32 (-.f32 1 ux) 1/2))
(*.f32 (-.f32 1 ux) 1)
(*.f32 1 (-.f32 1 ux))
(*.f32 (-.f32 2 (+.f32 ux ux)) 1/2)
(*.f32 (+.f32 -1 ux) -1)
(*.f32 1/2 (-.f32 2 (+.f32 ux ux)))
(*.f32 (*.f32 (-.f32 1 ux) 4) 1/4)
(*.f32 1/4 (*.f32 (-.f32 1 ux) 4))
(*.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 1/8)
(/.f32 (-.f32 1 ux) 1)
(/.f32 (-.f32 2 (+.f32 ux ux)) 2)
(/.f32 (+.f32 -1 ux) -1)
(/.f32 (*.f32 (-.f32 1 ux) 4) 4)
(/.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 8)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (-.f32 2 (+.f32 ux ux)) 4)) 16)
(pow.f32 (-.f32 1 ux) 1)
(neg.f32 (+.f32 -1 ux))
Outputs
1
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 2 (+.f32 ux 1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 -1 (+.f32 ux -2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 -1 ux) -2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 1 ux) 0)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 0 (+.f32 -1 ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 1 ux)
(+.f32 1 (neg.f32 ux))
(-.f32 1 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (+.f32 ux 1) 2)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (neg.f32 ux) -1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 1/2 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 ux 2)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 1/2 (/.f32 (-.f32 ux (-.f32 1 ux)) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 ux -2) -1/2) (-.f32 (/.f32 ux 2) 3/2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 ux -2) -1/2) (+.f32 (+.f32 (/.f32 ux 2) -1/2) -1))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 ux -2) -1/2) (/.f32 (+.f32 -2 (+.f32 -1 ux)) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 1/2 (/.f32 ux -2)) (+.f32 (/.f32 ux 2) -1/2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 2 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 ux -2) (/.f32 (+.f32 ux -2) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 (-.f32 1 ux) 4) (/.f32 (-.f32 ux (+.f32 (/.f32 ux -2) 3/2)) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 (-.f32 1 ux) 4) (-.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (-.f32 1 ux) 4)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 -1/2 (+.f32 (+.f32 (/.f32 ux 2) -1/2) (/.f32 (+.f32 ux -2) 2)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 -1/2 (/.f32 (+.f32 -2 (-.f32 ux (-.f32 1 ux))) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 ux -2) 3/2) (/.f32 (+.f32 ux 1) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) (+.f32 1/2 (/.f32 ux -2))) (-.f32 0 (/.f32 (-.f32 1 ux) 4)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 (neg.f32 ux) -2) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 (+.f32 (/.f32 ux -2) -1/2) -2) (/.f32 (+.f32 ux 1) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 1 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 (+.f32 ux 1) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 1/2 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 ux 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (-.f32 -1/2 (+.f32 (/.f32 ux 2) -1/2)) (/.f32 (+.f32 ux -2) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 (-.f32 2 ux) 2) (/.f32 ux 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 (+.f32 2 (+.f32 1/2 (/.f32 ux -2))) 2) (/.f32 (+.f32 ux (/.f32 (+.f32 ux 1) 2)) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 (-.f32 (+.f32 (/.f32 ux -2) -1/2) ux) 2) (/.f32 (-.f32 (/.f32 ux 2) 5/2) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (/.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 2) 2) (/.f32 (+.f32 (/.f32 ux 2) -1/2) 2))
(-.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 4) (/.f32 (+.f32 (/.f32 ux 2) -1/2) 2))
(/.f32 (+.f32 (-.f32 (*.f32 (-.f32 1 ux) 3) ux) 1) 4)
(+.f32 1/4 (/.f32 (-.f32 (*.f32 (-.f32 1 ux) 3) ux) 4))
(/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 1 ux) 3) ux)) 4)
(-.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 4) (/.f32 (+.f32 -1 ux) 4))
(-.f32 (/.f32 (*.f32 (-.f32 1 ux) 3) 4) (/.f32 (+.f32 (/.f32 ux 2) -1/2) 2))
(/.f32 (+.f32 (-.f32 (*.f32 (-.f32 1 ux) 3) ux) 1) 4)
(+.f32 1/4 (/.f32 (-.f32 (*.f32 (-.f32 1 ux) 3) ux) 4))
(/.f32 (+.f32 1 (-.f32 (*.f32 (-.f32 1 ux) 3) ux)) 4)
(-.f32 (/.f32 (+.f32 (/.f32 ux -2) 3/2) 2) (/.f32 (+.f32 (/.f32 (*.f32 ux 3) 2) -1/2) 2))
(/.f32 (-.f32 (+.f32 (/.f32 ux -2) 3/2) (+.f32 -1/2 (/.f32 (*.f32 ux 3) 2))) 2)
(+.f32 (-.f32 (+.f32 (/.f32 ux -4) 3/4) (/.f32 (*.f32 ux 3) 4)) 1/4)
(+.f32 1/4 (-.f32 (+.f32 (/.f32 ux -4) 3/4) (/.f32 (*.f32 ux 3) 4)))
(+.f32 1/4 (-.f32 (+.f32 (/.f32 ux -4) 3/4) (*.f32 ux 3/4)))
(-.f32 (/.f32 (+.f32 -1 (+.f32 1/2 (/.f32 ux -2))) 2) (/.f32 (+.f32 (-.f32 ux (+.f32 (/.f32 ux -2) 3/2)) -1) 2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) 1) (-.f32 (/.f32 (+.f32 ux 1) 2) (/.f32 (-.f32 1 ux) 4)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) (+.f32 (/.f32 ux -2) -1/2)) (-.f32 -1 (/.f32 (-.f32 1 ux) 4)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) 1/2) (-.f32 (/.f32 ux 2) (/.f32 (-.f32 1 ux) 4)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(-.f32 (+.f32 (/.f32 (-.f32 1 ux) 4) -1/2) (-.f32 (/.f32 (+.f32 ux -2) 2) (/.f32 (-.f32 1 ux) 4)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 2 (*.f32 (-.f32 1 ux) 1/2))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (-.f32 1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 1 (-.f32 1 ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (-.f32 2 (+.f32 ux ux)) 1/2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (+.f32 -1 ux) -1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 1/2 (-.f32 2 (+.f32 ux ux)))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (*.f32 (-.f32 1 ux) 4) 1/4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 1/4 (*.f32 (-.f32 1 ux) 4))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(*.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 1/8)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (-.f32 2 (+.f32 ux ux)) 2)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (+.f32 -1 ux) -1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (*.f32 (-.f32 1 ux) 4) 4)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) 8)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(/.f32 (+.f32 (*.f32 (-.f32 2 (+.f32 ux ux)) 4) (*.f32 (-.f32 2 (+.f32 ux ux)) 4)) 16)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(pow.f32 (-.f32 1 ux) 1)
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)
(neg.f32 (+.f32 -1 ux))
(+.f32 1 (neg.f32 ux))
(-.f32 1 ux)

eval72.0ms (0.7%)

Compiler

Compiled 692 to 561 computations (18.9% saved)

prune36.0ms (0.4%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New68068
Fresh011
Picked011
Done044
Total68674
Error
0b
Counts
74 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(-.f32 (*.f32 ux -2) (-.f32 -1 ux))
0.0b
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
0.7b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
1.1b
(+.f32 2 (-.f32 -1 ux))
9.9b
1
Compiler

Compiled 48 to 38 computations (20.8% saved)

regimes354.0ms (3.5%)

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

4 calls:

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

Compiled 68 to 46 computations (32.4% saved)

regimes94.0ms (0.9%)

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

4 calls:

58.0ms
uy
19.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
7.0ms
maxCos
7.0ms
ux
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)

regimes223.0ms (2.2%)

Accuracy

Total -9.2b remaining (-1235.6%)

Threshold costs -9.2b (-1235.6%)

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

3 calls:

160.0ms
ux
31.0ms
uy
31.0ms
maxCos
Results
ErrorSegmentsBranch
0.7b1ux
0.7b1uy
0.7b1maxCos
Compiler

Compiled 24 to 19 computations (20.8% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01046
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 ux)
1
Outputs
(-.f32 1 (-.f32 ux (*.f32 ux maxCos)))
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(-.f32 1 ux)
1
Compiler

Compiled 30 to 23 computations (23.3% saved)

soundness238.0ms (2.4%)

Algorithm
egg-herbie
Rules
1702×rational_best-simplify-83
1160×rational_best-simplify-67
1058×rational_best-simplify-56
962×rational_best-simplify-66
916×rational_best-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11319
21819
33019
44919
57919
613019
728019
878219
9295919
Stop Event
node limit
Compiler

Compiled 50 to 27 computations (46% saved)

end76.0ms (0.8%)

Compiler

Compiled 21 to 13 computations (38.1% saved)

Profiling

Loading profile data...