Details

Time bar (total: 6.4s)

analyze24.0ms (0.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
50%25%25%50%0%0%0%2
50%25%25%50%0%0%0%3
75%37.5%12.5%50%0%0%0%4
75%37.5%12.5%50%0%0%0%5
87.5%43.7%6.2%50%0%0%0%6
87.5%43.7%6.2%50%0%0%0%7
93.8%46.8%3.1%50%0%0%0%8
93.8%46.8%3.1%50%0%0%0%9
96.9%48.4%1.6%50%0%0%0%10
96.9%48.4%1.6%50%0%0%0%11
98.4%49.2%0.8%50%0%0%0%12
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample3.9s (60.7%)

Results
3.8s8256×body256valid
Bogosity

preprocess825.0ms (13%)

Algorithm
egg-herbie
Rules
6792×rational_best-simplify-108
3668×rational_best-simplify-65
1092×rational_best-simplify-107
704×rational_best-simplify-3
582×rational_best-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
11322
22122
33322
46122
513022
629922
776922
8134622
9163222
10181622
11200022
12218422
13236822
14255222
15273622
16273622
17292022
18310422
19546422
20546422
21569022
22569022
23609822
24650622
25691422
26732222
27773022
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(atan.f64 (/.f64 y x))
(atan.f64 (/.f64 x y))
Outputs
(atan.f64 (/.f64 y x))
(atan.f64 (/.f64 x y))
Compiler

Compiled 8 to 6 computations (25% saved)

simplify626.0ms (9.8%)

Algorithm
egg-herbie
Rules
6964×rational_best-simplify-108
4356×rational_best-simplify-65
684×rational_best-simplify-3
526×rational_best-simplify-47
390×rational_best-simplify-107
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11011
21511
32411
44511
59611
622411
759211
894011
9154111
10210111
11248311
12286511
13286511
14394011
15395811
16437111
17478411
18519711
19519711
20519711
21661211
22661211
23719311
24775211
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(atan.f64 (/.f64 y x))
Outputs
(atan.f64 (/.f64 y x))

eval2.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

prune2.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
(atan.f64 (/.f64 y x))
Compiler

Compiled 6 to 4 computations (33.3% saved)

localize15.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (/.f64 y x))
Compiler

Compiled 11 to 4 computations (63.6% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(atan.f64 (/.f64 y x))
0.0ms
y
@inf
(atan.f64 (/.f64 y x))
0.0ms
y
@0
(atan.f64 (/.f64 y x))
0.0ms
x
@-inf
(atan.f64 (/.f64 y x))
0.0ms
x
@inf
(atan.f64 (/.f64 y x))

rewrite267.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
1154×rational_best-simplify-55
760×rational_best-simplify-64
634×rational_best-4
634×rational_best-2
634×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14711
211011
333411
4154211
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(atan.f64 (/.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan.f64 (/.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (/.f64 (atan.f64 (/.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) 2) (+.f64 (/.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) 2) (/.f64 (atan.f64 (/.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan.f64 (/.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (/.f64 (neg.f64 (atan.f64 (/.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (neg.f64 (/.f64 (atan.f64 (/.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan.f64 (/.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (/.f64 y x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan.f64 (/.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan.f64 (/.f64 y x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (atan.f64 (/.f64 y x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan.f64 (/.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan.f64 (/.f64 y x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan.f64 (/.f64 y x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan.f64 (/.f64 y x)) 1)))))

simplify619.0ms (9.7%)

Algorithm
egg-herbie
Rules
1528×rational_best-simplify-85
954×rational_best-simplify-3
732×rational_best-simplify-50
682×rational_best-simplify-49
676×rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045220
191220
2232220
3857220
45391220
Stop Event
node limit
Counts
20 → 21
Calls
Call 1
Inputs
(+.f64 (atan.f64 (/.f64 y x)) 0)
(+.f64 0 (atan.f64 (/.f64 y x)))
(+.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (/.f64 (atan.f64 (/.f64 y x)) 2))
(+.f64 (/.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) 2) (+.f64 (/.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) 2) (/.f64 (atan.f64 (/.f64 y x)) 2)))
(-.f64 (atan.f64 (/.f64 y x)) 0)
(-.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (/.f64 (neg.f64 (atan.f64 (/.f64 y x))) 2))
(-.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (neg.f64 (/.f64 (atan.f64 (/.f64 y x)) 2)))
(*.f64 (atan.f64 (/.f64 y x)) 1)
(*.f64 1 (atan.f64 (/.f64 y x)))
(*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 1/2))
(*.f64 (*.f64 (atan.f64 (/.f64 y x)) 2) 1/2)
(*.f64 1/2 (*.f64 (atan.f64 (/.f64 y x)) 2))
(*.f64 (*.f64 (atan.f64 (/.f64 y x)) 4) 1/4)
(*.f64 1/4 (*.f64 (atan.f64 (/.f64 y x)) 4))
(*.f64 (*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 4)) 1/8)
(/.f64 (atan.f64 (/.f64 y x)) 1)
(/.f64 (*.f64 (atan.f64 (/.f64 y x)) 2) 2)
(/.f64 (*.f64 (atan.f64 (/.f64 y x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 4)) 8)
(pow.f64 (atan.f64 (/.f64 y x)) 1)
Outputs
(+.f64 (atan.f64 (/.f64 y x)) 0)
(atan.f64 (/.f64 y x))
(+.f64 0 (atan.f64 (/.f64 y x)))
(atan.f64 (/.f64 y x))
(+.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (/.f64 (atan.f64 (/.f64 y x)) 2))
(atan.f64 (/.f64 y x))
(+.f64 (/.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) 2) (+.f64 (/.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) 2) (/.f64 (atan.f64 (/.f64 y x)) 2)))
(atan.f64 (/.f64 y x))
(-.f64 (atan.f64 (/.f64 y x)) 0)
(atan.f64 (/.f64 y x))
(-.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (/.f64 (neg.f64 (atan.f64 (/.f64 y x))) 2))
(atan.f64 (/.f64 y x))
(-.f64 (/.f64 (atan.f64 (/.f64 y x)) 2) (neg.f64 (/.f64 (atan.f64 (/.f64 y x)) 2)))
(atan.f64 (/.f64 y x))
(*.f64 (atan.f64 (/.f64 y x)) 1)
(atan.f64 (/.f64 y x))
(*.f64 1 (atan.f64 (/.f64 y x)))
(atan.f64 (/.f64 y x))
(*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 1/2))
(atan.f64 (/.f64 y x))
(*.f64 (*.f64 (atan.f64 (/.f64 y x)) 2) 1/2)
(atan.f64 (/.f64 y x))
(*.f64 1/2 (*.f64 (atan.f64 (/.f64 y x)) 2))
(atan.f64 (/.f64 y x))
(*.f64 (*.f64 (atan.f64 (/.f64 y x)) 4) 1/4)
(atan.f64 (/.f64 y x))
(*.f64 1/4 (*.f64 (atan.f64 (/.f64 y x)) 4))
(atan.f64 (/.f64 y x))
(*.f64 (*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 4)) 1/8)
(atan.f64 (/.f64 y x))
(/.f64 (atan.f64 (/.f64 y x)) 1)
(atan.f64 (/.f64 y x))
(/.f64 (*.f64 (atan.f64 (/.f64 y x)) 2) 2)
(atan.f64 (/.f64 y x))
(/.f64 (*.f64 (atan.f64 (/.f64 y x)) 4) 4)
(atan.f64 (/.f64 y x))
(/.f64 (*.f64 2 (*.f64 (atan.f64 (/.f64 y x)) 4)) 8)
(atan.f64 (/.f64 y x))
(pow.f64 (atan.f64 (/.f64 y x)) 1)
(atan.f64 (/.f64 y x))

eval6.0ms (0.1%)

Compiler

Compiled 189 to 87 computations (54% saved)

prune77.0ms (1.2%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New21021
Fresh000
Picked011
Done000
Total21122
Error
0.0b
Counts
22 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(atan.f64 (/.f64 y x))
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
Stop Event
done
saturated
Calls
Call 1
Inputs
(atan.f64 (/.f64 y x))
Outputs
(atan.f64 (/.f64 y x))
Compiler

Compiled 6 to 4 computations (33.3% saved)

soundness0.0ms (0%)

end30.0ms (0.5%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

Profiling

Loading profile data...