Details

Time bar (total: 2.0s)

analyze45.0ms (2.3%)

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)

sample1.4s (67.5%)

Results
1.3s8104×body256valid
11.0ms67×body1024valid
11.0ms49×body2048valid
5.0ms70×body256infinite
4.0ms36×body512valid
Bogosity

preprocess130.0ms (6.5%)

Algorithm
egg-herbie
Rules
1164×rational_best_oopsla_all_46_json_45_simplify-93
934×rational_best_oopsla_all_46_json_45_simplify-10
762×rational_best_oopsla_all_46_json_45_simplify-30
696×rational_best_oopsla_all_46_json_45_simplify-72
628×rational_best_oopsla_all_46_json_45_simplify-89
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
13026
27726
322226
479026
5334226
6688126
022
Stop Event
saturated
node limit
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)

simplify103.0ms (5.1%)

Algorithm
egg-herbie
Rules
952×rational_best_oopsla_all_46_json_45_simplify-49
946×rational_best_oopsla_all_46_json_45_simplify-7
630×rational_best_oopsla_all_46_json_45_simplify-10
578×rational_best_oopsla_all_46_json_45_simplify-77
570×rational_best_oopsla_all_46_json_45_simplify-72
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
12113
24813
313213
448713
5243013
6545713
Stop Event
node limit
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.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 200 (-.f64 x y))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize4.0ms (0.2%)

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)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.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))

rewrite89.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
1528×rational_best_oopsla_all_46_json_45_simplify-23
1068×rational_best_oopsla_all_46_json_45_simplify-89
970×rational_best_oopsla_all_46_json_45_simplify-74
948×rational_best_oopsla_all_46_json-2
948×rational_best_oopsla_all_46_json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14713
213113
340713
4183113
Stop Event
node limit
Counts
1 → 26
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 200 x) (*.f64 y -200))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -200) (*.f64 200 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (+.f64 0 (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 200 (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 x y) -200))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 200 x) (*.f64 200 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -200) (*.f64 x -200))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 200 x) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 200 y) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y -200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 x -200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 y (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 -200 (/.f64 (-.f64 x y) (-.f64 x y))) (*.f64 -200 (/.f64 (-.f64 x y) (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) (/.f64 200 (-.f64 x y))) (*.f64 (-.f64 x y) (/.f64 200 (-.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (*.f64 200 (-.f64 x y)) (/.f64 1 (*.f64 200 (-.f64 x y)))) (*.f64 (*.f64 200 (-.f64 x y)) (/.f64 1 (*.f64 200 (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) -200) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 x y) -200))))))

simplify82.0ms (4.1%)

Algorithm
egg-herbie
Rules
1172×rational_best_oopsla_all_46_json_45_simplify-49
1020×rational_best_oopsla_all_46_json_45_simplify-7
834×rational_best_oopsla_all_46_json_45_simplify-89
670×rational_best_oopsla_all_46_json_45_simplify-10
652×rational_best_oopsla_all_46_json_45_simplify-37
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0731202
12331118
29511118
347211118
Stop Event
node limit
Counts
50 → 42
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 200 x) (*.f64 y -200))
(+.f64 (*.f64 y -200) (*.f64 200 x))
(+.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(+.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (+.f64 0 (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))))))
(+.f64 (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(-.f64 (*.f64 200 (-.f64 x y)) 0)
(-.f64 0 (*.f64 (-.f64 x y) -200))
(-.f64 (*.f64 200 x) (*.f64 200 y))
(-.f64 (*.f64 y -200) (*.f64 x -200))
(-.f64 (*.f64 (*.f64 200 x) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 200 y) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(-.f64 (*.f64 (*.f64 y -200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 x -200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(-.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 y (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(/.f64 (*.f64 200 (-.f64 x y)) 1)
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y)))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 -200 (/.f64 (-.f64 x y) (-.f64 x y))) (*.f64 -200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) (/.f64 200 (-.f64 x y))) (*.f64 (-.f64 x y) (/.f64 200 (-.f64 x y)))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (*.f64 200 (-.f64 x y)) (/.f64 1 (*.f64 200 (-.f64 x y)))) (*.f64 (*.f64 200 (-.f64 x y)) (/.f64 1 (*.f64 200 (-.f64 x y))))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))))))
(/.f64 (*.f64 (-.f64 x y) -200) -1)
(neg.f64 (*.f64 (-.f64 x y) -200))
Outputs
(*.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 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 200 x)
(+.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 x) (*.f64 -200 y))
(*.f64 200 x)
(+.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 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 -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 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(+.f64 0 (*.f64 200 (-.f64 x y)))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(+.f64 (*.f64 200 x) (*.f64 y -200))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 y -200) (*.f64 200 x))
(+.f64 (*.f64 200 x) (*.f64 -200 y))
(+.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(+.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (+.f64 0 (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(+.f64 (*.f64 (neg.f64 y) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(-.f64 (*.f64 200 (-.f64 x y)) 0)
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(-.f64 0 (*.f64 (-.f64 x y) -200))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(-.f64 (*.f64 200 x) (*.f64 200 y))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(-.f64 (*.f64 y -200) (*.f64 x -200))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(-.f64 (*.f64 (*.f64 200 x) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 200 y) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(-.f64 (*.f64 (*.f64 200 x) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 y 200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(*.f64 (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)) (*.f64 200 (-.f64 x y)))
(*.f64 200 (*.f64 (/.f64 (*.f64 -200 (-.f64 y x)) (*.f64 -200 (-.f64 y x))) (-.f64 x y)))
(-.f64 (*.f64 (*.f64 y -200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 x -200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(-.f64 (*.f64 (*.f64 200 x) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))) (*.f64 (*.f64 y 200) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(*.f64 (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)) (*.f64 200 (-.f64 x y)))
(*.f64 200 (*.f64 (/.f64 (*.f64 -200 (-.f64 y x)) (*.f64 -200 (-.f64 y x))) (-.f64 x y)))
(-.f64 (*.f64 x (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 y (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) 1)
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400)) (/.f64 (*.f64 (-.f64 x y) 400) (*.f64 (-.f64 x y) 400))))
(/.f64 (*.f64 -200 (-.f64 y x)) (/.f64 (/.f64 (*.f64 -200 (-.f64 y x)) (*.f64 -200 (-.f64 y x))) (/.f64 (*.f64 -200 (-.f64 y x)) (*.f64 -200 (-.f64 y x)))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y))))
(/.f64 (*.f64 -200 (-.f64 y x)) (/.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 -200 (/.f64 (-.f64 x y) (-.f64 x y))) (*.f64 -200 (/.f64 (-.f64 x y) (-.f64 x y)))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) (/.f64 200 (-.f64 x y))) (*.f64 (-.f64 x y) (/.f64 200 (-.f64 x y)))))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (*.f64 200 (-.f64 x y)) (/.f64 1 (*.f64 200 (-.f64 x y)))) (*.f64 (*.f64 200 (-.f64 x y)) (/.f64 1 (*.f64 200 (-.f64 x y))))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) (*.f64 (/.f64 1 (*.f64 200 (-.f64 x y))) 200)) (*.f64 (-.f64 x y) (*.f64 (/.f64 1 (*.f64 200 (-.f64 x y))) 200))))
(/.f64 (*.f64 -200 (-.f64 y x)) (/.f64 (*.f64 (*.f64 -200 (-.f64 x y)) (/.f64 1 (*.f64 -200 (-.f64 x y)))) (*.f64 (*.f64 -200 (-.f64 x y)) (/.f64 1 (*.f64 -200 (-.f64 x y))))))
(/.f64 (*.f64 -200 (-.f64 y x)) (/.f64 (*.f64 (*.f64 -200 (-.f64 y x)) (/.f64 -1 (*.f64 -200 (-.f64 y x)))) (*.f64 (*.f64 -200 (-.f64 y x)) (/.f64 -1 (*.f64 -200 (-.f64 y x))))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (*.f64 200 (/.f64 (-.f64 x y) (-.f64 x y))))))
(/.f64 (*.f64 200 (-.f64 x y)) (/.f64 (*.f64 200 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 200 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y))))))
(/.f64 (*.f64 -200 (-.f64 y x)) (/.f64 (*.f64 200 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y)))) (*.f64 200 (*.f64 (/.f64 (-.f64 x y) (-.f64 x y)) (/.f64 (-.f64 x y) (-.f64 x y))))))
(/.f64 (*.f64 (-.f64 x y) -200) -1)
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))
(neg.f64 (*.f64 (-.f64 x y) -200))
(*.f64 200 (-.f64 x y))
(*.f64 -200 (-.f64 y x))

eval10.0ms (0.5%)

Compiler

Compiled 792 to 339 computations (57.2% saved)

prune6.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New40242
Fresh000
Picked011
Done000
Total40343
Error
0.0b
Counts
43 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 200 (-.f64 x y))
32.4b
(*.f64 200 x)
30.3b
(*.f64 -200 y)
Compiler

Compiled 17 to 13 computations (23.5% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize4.0ms (0.2%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 200 (-.f64 x y))
32.4b
(*.f64 200 x)
30.3b
(*.f64 -200 y)
Compiler

Compiled 17 to 13 computations (23.5% saved)

regimes47.0ms (2.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:

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

Compiled 31 to 21 computations (32.3% saved)

regimes22.0ms (1.1%)

Accuracy

Total -48.9b remaining (-375.7%)

Threshold costs -48.9b (-375.7%)

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

2 calls:

13.0ms
x
8.0ms
y
Results
ErrorSegmentsBranch
13.0b5x
14.8b3y
Compiler

Compiled 14 to 10 computations (28.6% saved)

bsearch72.0ms (3.6%)

Algorithm
binary-search
Steps
TimeLeftRight
47.0ms
6.8158203128982855e+137
7.000667500227727e+145
9.0ms
3.539803586422986e+115
2.654584717432952e+116
6.0ms
7.436333870155265e-77
1.2345907122497826e-76
11.0ms
-2494444899.537053
-15301778.689346053
Results
60.0ms382×body256valid
4.0ms18×body2048valid
2.0ms11×body1024valid
1.0msbody512valid
Compiler

Compiled 324 to 269 computations (17% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02591
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 200 (-.f64 x y))
(if (<=.f64 x -240000000) (*.f64 200 x) (if (<=.f64 x 3976294225804917/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (*.f64 -200 y) (if (<=.f64 x 259999999999999986547442395397283791329714546258505049850784903766317291696671631569272207782904950607708216841207808) (*.f64 200 x) (if (<=.f64 x 700000000000000022989093742443448255290908796451728186858619398381122904829151596880800920939409188878764653349025704905053943443948044288) (*.f64 -200 y) (*.f64 200 x)))))
(*.f64 -200 y)
Outputs
(*.f64 200 (-.f64 x y))
(if (<=.f64 x -240000000) (*.f64 200 x) (if (<=.f64 x 3976294225804917/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (*.f64 -200 y) (if (<=.f64 x 259999999999999986547442395397283791329714546258505049850784903766317291696671631569272207782904950607708216841207808) (*.f64 200 x) (if (<=.f64 x 700000000000000022989093742443448255290908796451728186858619398381122904829151596880800920939409188878764653349025704905053943443948044288) (*.f64 -200 y) (*.f64 200 x)))))
(*.f64 -200 y)
Compiler

Compiled 45 to 33 computations (26.7% saved)

soundness0.0ms (0%)

end28.0ms (1.4%)

Compiler

Compiled 41 to 29 computations (29.3% saved)

Profiling

Loading profile data...