Details

Time bar (total: 5.1s)

analyze106.0ms (2.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
56.3%56.2%43.7%0.1%0%0%0%7
65.6%65.6%34.3%0.1%0%0%0%8
76.6%76.5%23.4%0.1%0%0%0%9
82%82%18%0.1%0%0%0%10
87.9%87.8%12.1%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample2.3s (44.8%)

Results
1.7s8127×body256valid
13.0ms55×body2048valid
6.0ms39×body1024valid
5.0ms67×body256infinite
4.0ms35×body512valid
Bogosity

preprocess9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
11126
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 200 (-.f64 x y))
(*.f64 200 (-.f64 y x))
Outputs
(*.f64 200 (-.f64 x y))
(*.f64 200 (-.f64 y x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 200 (-.f64 x y))
Outputs
(*.f64 200 (-.f64 x y))

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 200 (-.f64 x y))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 200 (-.f64 x y))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(*.f64 200 (-.f64 x y))
0.0ms
x
@-inf
(*.f64 200 (-.f64 x y))
0.0ms
y
@inf
(*.f64 200 (-.f64 x y))
0.0ms
x
@0
(*.f64 200 (-.f64 x y))
0.0ms
y
@-inf
(*.f64 200 (-.f64 x y))

rewrite71.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1402×bool.json-1
1402×bool.json-2
1328×rational.json-1
1328×rational.json-2
1328×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16913
219413
341513
485613
5187613
6447213
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 200 (-.f64 x y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 200 (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 200 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x y) 100) (*.f64 (-.f64 x y) 100))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 200 (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) 400) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) 800) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) 1600) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 x y) 1600)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 200 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 200 (-.f64 x y)) (*.f64 200 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 200 (-.f64 x y)) (*.f64 200 (-.f64 x y)))))))

simplify649.0ms (12.7%)

Algorithm
egg-herbie
Rules
7622×rational.json-simplify-41
3844×rational.json-simplify-35
2290×rational.json-simplify-49
2130×rational.json-simplify-2
778×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042527
187527
2153527
3332527
4767527
52240527
62979527
73136527
83195527
93240527
103280527
113318527
123356527
133394527
143432527
153470527
163508527
173546527
183584527
193622527
203660527
215101527
225303527
235320527
245321527
255321527
265999527
276167527
286335527
296503527
306671527
316839527
327007527
337007527
Stop Event
node limit
Counts
35 → 16
Calls
Call 1
Inputs
(*.f64 -200 y)
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 -200 y)
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(*.f64 -200 y)
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 200 (-.f64 x y)) 0)
(+.f64 0 (*.f64 200 (-.f64 x y)))
(+.f64 (*.f64 (-.f64 x y) 100) (*.f64 (-.f64 x y) 100))
(-.f64 (*.f64 200 (-.f64 x y)) 0)
(/.f64 (*.f64 200 (-.f64 x y)) 1)
(/.f64 (*.f64 (-.f64 x y) 400) 2)
(/.f64 (*.f64 (-.f64 x y) 800) 4)
(/.f64 (*.f64 (-.f64 x y) 1600) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 x y) 1600)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600)))) 64)
Outputs
(*.f64 -200 y)
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 -200 y)
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 -200 y)
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 200 (-.f64 x y)) 0)
(*.f64 200 (-.f64 x y))
(+.f64 0 (*.f64 200 (-.f64 x y)))
(*.f64 200 (-.f64 x y))
(+.f64 (*.f64 (-.f64 x y) 100) (*.f64 (-.f64 x y) 100))
(*.f64 200 (-.f64 x y))
(-.f64 (*.f64 200 (-.f64 x y)) 0)
(*.f64 200 (-.f64 x y))
(/.f64 (*.f64 200 (-.f64 x y)) 1)
(*.f64 200 (-.f64 x y))
(/.f64 (*.f64 (-.f64 x y) 400) 2)
(*.f64 200 (-.f64 x y))
(/.f64 (*.f64 (-.f64 x y) 800) 4)
(*.f64 200 (-.f64 x y))
(/.f64 (*.f64 (-.f64 x y) 1600) 8)
(*.f64 200 (-.f64 x y))
(/.f64 (*.f64 2 (*.f64 (-.f64 x y) 1600)) 16)
(*.f64 200 (-.f64 x y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600))) 32)
(*.f64 200 (-.f64 x y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x y) 1600)))) 64)
(*.f64 200 (-.f64 x y))

eval3.0ms (0%)

Compiler

Compiled 128 to 81 computations (36.7% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New13316
Fresh000
Picked011
Done000
Total13417
Error
0.0b
Counts
17 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 200 x) (*.f64 -200 y))
0.1b
(*.f64 200 (-.f64 x y))
30.5b
(*.f64 200 x)
32.5b
(*.f64 -200 y)
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 200 x) (*.f64 -200 y))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series1.0ms (0%)

Counts
1 → 15
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (*.f64 200 x) (*.f64 -200 y))
0.0ms
y
@0
(+.f64 (*.f64 200 x) (*.f64 -200 y))
0.0ms
x
@inf
(+.f64 (*.f64 200 x) (*.f64 -200 y))
0.0ms
y
@inf
(+.f64 (*.f64 200 x) (*.f64 -200 y))
0.0ms
x
@-inf
(+.f64 (*.f64 200 x) (*.f64 -200 y))

rewrite96.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1694×bool.json-1
1694×bool.json-2
1634×rational.json-1
1208×rational.json-simplify-35
1080×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
18919
222919
346419
496419
5210219
6430819
7686119
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (*.f64 200 x) (*.f64 -200 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 200 x) (*.f64 -200 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y -100) (*.f64 x 100)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y -400) (*.f64 x 400)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 200 x) (*.f64 -200 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 200 x) (*.f64 -200 y)) (+.f64 (*.f64 200 x) (*.f64 -200 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 200 x) (*.f64 -200 y)) (+.f64 (*.f64 200 x) (*.f64 -200 y)))))))

simplify951.0ms (18.6%)

Algorithm
egg-herbie
Rules
5862×rational.json-simplify-51
1974×rational.json-simplify-35
1688×rational.json-simplify-2
1168×rational.json-simplify-49
1148×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058599
1112599
2276599
3686599
41100599
52404599
63178599
73226599
83256599
93282599
103308599
113334599
123383599
133409599
143435599
153461599
163487599
173513599
183539599
194389599
204765599
214797599
224827599
234856599
244885599
254914599
264943599
274972599
285001599
295030599
305059599
315088599
325117599
335146599
345175599
355204599
365233599
375262599
385291599
395320599
405320599
Stop Event
node limit
Counts
35 → 23
Calls
Call 1
Inputs
(*.f64 -200 y)
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 -200 y)
(*.f64 -200 y)
(-.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 0)
(*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1)
(*.f64 1 (+.f64 (*.f64 200 x) (*.f64 -200 y)))
(*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1/2))
(*.f64 2 (+.f64 (*.f64 y -100) (*.f64 x 100)))
(*.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2))
(*.f64 1/2 (+.f64 (*.f64 y -400) (*.f64 x 400)))
(*.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 4)
(/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8)))) 64)
Outputs
(*.f64 -200 y)
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 200 x)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 -200 y)
(*.f64 -200 y)
(-.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 0)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 1 (+.f64 (*.f64 200 x) (*.f64 -200 y)))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1/2))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 2 (+.f64 (*.f64 y -100) (*.f64 x 100)))
(*.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2) 1/2)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 4 (/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 1/4)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 1/2 (+.f64 (*.f64 y -400) (*.f64 x 400)))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1/2) 2)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4))
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(*.f64 (/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 4)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 1)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 2) 2)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 4) 4)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8) 8)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8)) 16)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8))) 32)
(+.f64 (*.f64 -200 y) (*.f64 200 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 200 x) (*.f64 -200 y)) 8)))) 64)
(+.f64 (*.f64 -200 y) (*.f64 200 x))

eval5.0ms (0.1%)

Compiler

Compiled 247 to 201 computations (18.6% saved)

prune52.0ms (1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New23023
Fresh000
Picked011
Done033
Total23427
Error
0.0b
Counts
27 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 200 x) (*.f64 -200 y))
0.1b
(*.f64 200 (-.f64 x y))
30.5b
(*.f64 200 x)
32.5b
(*.f64 -200 y)
Compiler

Compiled 26 to 20 computations (23.1% saved)

regimes73.0ms (1.4%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 -200 y)
(*.f64 200 x)
(*.f64 200 (-.f64 x y))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
Outputs
(+.f64 (*.f64 200 x) (*.f64 -200 y))
Calls

4 calls:

61.0ms
x
4.0ms
(*.f64 200 (-.f64 x y))
4.0ms
y
4.0ms
(-.f64 x y)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(*.f64 200 (-.f64 x y))
0.1b1(-.f64 x y)
Compiler

Compiled 38 to 26 computations (31.6% saved)

regimes14.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 -200 y)
(*.f64 200 x)
(*.f64 200 (-.f64 x y))
Outputs
(*.f64 200 (-.f64 x y))
Calls

4 calls:

3.0ms
(*.f64 200 (-.f64 x y))
3.0ms
(-.f64 x y)
3.0ms
y
3.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(*.f64 200 (-.f64 x y))
0.1b1(-.f64 x y)
Compiler

Compiled 31 to 21 computations (32.3% saved)

regimes629.0ms (12.3%)

Accuracy

Total -47.8b remaining (-341.3%)

Threshold costs -47.8b (-341.3%)

Counts
2 → 5
Calls
Call 1
Inputs
(*.f64 -200 y)
(*.f64 200 x)
Outputs
(*.f64 -200 y)
(*.f64 200 x)
(*.f64 -200 y)
(*.f64 200 x)
(*.f64 -200 y)
Calls

2 calls:

620.0ms
y
8.0ms
x
Results
ErrorSegmentsBranch
14.5b3x
14.0b5y
Compiler

Compiled 14 to 10 computations (28.6% saved)

bsearch47.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
4.311011756099479e+54
2.339340305789236e+55
13.0ms
-4.146507341578303e-24
-8.042826642433648e-29
10.0ms
-3.1026054089976976e+27
-2.5470372806119574e+25
15.0ms
-5.554515202198747e+105
-5.768583969957767e+99
Results
38.0ms470×body256valid
1.0msbody2048valid
1.0msbody1024valid
0.0msbody512valid
Compiler

Compiled 372 to 309 computations (16.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026110
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(*.f64 200 (-.f64 x y))
(if (<=.f64 y -5800000000000000441917169037238757437152412195321666401706401012878860313185054768274583928734482432) (*.f64 -200 y) (if (<=.f64 y -190000000000000010770972672) (*.f64 200 x) (if (<=.f64 y -5444517870735015/2722258935367507707706996859454145691648) (*.f64 -200 y) (if (<=.f64 y 7000000000000000207758415911235243432762914667434606592) (*.f64 200 x) (*.f64 -200 y)))))
(*.f64 -200 y)
Outputs
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(*.f64 200 (-.f64 x y))
(if (<=.f64 y -5800000000000000441917169037238757437152412195321666401706401012878860313185054768274583928734482432) (*.f64 -200 y) (if (<=.f64 y -190000000000000010770972672) (*.f64 200 x) (if (<=.f64 y -5444517870735015/2722258935367507707706996859454145691648) (*.f64 -200 y) (if (<=.f64 y 7000000000000000207758415911235243432762914667434606592) (*.f64 200 x) (*.f64 -200 y)))))
(*.f64 -200 y)
Compiler

Compiled 54 to 40 computations (25.9% saved)

soundness0.0ms (0%)

end88.0ms (1.7%)

Compiler

Compiled 48 to 34 computations (29.2% saved)

Profiling

Loading profile data...