Details

Time bar (total: 1.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.3s (71.5%)

Results
1.3s8256×body256valid
Bogosity

preprocess13.0ms (0.7%)

Algorithm
egg-herbie
Rules
rational_best-simplify-1
rational_best-simplify-2
trig-simplify-13
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)

simplify9.0ms (0.5%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-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)

localize19.0ms (1.1%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 10 computations (47.4% saved)

series3.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite17.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
36×rational_best-simplify-1
32×rational_best-simplify-2
26×rational_best-4
26×rational_best-2
26×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
15126
27226
38326
411026
513326
614526
715426
815626
Stop Event
saturated
Counts
2 → 11
Calls
Call 1
Inputs
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
(*.f32 ux maxCos)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.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 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux maxCos) 1)))))

simplify319.0ms (17.4%)

Algorithm
egg-herbie
Rules
2084×rational_best-simplify-2
1790×rational_best-simplify-1
896×rational_best-simplify-42
720×rational_best-simplify-54
704×rational_best-simplify-57
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034707
161707
282707
393707
4108707
5122707
6146707
7163707
8179707
9202707
10227707
11263707
12307707
13408707
14657707
151348707
162936707
173975707
184728707
195037707
205748707
215993707
226566707
236767707
247486707
257808707
Stop Event
node limit
Counts
59 → 23
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 (-.f32 maxCos 1) ux)
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)
(-.f32 (*.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 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 (*.f32 ux maxCos) 0)
(+.f32 0 (*.f32 ux maxCos))
(-.f32 (*.f32 ux maxCos) 0)
(/.f32 (*.f32 ux maxCos) 1)
(pow.f32 (*.f32 ux maxCos) 1)
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) 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 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 maxCos ux) ux)
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 1 ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(*.f32 maxCos ux)
(-.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux))
(+.f32 (*.f32 ux maxCos) 0)
(*.f32 maxCos ux)
(+.f32 0 (*.f32 ux maxCos))
(*.f32 maxCos ux)
(-.f32 (*.f32 ux maxCos) 0)
(*.f32 maxCos ux)
(/.f32 (*.f32 ux maxCos) 1)
(*.f32 maxCos ux)
(pow.f32 (*.f32 ux maxCos) 1)
(*.f32 maxCos ux)

eval3.0ms (0.2%)

Compiler

Compiled 170 to 111 computations (34.7% saved)

prune4.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New20323
Fresh000
Picked101
Done000
Total21324
Error
0.0b
Counts
24 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1)
0.5b
(-.f32 1 ux)
9.6b
1
Compiler

Compiled 20 to 17 computations (15% saved)

localize7.0ms (0.4%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize21.0ms (1.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series2.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite13.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
18×rational_best-simplify-1
16×rational_best-simplify-2
14×rational_best-4
14×rational_best-2
14×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15432
27932
38132
Stop Event
saturated
Counts
2 → 13
Calls
Call 1
Inputs
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1)
(*.f32 ux (+.f32 maxCos -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (+.f32 maxCos -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 ux (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (+.f32 maxCos -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 ux (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (+.f32 maxCos -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (+.f32 maxCos -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (+.f32 maxCos -1)) 1)))))

simplify20.0ms (1.1%)

Algorithm
egg-herbie
Rules
40×rational_best-simplify-1
16×rational_best-simplify-54
16×rational_best-simplify-7
16×rational_best-simplify-43
14×rational_best-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031903
150903
264903
390903
4101903
Stop Event
saturated
Counts
61 → 24
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 (-.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 -1 ux) 1)
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 -1 ux)
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 0)
(+.f32 0 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)
(*.f32 1 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))
(/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)
(pow.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 0)
(+.f32 0 (*.f32 ux (+.f32 maxCos -1)))
(-.f32 (*.f32 ux (+.f32 maxCos -1)) 0)
(/.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(pow.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
Outputs
1
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) 1)
(+.f32 1 (neg.f32 ux))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 (-.f32 maxCos 1) ux)
(*.f32 ux (+.f32 maxCos -1))
(*.f32 -1 ux)
(neg.f32 ux)
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(*.f32 maxCos ux)
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux))
(*.f32 ux (+.f32 maxCos -1))
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 0)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 0 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 1 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(pow.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)
(+.f32 1 (*.f32 ux (+.f32 maxCos -1)))
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 0)
(*.f32 ux (+.f32 maxCos -1))
(+.f32 0 (*.f32 ux (+.f32 maxCos -1)))
(*.f32 ux (+.f32 maxCos -1))
(-.f32 (*.f32 ux (+.f32 maxCos -1)) 0)
(*.f32 ux (+.f32 maxCos -1))
(/.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(*.f32 ux (+.f32 maxCos -1))
(pow.f32 (*.f32 ux (+.f32 maxCos -1)) 1)
(*.f32 ux (+.f32 maxCos -1))

eval3.0ms (0.2%)

Compiler

Compiled 173 to 126 computations (27.2% saved)

prune6.0ms (0.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New24024
Fresh011
Picked011
Done011
Total24327
Error
0.0b
Counts
27 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1)
0.5b
(-.f32 1 ux)
9.6b
1
Compiler

Compiled 20 to 17 computations (15% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1)
0.5b
(-.f32 1 ux)
9.6b
1
Compiler

Compiled 20 to 17 computations (15% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1)
0.5b
(-.f32 1 ux)
9.6b
1
Compiler

Compiled 20 to 17 computations (15% saved)

regimes16.0ms (0.8%)

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

4 calls:

4.0ms
uy
4.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 43 to 31 computations (27.9% saved)

regimes14.0ms (0.7%)

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:

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

regimes10.0ms (0.5%)

Accuracy

Total -9.1b remaining (-1860.9%)

Threshold costs -9.1b (-1860.9%)

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

3 calls:

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

Compiled 19 to 15 computations (21.1% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 30 to 24 computations (20% saved)

soundness0.0ms (0%)

end18.0ms (1%)

Compiler

Compiled 21 to 15 computations (28.6% saved)

Profiling

Loading profile data...