Details

Time bar (total: 2.8s)

analyze1.0ms (0%)

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

Compiled 33 to 24 computations (27.3% saved)

sample1.4s (48.8%)

Results
1.4s8256×body256valid
Bogosity

preprocess12.0ms (0.4%)

Algorithm
egg-herbie
Rules
rational.json-simplify-1
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
12576
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos))
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))
(+.f32 (-.f32 1 ux) (*.f32 ux uy))
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos))
(+.f32 (-.f32 1 uy) (*.f32 maxCos uy))
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))
(+.f32 (-.f32 1 maxCos) (*.f32 ux maxCos))
(+.f32 (-.f32 1 ux) (*.f32 ux uy))
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11019
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Outputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))

eval0.0ms (0%)

Compiler

Compiled 10 to 7 computations (30% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 10 to 7 computations (30% saved)

localize21.0ms (0.7%)

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)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite110.0ms (3.9%)

Algorithm
batch-egg-rewrite
Rules
1482×exponential.json-3
1482×rational.json-1
1482×rational.json-2
1482×rational.json-4
1482×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
16219
213919
326319
449219
5108419
6295519
7535419
8673819
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 (*.f32 ux maxCos) (neg.f32 (+.f32 ux -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)))) (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)))))

simplify361.0ms (12.9%)

Algorithm
egg-herbie
Rules
3092×rational.json-simplify-51
2182×rational.json-simplify-1
1718×rational.json-simplify-48
1364×rational.json-simplify-35
1326×rational.json-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
068837
1148837
2462833
31157833
41827833
53014833
63189833
73507833
83799833
93956833
104121833
115062833
125135833
135207833
145272833
155335833
165697833
175830833
185895833
196652833
Stop Event
node limit
Counts
47 → 41
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 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 0)
(-.f32 (+.f32 (*.f32 ux maxCos) (neg.f32 (+.f32 ux -2))) 1)
(*.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
(*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/2))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2) 1/2)
(*.f32 4 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/4))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4) 1/4)
(*.f32 1/2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8) 1/8)
(*.f32 1/4 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/2) 2)
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/4) 4)
(*.f32 1/8 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))
(/.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
(/.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2) 2)
(/.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4) 4)
(/.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8) 8)
(/.f32 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)) 16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))) 32)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)))) 64)
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)))) (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))))) 128)
(pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (+.f32 maxCos -1) ux)
(*.f32 ux (+.f32 maxCos -1))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 (+.f32 maxCos -1) ux)
(*.f32 ux (+.f32 maxCos -1))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 (+.f32 maxCos -1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 0)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 (*.f32 ux maxCos) (neg.f32 (+.f32 ux -2))) 1)
(+.f32 (neg.f32 (+.f32 ux -2)) (-.f32 (*.f32 maxCos ux) 1))
(+.f32 (neg.f32 (+.f32 ux -2)) (+.f32 (*.f32 maxCos ux) -1))
(+.f32 (*.f32 maxCos ux) (-.f32 -1 (+.f32 ux -2)))
(*.f32 1 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/2))
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2) 1/2)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 4 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/4))
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4) 1/4)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 1/2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2))
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8) 1/8)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 1/4 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4))
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/2) 2)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1/4) 4)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 1/8 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 2) 2)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 4) 4)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8) 8)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)) 16)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))) 32)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)))) 64)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (+.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8)))) (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 8))))) 128)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(pow.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) 1)
(+.f32 (-.f32 1 ux) (*.f32 maxCos ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))

eval7.0ms (0.2%)

Compiler

Compiled 399 to 259 computations (35.1% saved)

prune7.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New38341
Fresh000
Picked011
Done000
Total38442
Error
0.0b
Counts
42 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.3b
1
Compiler

Compiled 30 to 24 computations (20% saved)

localize7.0ms (0.3%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize21.0ms (0.7%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series2.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite223.0ms (8%)

Algorithm
batch-egg-rewrite
Rules
2554×rational.json-simplify-2
1576×rational.json-simplify-1
1174×rational.json-simplify-35
1152×exponential.json-3
1152×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
16132
214032
326832
448332
5104932
6250432
7432032
8538032
9623732
10638332
11655932
12672332
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(*.f32 ux (-.f32 1 maxCos))
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (-.f32 1 maxCos)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 ux (-.f32 1 maxCos)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (*.f32 (-.f32 1 maxCos) 1/2)) (*.f32 ux (*.f32 (-.f32 1 maxCos) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (-.f32 1 maxCos)) 0)))) (#(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 maxCos) (+.f32 ux ux)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (-.f32 1 maxCos)) 1)))))
((#(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 1 (*.f32 ux (-.f32 1 maxCos))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (-.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2) (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -2 (-.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (-.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2))) -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 2 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 4 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/4 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -2 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/8 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 -1/2 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)))) (#(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 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 2 (*.f32 2 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)))) (#(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 1 maxCos)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))))))

simplify148.0ms (5.3%)

Algorithm
egg-herbie
Rules
1370×rational.json-simplify-35
1290×rational.json-simplify-51
1120×rational.json-simplify-2
1088×rational.json-simplify-1
884×rational.json-simplify-52
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01351844
13201822
27911822
323661822
446211822
554191822
660591822
771781822
Stop Event
node limit
Counts
110 → 82
Calls
Call 1
Inputs
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
ux
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(*.f32 -1 (*.f32 maxCos ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 (*.f32 ux (-.f32 1 maxCos)) 0)
(+.f32 0 (*.f32 ux (-.f32 1 maxCos)))
(+.f32 (*.f32 ux (*.f32 (-.f32 1 maxCos) 1/2)) (*.f32 ux (*.f32 (-.f32 1 maxCos) 1/2)))
(-.f32 (*.f32 ux (-.f32 1 maxCos)) 0)
(/.f32 (*.f32 ux (-.f32 1 maxCos)) 1)
(/.f32 (*.f32 (-.f32 1 maxCos) (+.f32 ux ux)) 2)
(/.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 4)) 4)
(/.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)) 8)
(/.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8))) 16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)))) 32)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8))))) 64)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)))))) 128)
(pow.f32 (*.f32 ux (-.f32 1 maxCos)) 1)
(+.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 0)
(+.f32 0 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(+.f32 -1 (neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(+.f32 -1 (-.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2))))
(+.f32 (neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)
(+.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2) (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2))
(+.f32 -2 (-.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(+.f32 (-.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -2)
(+.f32 (-.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2))) -1)
(*.f32 1 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(*.f32 2 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2) 1/2)
(*.f32 4 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1/4))
(*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1)
(*.f32 -1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))
(*.f32 -1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4) 1/4)
(*.f32 1/2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8) 1/8)
(*.f32 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -1/2)
(*.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2) 2)
(*.f32 1/4 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4))
(*.f32 -2 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) 1/2))
(*.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) 1/2) -2)
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1/4) 4)
(*.f32 1/8 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))
(*.f32 -1/2 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))
(*.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)
(/.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(/.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2) 2)
(/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1)
(/.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4) 4)
(/.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8) 8)
(/.f32 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -2)
(/.f32 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8)) 16)
(/.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -4)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))) 32)
(/.f32 (*.f32 2 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))) -8)
(/.f32 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))) 4)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8)))) 64)
(/.f32 (*.f32 2 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))) 8)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))) -16)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))))) 128)
(/.f32 (*.f32 2 (*.f32 2 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))))) 16)
(/.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)
(pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))
(neg.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
Outputs
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
(*.f32 (-.f32 1 maxCos) ux)
ux
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 maxCos (*.f32 ux -1))
(*.f32 maxCos (neg.f32 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(*.f32 -1 (*.f32 maxCos ux))
(*.f32 maxCos (*.f32 ux -1))
(*.f32 maxCos (neg.f32 ux))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
(+.f32 (*.f32 -1 (*.f32 maxCos ux)) ux)
(+.f32 ux (*.f32 maxCos (*.f32 ux -1)))
(+.f32 ux (*.f32 maxCos (neg.f32 ux)))
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 -1 (*.f32 (-.f32 1 maxCos) ux))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 1 (*.f32 -1 (*.f32 (-.f32 1 maxCos) ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 (*.f32 ux (-.f32 1 maxCos)) 0)
(*.f32 (-.f32 1 maxCos) ux)
(+.f32 0 (*.f32 ux (-.f32 1 maxCos)))
(*.f32 (-.f32 1 maxCos) ux)
(+.f32 (*.f32 ux (*.f32 (-.f32 1 maxCos) 1/2)) (*.f32 ux (*.f32 (-.f32 1 maxCos) 1/2)))
(*.f32 (-.f32 1 maxCos) ux)
(-.f32 (*.f32 ux (-.f32 1 maxCos)) 0)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 ux (-.f32 1 maxCos)) 1)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 (-.f32 1 maxCos) (+.f32 ux ux)) 2)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 4)) 4)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)) 8)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8))) 16)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)))) 32)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8))))) 64)
(*.f32 (-.f32 1 maxCos) ux)
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 maxCos) (*.f32 ux 8)))))) 128)
(*.f32 (-.f32 1 maxCos) ux)
(pow.f32 (*.f32 ux (-.f32 1 maxCos)) 1)
(*.f32 (-.f32 1 maxCos) ux)
(+.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 0)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 0 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 -1 (neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 -1 (-.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 (neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2) (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 -2 (-.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 (-.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(+.f32 (-.f32 1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2))) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 1 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 2 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2) 1/2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 4 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1/4))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 -1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 -1 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4) 1/4)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 1/2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8) 1/8)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -1/2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1/2) 2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 1/4 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 -2 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) 1/2))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) 1/2) -2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1/4) 4)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 1/8 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 -1/2 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(*.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 2) 2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 4) 4)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8) 8)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -2)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8)) 16)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)) -4)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))) 32)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))) -8)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))) 4)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8)))) 64)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))) 8)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1)))) -16)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 2 (*.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 8))))) 128)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (*.f32 2 (*.f32 2 (neg.f32 (*.f32 4 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))))) 16)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(/.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(pow.f32 (-.f32 1 (*.f32 ux (-.f32 1 maxCos))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(neg.f32 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -1))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))
(neg.f32 (+.f32 1 (+.f32 (*.f32 ux (-.f32 1 maxCos)) -2)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 maxCos ux) (-.f32 1 ux))

eval17.0ms (0.6%)

Compiler

Compiled 846 to 668 computations (21% saved)

prune13.0ms (0.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New82082
Fresh011
Picked011
Done022
Total82486
Error
0.0b
Counts
86 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.3b
1
Compiler

Compiled 30 to 24 computations (20% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.3b
1
Compiler

Compiled 30 to 24 computations (20% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 1 (*.f32 ux (-.f32 1 maxCos)))
0.6b
(-.f32 1 ux)
0.0b
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
9.3b
1
Compiler

Compiled 30 to 24 computations (20% saved)

regimes17.0ms (0.6%)

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

4 calls:

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

Compiled 43 to 31 computations (27.9% saved)

regimes14.0ms (0.5%)

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

4 calls:

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

Compiled 36 to 26 computations (27.8% saved)

regimes9.0ms (0.3%)

Accuracy

Total -8.8b remaining (-1574.3%)

Threshold costs -8.8b (-1574.3%)

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

3 calls:

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

Compiled 19 to 15 computations (21.1% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 30 to 24 computations (20% saved)

soundness409.0ms (14.7%)

Algorithm
egg-herbie
Rules
3092×rational.json-simplify-51
2182×rational.json-simplify-1
1718×rational.json-simplify-48
1364×rational.json-simplify-35
1326×rational.json-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
068837
1148837
2462833
31157833
41827833
53014833
63189833
73507833
83799833
93956833
104121833
115062833
125135833
135207833
145272833
155335833
165697833
175830833
185895833
196652833
Stop Event
node limit
Compiler

Compiled 252 to 201 computations (20.2% saved)

end18.0ms (0.6%)

Compiler

Compiled 21 to 15 computations (28.6% saved)

Profiling

Loading profile data...