Details

Time bar (total: 3.3s)

analyze199.0ms (6%)

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
50.8%50%48.4%0.1%1.6%0%0%7
60.8%59.3%38.2%0.1%2.3%0%0%8
70.8%67.1%27.7%0.1%5.1%0%0%9
77.3%72.6%21.3%0.1%6%0%0%10
83.9%76.9%14.7%0.1%8.3%0%0%11
87.7%79.8%11.2%0.1%8.9%0%0%12
Compiler

Compiled 10 to 6 computations (40% saved)

sample1.2s (35.3%)

Results
1.1s8255×body256valid
98.0ms332×body256infinite
0.0msbody1024valid
Bogosity

preprocess116.0ms (3.5%)

Algorithm
egg-herbie
Rules
1422×rational_best_oopsla_all_46_json_45_simplify-49
1288×rational_best_oopsla_all_46_json_45_simplify-72
1106×rational_best_oopsla_all_46_json_45_simplify-10
1050×rational_best_oopsla_all_46_json_45_simplify-30
920×rational_best_oopsla_all_46_json_45_simplify-89
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
12538
26638
320038
480838
5311238
6704938
022
122
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 (+.f64 (*.f64 y x) y) x)
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 y (+.f64 x (*.f64 x y)))
(+.f64 x (+.f64 y (*.f64 x y)))
(+.f64 (*.f64 x y) (+.f64 x y))
(+.f64 (+.f64 (*.f64 y x) y) x)
(+.f64 y (+.f64 x (*.f64 x y)))
(+.f64 x (+.f64 y (*.f64 x y)))
(+.f64 (*.f64 x y) (+.f64 x y))
Symmetry

(sort x y)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify160.0ms (4.8%)

Algorithm
egg-herbie
Rules
1878×rational_best_oopsla_all_46_json_45_simplify-10
1098×rational_best_oopsla_all_46_json_45_simplify-49
1030×rational_best_oopsla_all_46_json_45_simplify-7
966×rational_best_oopsla_all_46_json_45_simplify-72
708×rational_best_oopsla_all_46_json_45_simplify-30
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11419
24119
312819
448019
5250319
6531619
7798819
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) x) y)
Outputs
(+.f64 (+.f64 (*.f64 x y) x) y)
(+.f64 y (+.f64 x (*.f64 x y)))
(+.f64 x (+.f64 y (*.f64 x y)))
(+.f64 (*.f64 x y) (+.f64 x y))

eval1.0ms (0%)

Compiler

Compiled 30 to 11 computations (63.3% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New224
Fresh011
Picked000
Done000
Total235
Error
0.0b
Counts
5 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) x) y)
0.0b
(+.f64 (*.f64 x y) (+.f64 x y))
Compiler

Compiled 18 to 10 computations (44.4% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 5 computations (70.6% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite61.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1694×rational_best_oopsla_all_46_json-2
1694×rational_best_oopsla_all_46_json-1
1694×rational_best_oopsla_all_46_json-4
1694×rational_best_oopsla_all_46_json-3
946×rational_best_oopsla_all_46_json_45_simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
14619
214819
362519
4325019
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (+.f64 x y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (neg.f64 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x y) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 y (*.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 1 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))))

simplify112.0ms (3.4%)

Algorithm
egg-herbie
Rules
1476×rational_best_oopsla_all_46_json_45_simplify-13
1002×rational_best_oopsla_all_46_json_45_simplify-7
840×rational_best_oopsla_all_46_json_45_simplify-72
560×rational_best_oopsla_all_46_json_45_simplify-49
546×rational_best_oopsla_all_46_json_45_simplify-87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891037
13631035
228681031
379951031
Stop Event
node limit
Counts
57 → 54
Calls
Call 1
Inputs
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 (+.f64 1 y) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(-.f64 (*.f64 x y) (neg.f64 (+.f64 x y)))
(-.f64 (+.f64 x y) (*.f64 x (neg.f64 y)))
(-.f64 (+.f64 x (+.f64 y (*.f64 x y))) 0)
(-.f64 0 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 1 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 -1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(*.f64 -1 (*.f64 1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) -1)
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
Outputs
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 (+.f64 (*.f64 x -1) -1) (neg.f64 y))
(*.f64 (neg.f64 y) (+.f64 -1 (neg.f64 x)))
(-.f64 y (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(-.f64 (*.f64 x y) (neg.f64 (+.f64 x y)))
(-.f64 (*.f64 y x) (neg.f64 (+.f64 y x)))
(-.f64 (+.f64 y x) (neg.f64 (*.f64 y x)))
(-.f64 (+.f64 x y) (*.f64 x (neg.f64 y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(-.f64 (+.f64 x (+.f64 y (*.f64 x y))) 0)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(-.f64 0 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 1 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 -1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) -1)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(*.f64 (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(+.f64 y (*.f64 (+.f64 y 1) x))
(+.f64 y (+.f64 x (*.f64 y x)))

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 5 computations (73.7% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite80.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1740×rational_best_oopsla_all_46_json-2
1740×rational_best_oopsla_all_46_json-1
1740×rational_best_oopsla_all_46_json-4
1740×rational_best_oopsla_all_46_json-3
952×rational_best_oopsla_all_46_json_45_simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0732
14432
214232
362732
4329632
Stop Event
node limit
Counts
2 → 143
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) x)
(+.f64 (+.f64 (*.f64 x y) x) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 x) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 y (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 x (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 x x) (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 1 (+.f64 1 (*.f64 x (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 1 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y 1) (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y 1) (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 x (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 x x) (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 x (/.f64 (*.f64 y (/.f64 x x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 y (/.f64 x x)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 x (/.f64 y x)) (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 x (/.f64 y x)) (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 y 1) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 1 (*.f64 x (/.f64 y x))) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y (/.f64 x x)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 x (/.f64 y x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y 1) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 x (/.f64 y x))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (neg.f64 x) (/.f64 (-.f64 -1 y) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (+.f64 y 1) (neg.f64 (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 y) (neg.f64 (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 x x)) (*.f64 y (neg.f64 (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (-.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 1 (-.f64 (neg.f64 x) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 y 1) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (-.f64 (neg.f64 x) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x (-.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 x (/.f64 y x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (/.f64 x x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 x) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 x) (*.f64 x y)) (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 y) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (-.f64 (neg.f64 x) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 y 1) (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 x) (*.f64 x y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (neg.f64 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 y (*.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x y) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 1 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))))))

simplify149.0ms (4.5%)

Algorithm
egg-herbie
Rules
1640×rational_best_oopsla_all_46_json_45_simplify-89
1334×rational_best_oopsla_all_46_json_45_simplify-24
1316×rational_best_oopsla_all_46_json_45_simplify-74
998×rational_best_oopsla_all_46_json_45_simplify-23
930×rational_best_oopsla_all_46_json_45_simplify-37
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03293037
114952985
278762985
Stop Event
node limit
Counts
191 → 171
Calls
Call 1
Inputs
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 (+.f64 1 y) x)
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 (+.f64 1 x) y)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 (*.f64 (+.f64 1 x) y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(-.f64 x (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x y) (neg.f64 x))
(-.f64 (+.f64 x (*.f64 x y)) 0)
(-.f64 0 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 y 1))
(*.f64 x (+.f64 1 (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 1 (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))))
(*.f64 x (+.f64 y (/.f64 x x)))
(*.f64 x (*.f64 (/.f64 x x) (+.f64 y 1)))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 x (/.f64 y x)))))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 x (/.f64 1 x))))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y 1)))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 x (/.f64 y x)))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y (/.f64 x x))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 x x) (+.f64 y 1))))
(*.f64 x (+.f64 1 (*.f64 x (/.f64 (*.f64 y (/.f64 x x)) x))))
(*.f64 x (+.f64 1 (*.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 y (/.f64 x x)) x))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (+.f64 y (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 (*.f64 x (/.f64 y x)) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 (*.f64 x (/.f64 y x)) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (*.f64 x (/.f64 (+.f64 y 1) x)))
(*.f64 x (*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x)))
(*.f64 x (*.f64 (+.f64 1 (*.f64 x (/.f64 y x))) (/.f64 x x)))
(*.f64 x (*.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) (/.f64 x x)))
(*.f64 x (*.f64 (+.f64 y (/.f64 x x)) (/.f64 x x)))
(*.f64 x (*.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) (/.f64 x x)))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 x (/.f64 y x))) x)))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) x)))
(*.f64 x (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) x)))
(*.f64 x (*.f64 x (/.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) x)))
(*.f64 (+.f64 x (*.f64 x y)) 1)
(*.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 1 (+.f64 x (*.f64 x y)))
(*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 x x)))
(*.f64 (/.f64 x x) (+.f64 x (*.f64 x y)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y 1) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 x (/.f64 y x))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (neg.f64 x) (/.f64 (-.f64 -1 y) (/.f64 x x))))
(*.f64 (+.f64 y 1) x)
(*.f64 (+.f64 y 1) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) x))
(*.f64 (+.f64 y 1) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))))
(*.f64 (+.f64 y 1) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (neg.f64 x) (*.f64 (+.f64 y 1) (neg.f64 (/.f64 x x))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) -1))
(*.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) (neg.f64 (/.f64 x x))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 x x)) (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (-.f64 -1 y))
(*.f64 -1 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 -1 (*.f64 1 (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 -1 (*.f64 (+.f64 y 1) (neg.f64 x)))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 -1 (*.f64 x (-.f64 -1 y)))
(*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)
(*.f64 (+.f64 1 (*.f64 x (/.f64 y x))) x)
(*.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) x)
(*.f64 (+.f64 y (/.f64 x x)) x)
(*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) -1)
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) x)
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 (-.f64 -1 y) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (-.f64 (neg.f64 x) (*.f64 x y)))
(/.f64 (+.f64 x (*.f64 x y)) 1)
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 x x))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 y 1) (+.f64 y 1)))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(neg.f64 (-.f64 (neg.f64 x) (*.f64 x y)))
(-.f64 (*.f64 x y) (neg.f64 (+.f64 x y)))
(-.f64 (+.f64 x (+.f64 y (*.f64 x y))) 0)
(-.f64 0 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(-.f64 (+.f64 x y) (*.f64 x (neg.f64 y)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 1 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(*.f64 -1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(*.f64 -1 (*.f64 1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) -1)
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(*.f64 (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
Outputs
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
x
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
y
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 y (*.f64 (+.f64 1 y) x))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
x
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 x) y) x)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 (+.f64 (neg.f64 x) -1) (neg.f64 y))
(*.f64 (-.f64 -1 x) (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 (+.f64 (neg.f64 x) -1) (neg.f64 y)))
(+.f64 x (*.f64 (-.f64 -1 x) (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 (+.f64 (neg.f64 x) -1) (neg.f64 y)))
(+.f64 x (*.f64 (-.f64 -1 x) (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(+.f64 x (*.f64 (+.f64 (neg.f64 x) -1) (neg.f64 y)))
(+.f64 x (*.f64 (-.f64 -1 x) (neg.f64 y)))
(-.f64 x (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x y) (neg.f64 x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(-.f64 (+.f64 x (*.f64 x y)) 0)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(-.f64 0 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 y 1))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 1 (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 1 (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 y (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 x x) (+.f64 y 1)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 x (/.f64 y x)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y 1)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 x (/.f64 y x)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 x x) (+.f64 y 1))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 1 (*.f64 x (/.f64 (*.f64 y (/.f64 x x)) x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 1 (*.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 y (/.f64 x x)) x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 (/.f64 x x) (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 y (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (*.f64 x (/.f64 y x)) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (*.f64 x (/.f64 y x)) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (+.f64 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 x (/.f64 (+.f64 y 1) x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (+.f64 1 (*.f64 x (/.f64 y x))) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (+.f64 y (/.f64 x x)) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 x (/.f64 y x))) x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 x (*.f64 x (/.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) 1)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 1 (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y 1) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 x (/.f64 y x))) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 x x) (*.f64 (neg.f64 x) (/.f64 (-.f64 -1 y) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 y 1) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 y 1) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 y 1) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 y 1) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (neg.f64 x) (*.f64 (+.f64 y 1) (neg.f64 (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) -1))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))
(+.f64 x (*.f64 (neg.f64 x) (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) (neg.f64 (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 x x)) (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))
(+.f64 x (*.f64 (neg.f64 x) (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (-.f64 -1 y))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 1 (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 (+.f64 y 1) (neg.f64 x)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 x (-.f64 -1 y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 x (/.f64 y x))) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 y (*.f64 (/.f64 x x) (/.f64 x x)))) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (+.f64 y (/.f64 x x)) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) -1)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (*.f64 (/.f64 x x) (+.f64 y 1)) x)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (-.f64 -1 y) (neg.f64 x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(*.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(/.f64 (+.f64 x (*.f64 x y)) 1)
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 x x))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 y 1) (+.f64 y 1)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(neg.f64 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(+.f64 x (*.f64 y x))
(-.f64 (*.f64 x y) (neg.f64 (+.f64 x y)))
(-.f64 (*.f64 y x) (neg.f64 (+.f64 y x)))
(-.f64 (+.f64 x (+.f64 y (*.f64 x y))) 0)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(-.f64 0 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x)))
(+.f64 y (-.f64 x (*.f64 x (neg.f64 y))))
(-.f64 (+.f64 x y) (*.f64 x (neg.f64 y)))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x)))
(+.f64 y (-.f64 x (*.f64 x (neg.f64 y))))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 1 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 -1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x)))
(+.f64 y (-.f64 x (*.f64 x (neg.f64 y))))
(*.f64 -1 (*.f64 1 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x)))
(+.f64 y (-.f64 x (*.f64 x (neg.f64 y))))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 y x))) (+.f64 x (+.f64 y (*.f64 y x)))) (neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x))))
(*.f64 (+.f64 y (-.f64 x (*.f64 x (neg.f64 y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 y x))) (+.f64 x (+.f64 y (*.f64 y x)))))
(*.f64 (*.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 1 (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) -1)
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x)))
(+.f64 y (-.f64 x (*.f64 x (neg.f64 y))))
(*.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)) (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 y x))) (+.f64 x (+.f64 y (*.f64 y x)))) (neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x))))
(*.f64 (+.f64 y (-.f64 x (*.f64 x (neg.f64 y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 y x))) (+.f64 x (+.f64 y (*.f64 y x)))))
(*.f64 (*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (+.f64 x (+.f64 y (*.f64 x y))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(*.f64 (neg.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))) (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(*.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 y x))) (+.f64 x (+.f64 y (*.f64 y x)))) (neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x))))
(*.f64 (+.f64 y (-.f64 x (*.f64 x (neg.f64 y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 y x))) (+.f64 x (+.f64 y (*.f64 y x)))))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) 1)
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (/.f64 (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y)))) (/.f64 (+.f64 x (+.f64 y (*.f64 x y))) (+.f64 x (+.f64 y (*.f64 x y))))))
(+.f64 y (*.f64 x (+.f64 1 y)))
(+.f64 x (+.f64 y (*.f64 y x)))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 x y)))
(neg.f64 (-.f64 (*.f64 x (neg.f64 y)) (+.f64 y x)))
(+.f64 y (-.f64 x (*.f64 x (neg.f64 y))))

eval34.0ms (1%)

Compiler

Compiled 4243 to 809 computations (80.9% saved)

prune31.0ms (0.9%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2196225
Fresh000
Picked011
Done011
Total2198227
Error
0b
Counts
227 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) x) y)
24.5b
(+.f64 (*.f64 y x) y)
0.0b
(+.f64 (*.f64 x y) (+.f64 x y))
30.0b
(+.f64 x (*.f64 y x))
10.4b
(+.f64 x y)
30.0b
(*.f64 (+.f64 y 1) x)
34.1b
y
39.7b
x
Compiler

Compiled 50 to 30 computations (40% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 8 computations (38.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite68.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1632×rational_best_oopsla_all_46_json-2
1632×rational_best_oopsla_all_46_json-1
1632×rational_best_oopsla_all_46_json-4
1632×rational_best_oopsla_all_46_json-3
980×rational_best_oopsla_all_46_json_45_simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14413
214013
363513
4327813
Stop Event
node limit
Counts
1 → 64
Calls
Call 1
Inputs
(*.f64 (+.f64 y 1) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) x) (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (+.f64 x (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (+.f64 x (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (+.f64 x (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) y) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x x))) (+.f64 x (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y x)) (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (-.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (-.f64 0 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (-.f64 0 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y x) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (-.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (*.f64 (+.f64 y 1) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (-.f64 -1 y)))))))

simplify114.0ms (3.4%)

Algorithm
egg-herbie
Rules
1786×rational_best_oopsla_all_46_json_45_simplify-89
1394×rational_best_oopsla_all_46_json_45_simplify-74
1236×rational_best_oopsla_all_46_json_45_simplify-24
740×rational_best_oopsla_all_46_json_45_simplify-10
718×rational_best_oopsla_all_46_json_45_simplify-30
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01281168
14151168
216701168
373331168
Stop Event
node limit
Counts
88 → 70
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 y x))
(+.f64 (+.f64 x (*.f64 y x)) 0)
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x x))))
(+.f64 0 (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))
(+.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) y))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y))
(+.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) x) (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(+.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y x)))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) x))
(+.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 0 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) y) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(+.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x x))) (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y x)) (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 (*.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(-.f64 x (*.f64 y (neg.f64 x)))
(-.f64 (+.f64 x (*.f64 y x)) 0)
(-.f64 0 (*.f64 x (-.f64 -1 y)))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (neg.f64 x))))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (-.f64 0 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (-.f64 0 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(-.f64 (*.f64 y x) (neg.f64 x))
(-.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(-.f64 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(-.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(-.f64 (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) -1))
(-.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) -1))
(-.f64 (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (neg.f64 x))))
(-.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (neg.f64 x)))
(-.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(-.f64 (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (-.f64 -1 y))))
(/.f64 (+.f64 x (*.f64 y x)) 1)
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 x x))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (*.f64 (+.f64 y 1) (/.f64 x x))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(neg.f64 (*.f64 x (-.f64 -1 y)))
Outputs
x
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(*.f64 (+.f64 1 y) x)
(+.f64 x (*.f64 x y))
(+.f64 x (*.f64 y x))
(+.f64 x (*.f64 x y))
(+.f64 (+.f64 x (*.f64 y x)) 0)
(+.f64 x (*.f64 x y))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 x (*.f64 x y))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))
(+.f64 x (*.f64 x y))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(+.f64 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x x))))
(+.f64 x (*.f64 x y))
(+.f64 0 (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) y))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) x) (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y x)))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) x))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 0 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) y) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 0 (*.f64 (+.f64 y 1) (/.f64 x x))) (+.f64 x (*.f64 y x)))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y x)) (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 x (*.f64 x y))
(-.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x y))
(-.f64 (+.f64 x (*.f64 y x)) 0)
(+.f64 x (*.f64 x y))
(-.f64 0 (*.f64 x (-.f64 -1 y)))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 y (neg.f64 x))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) y))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (-.f64 0 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (-.f64 0 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 y x) (neg.f64 x))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 (*.f64 y x) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 y (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))) (*.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) -1))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))) (*.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) -1))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 x (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 y (neg.f64 x))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (neg.f64 x)))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 (*.f64 y (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (neg.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 0 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (-.f64 -1 y))))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) 1)
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 x x))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y))) (*.f64 x (/.f64 (-.f64 -1 y) (-.f64 -1 y)))))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y)))) (*.f64 x (*.f64 (/.f64 (-.f64 -1 y) (-.f64 -1 y)) (/.f64 (-.f64 -1 y) (-.f64 -1 y))))))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (*.f64 (+.f64 y 1) (/.f64 x x))))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (*.f64 (+.f64 y 1) (/.f64 x x))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1)))))
(+.f64 x (*.f64 x y))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x)))))
(+.f64 x (*.f64 x y))
(neg.f64 (*.f64 x (-.f64 -1 y)))
(+.f64 x (*.f64 x y))

localize4.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 12 to 4 computations (66.7% saved)

series0.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite65.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1464×rational_best_oopsla_all_46_json-2
1464×rational_best_oopsla_all_46_json-1
1464×rational_best_oopsla_all_46_json-4
1464×rational_best_oopsla_all_46_json-3
1204×rational_best_oopsla_all_46_json_45_simplify-72
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
13813
212613
356013
4287513
Stop Event
node limit
Counts
1 → 88
Calls
Call 1
Inputs
(+.f64 x (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 x) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 y (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y 1) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y 1) (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y 1) (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 y 1) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 x (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 x x) (*.f64 y (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 y 1) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y (/.f64 x x)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y 1) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y 1) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x x) (*.f64 (neg.f64 x) (/.f64 (-.f64 -1 y) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (-.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 1 (-.f64 (neg.f64 x) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 y 1) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (-.f64 (neg.f64 x) (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x (-.f64 -1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (/.f64 x x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 x) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 x) (*.f64 x y)) (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 y) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (-.f64 (neg.f64 x) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 y 1) (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 x) (*.f64 x y)))))))

simplify94.0ms (2.8%)

Algorithm
egg-herbie
Rules
1056×rational_best_oopsla_all_46_json_45_simplify-89
1026×rational_best_oopsla_all_46_json_45_simplify-72
854×rational_best_oopsla_all_46_json_45_simplify-24
850×rational_best_oopsla_all_46_json_45_simplify-74
622×rational_best_oopsla_all_46_json_45_simplify-82
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02081696
19451624
246941624
Stop Event
node limit
Counts
112 → 99
Calls
Call 1
Inputs
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(-.f64 x (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x y) (neg.f64 x))
(-.f64 (+.f64 x (*.f64 x y)) 0)
(-.f64 0 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 y 1))
(*.f64 x (+.f64 1 (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 y (/.f64 x x)))
(*.f64 x (*.f64 (+.f64 y 1) (/.f64 x x)))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 x (/.f64 1 x))))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y 1)))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y (/.f64 x x))))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 y 1) (/.f64 x x))))
(*.f64 x (+.f64 1 (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 1 (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 y (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (*.f64 x (/.f64 (+.f64 y 1) x)))
(*.f64 x (*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x)))
(*.f64 x (*.f64 (+.f64 y (/.f64 x x)) (/.f64 x x)))
(*.f64 x (*.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (/.f64 x x)))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))
(*.f64 x (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) x)))
(*.f64 x (*.f64 x (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) x)))
(*.f64 (+.f64 x (*.f64 x y)) 1)
(*.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 1 (+.f64 x (*.f64 x y)))
(*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 x x)))
(*.f64 (+.f64 y 1) x)
(*.f64 (+.f64 y 1) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) x))
(*.f64 (+.f64 y 1) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))))
(*.f64 (+.f64 y 1) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(*.f64 (/.f64 x x) (+.f64 x (*.f64 x y)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y 1) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 (/.f64 x x) (*.f64 (neg.f64 x) (/.f64 (-.f64 -1 y) (/.f64 x x))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) -1))
(*.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (-.f64 -1 y))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 -1 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 -1 (*.f64 1 (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 -1 (*.f64 (+.f64 y 1) (neg.f64 x)))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 -1 (*.f64 x (-.f64 -1 y)))
(*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)
(*.f64 (+.f64 y (/.f64 x x)) x)
(*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) -1)
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) x)
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 (-.f64 -1 y) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (-.f64 (neg.f64 x) (*.f64 x y)))
(/.f64 (+.f64 x (*.f64 x y)) 1)
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 x x))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 y 1) (+.f64 y 1)))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(neg.f64 (-.f64 (neg.f64 x) (*.f64 x y)))
Outputs
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 1 y))
x
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 1 y))
(-.f64 x (*.f64 x (neg.f64 y)))
(*.f64 x (+.f64 1 y))
(-.f64 (*.f64 x y) (neg.f64 x))
(*.f64 x (+.f64 1 y))
(-.f64 (+.f64 x (*.f64 x y)) 0)
(*.f64 x (+.f64 1 y))
(-.f64 0 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 y 1))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 1 (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 y (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (+.f64 y 1) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (+.f64 y 1) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y 1)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 1 (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 y (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 y 1) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 1 (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 1 (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 y (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 y (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 (/.f64 x x) (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 1 x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 x (/.f64 (+.f64 y 1) x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (+.f64 y (/.f64 x x)) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (/.f64 x x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) x)))
(*.f64 x (+.f64 1 y))
(*.f64 x (*.f64 x (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) x)))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) 1)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 x (*.f64 x y)) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 1 (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(*.f64 1 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 x x)))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (+.f64 y 1) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 y 1) (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) x))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 y 1) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 y 1) (*.f64 (+.f64 y 1) (/.f64 x (+.f64 y 1))))
(*.f64 x (+.f64 1 y))
(*.f64 (/.f64 x x) (+.f64 x (*.f64 x y)))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y 1) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 1 (*.f64 y (/.f64 x x))) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (+.f64 y (/.f64 x x)) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 x (/.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (/.f64 x x) (*.f64 (neg.f64 x) (/.f64 (-.f64 -1 y) (/.f64 x x))))
(*.f64 (+.f64 x (*.f64 y x)) (*.f64 1 (/.f64 x x)))
(*.f64 x (/.f64 (+.f64 1 y) (/.f64 x x)))
(+.f64 x (*.f64 (*.f64 y x) (/.f64 x x)))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) -1))
(*.f64 x (+.f64 1 y))
(*.f64 (neg.f64 x) (+.f64 -1 (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 x (+.f64 1 y))
(*.f64 (neg.f64 x) (-.f64 -1 y))
(*.f64 x (+.f64 1 y))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 x x) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 (+.f64 x (*.f64 y x)) (/.f64 x x)))
(*.f64 (*.f64 x (+.f64 1 y)) (/.f64 (/.f64 x x) (/.f64 (*.f64 x (+.f64 1 y)) (*.f64 x (+.f64 1 y)))))
(*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (*.f64 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 1 (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 (+.f64 y 1) (neg.f64 x)))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (-.f64 (neg.f64 x) (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(*.f64 -1 (*.f64 x (-.f64 -1 y)))
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 (*.f64 y (/.f64 x x))) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 y (/.f64 x x)) x)
(*.f64 x (+.f64 1 y))
(*.f64 (*.f64 (+.f64 x (*.f64 x y)) (/.f64 1 (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) -1)
(*.f64 x (+.f64 1 y))
(*.f64 (-.f64 (neg.f64 x) (*.f64 x y)) (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(*.f64 (*.f64 (+.f64 y 1) (/.f64 x x)) x)
(*.f64 x (+.f64 1 y))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (+.f64 x (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(*.f64 (-.f64 -1 y) (neg.f64 x))
(*.f64 x (+.f64 1 y))
(*.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))) (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))
(/.f64 (+.f64 x (*.f64 x y)) 1)
(*.f64 x (+.f64 1 y))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 x x))
(*.f64 x (+.f64 1 y))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))))
(*.f64 x (+.f64 1 y))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (+.f64 y 1) (+.f64 y 1)))
(*.f64 x (+.f64 1 y))
(/.f64 (+.f64 x (*.f64 x y)) (/.f64 (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y))) (/.f64 (+.f64 x (*.f64 x y)) (+.f64 x (*.f64 x y)))))
(*.f64 x (+.f64 1 y))
(neg.f64 (-.f64 (neg.f64 x) (*.f64 x y)))
(*.f64 x (+.f64 1 y))

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 12 to 4 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 21
Calls

6 calls:

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

rewrite69.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1520×rational_best_oopsla_all_46_json-2
1520×rational_best_oopsla_all_46_json-1
1520×rational_best_oopsla_all_46_json-4
1520×rational_best_oopsla_all_46_json-3
1254×rational_best_oopsla_all_46_json_45_simplify-72
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
13813
212613
356913
4297013
Stop Event
node limit
Counts
1 → 110
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 y (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y x) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 y) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 (*.f64 x (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 (*.f64 y (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 x (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 y y) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 1 (+.f64 1 (*.f64 x (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 1 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 x 1) (*.f64 y (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 x 1) (*.f64 (/.f64 y y) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 x (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 y (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 x (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (/.f64 y y) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 (*.f64 y (/.f64 (*.f64 x (/.f64 y y)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 (*.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (/.f64 y y) (*.f64 y (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (/.f64 y y) (*.f64 y (/.f64 (*.f64 x (/.f64 y y)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (/.f64 y y) (*.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 x (*.f64 y (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (*.f64 x (/.f64 y y)) (*.f64 y (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (*.f64 x (/.f64 y y)) (*.f64 (/.f64 y y) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (*.f64 y (/.f64 x y)) (*.f64 y (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (*.f64 y (/.f64 x y)) (*.f64 (/.f64 y y) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 y (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (/.f64 y y) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y (/.f64 (+.f64 x 1) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 1 (*.f64 x (/.f64 y y))) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 1 (*.f64 y (/.f64 x y))) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 x (/.f64 y y)) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 x (/.f64 y y))) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 y (/.f64 x y))) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y (/.f64 (+.f64 x (/.f64 y y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y (/.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 1 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (+.f64 y (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 y y) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 x 1) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 x (/.f64 y y))) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 y (/.f64 x y))) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 x (/.f64 y y)) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 y (/.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y y) (*.f64 (neg.f64 y) (/.f64 (-.f64 -1 x) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 1) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 1) (*.f64 y (/.f64 (-.f64 -1 x) (-.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (/.f64 y (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (*.f64 (+.f64 x 1) (neg.f64 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (+.f64 (neg.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (+.f64 -1 (*.f64 x (neg.f64 (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (+.f64 (neg.f64 x) (neg.f64 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (+.f64 (*.f64 x (neg.f64 (/.f64 y y))) (neg.f64 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (-.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 y (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 y y) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 y) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 1 (-.f64 (neg.f64 y) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 x 1) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (-.f64 (neg.f64 y) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 y (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 x (/.f64 y y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 y (/.f64 x y))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 y y)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 y) (*.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 y) (*.f64 y x)) (neg.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (-.f64 (neg.f64 y) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 x) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 y x)) (/.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 y x)) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 y x)) (/.f64 (-.f64 -1 x) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 y) (*.f64 y x)))))))

simplify113.0ms (3.4%)

Algorithm
egg-herbie
Rules
1520×rational_best_oopsla_all_46_json_45_simplify-72
1350×rational_best_oopsla_all_46_json_45_simplify-89
1092×rational_best_oopsla_all_46_json_45_simplify-24
1072×rational_best_oopsla_all_46_json_45_simplify-74
650×rational_best_oopsla_all_46_json_45_simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02551683
111811683
256811683
Stop Event
node limit
Counts
131 → 118
Calls
Call 1
Inputs
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
y
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(-.f64 y (*.f64 y (neg.f64 x)))
(-.f64 (*.f64 y x) (neg.f64 y))
(-.f64 (+.f64 y (*.f64 y x)) 0)
(-.f64 0 (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 y (+.f64 x 1))
(*.f64 y (+.f64 1 (*.f64 x (/.f64 y y))))
(*.f64 y (+.f64 1 (*.f64 y (/.f64 x y))))
(*.f64 y (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))))
(*.f64 y (+.f64 x (/.f64 y y)))
(*.f64 y (*.f64 (/.f64 y y) (+.f64 x 1)))
(*.f64 y (*.f64 1 (+.f64 1 (*.f64 x (/.f64 y y)))))
(*.f64 y (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x y)))))
(*.f64 y (*.f64 1 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (*.f64 (+.f64 x 1) (*.f64 y (/.f64 1 y))))
(*.f64 y (*.f64 (+.f64 x 1) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 x 1)))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 x (/.f64 y y)))))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 y (/.f64 x y)))))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 x (/.f64 y y))))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (/.f64 y y) (+.f64 x 1))))
(*.f64 y (+.f64 1 (*.f64 y (/.f64 (*.f64 x (/.f64 y y)) y))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 y (/.f64 x y))))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 y (/.f64 (*.f64 x (/.f64 y y)) y))))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (+.f64 x (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 (*.f64 x (/.f64 y y)) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 (*.f64 x (/.f64 y y)) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 (*.f64 y (/.f64 x y)) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 (*.f64 y (/.f64 x y)) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))))
(*.f64 y (+.f64 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (*.f64 y (/.f64 (+.f64 x 1) y)))
(*.f64 y (*.f64 (+.f64 1 (*.f64 x (/.f64 y y))) (/.f64 y y)))
(*.f64 y (*.f64 (+.f64 1 (*.f64 y (/.f64 x y))) (/.f64 y y)))
(*.f64 y (*.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) (/.f64 y y)))
(*.f64 y (*.f64 (+.f64 x (/.f64 y y)) (/.f64 y y)))
(*.f64 y (*.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) (/.f64 y y)))
(*.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 x (/.f64 y y))) y)))
(*.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 y (/.f64 x y))) y)))
(*.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) y)))
(*.f64 y (*.f64 y (/.f64 (+.f64 x (/.f64 y y)) y)))
(*.f64 y (*.f64 y (/.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) y)))
(*.f64 (+.f64 y (*.f64 y x)) 1)
(*.f64 (+.f64 y (*.f64 y x)) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 1 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x))))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x))))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 y (*.f64 y x)))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))
(*.f64 1 (+.f64 y (*.f64 y x)))
(*.f64 1 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 y y)))
(*.f64 (/.f64 y y) (+.f64 y (*.f64 y x)))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 x 1) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 x (/.f64 y y))) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 y (/.f64 x y))) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 x (/.f64 y y)) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 y y))))
(*.f64 (/.f64 y y) (*.f64 (neg.f64 y) (/.f64 (-.f64 -1 x) (/.f64 y y))))
(*.f64 (+.f64 x 1) y)
(*.f64 (+.f64 x 1) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) y))
(*.f64 (+.f64 x 1) (*.f64 y (/.f64 (-.f64 -1 x) (-.f64 -1 x))))
(*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (/.f64 y (+.f64 x 1))))
(*.f64 (neg.f64 y) (*.f64 (+.f64 x 1) (neg.f64 (/.f64 y y))))
(*.f64 (neg.f64 y) (+.f64 (neg.f64 x) -1))
(*.f64 (neg.f64 y) (+.f64 -1 (*.f64 x (neg.f64 (/.f64 y y)))))
(*.f64 (neg.f64 y) (+.f64 (neg.f64 x) (neg.f64 (/.f64 y y))))
(*.f64 (neg.f64 y) (+.f64 (*.f64 x (neg.f64 (/.f64 y y))) (neg.f64 (/.f64 y y))))
(*.f64 (neg.f64 y) (-.f64 -1 x))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 y (*.f64 y x)))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 y y) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 -1 (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 -1 (*.f64 1 (-.f64 (neg.f64 y) (*.f64 y x))))
(*.f64 -1 (*.f64 (+.f64 x 1) (neg.f64 y)))
(*.f64 -1 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (-.f64 (neg.f64 y) (*.f64 y x))))
(*.f64 -1 (*.f64 y (-.f64 -1 x)))
(*.f64 (+.f64 1 (*.f64 x (/.f64 y y))) y)
(*.f64 (+.f64 1 (*.f64 y (/.f64 x y))) y)
(*.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) y)
(*.f64 (+.f64 x (/.f64 y y)) y)
(*.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))
(*.f64 (-.f64 (neg.f64 y) (*.f64 y x)) -1)
(*.f64 (-.f64 (neg.f64 y) (*.f64 y x)) (neg.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) y)
(*.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))
(*.f64 (neg.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 (-.f64 -1 x) (neg.f64 y))
(/.f64 (+.f64 y (*.f64 y x)) 1)
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 y y))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 (-.f64 -1 x) (-.f64 -1 x)))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(neg.f64 (-.f64 (neg.f64 y) (*.f64 y x)))
Outputs
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
y
(*.f64 y x)
(*.f64 x y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(-.f64 y (*.f64 y (neg.f64 x)))
(-.f64 (*.f64 y x) (neg.f64 y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(-.f64 (+.f64 y (*.f64 y x)) 0)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(-.f64 0 (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 x 1))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 1 (*.f64 x (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 1 (*.f64 y (/.f64 x y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 x (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 y y) (+.f64 x 1)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 1 (+.f64 1 (*.f64 x (/.f64 y y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 1 (+.f64 1 (*.f64 y (/.f64 x y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 1 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (+.f64 x 1) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (+.f64 x 1) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 x 1)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 x (/.f64 y y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 y (/.f64 x y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 x (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (/.f64 y y) (+.f64 x 1))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 1 (*.f64 y (/.f64 (*.f64 x (/.f64 y y)) y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 1 (*.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 y (/.f64 x y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 y (/.f64 (*.f64 x (/.f64 y y)) y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 x (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 x (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (*.f64 x (/.f64 y y)) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (*.f64 x (/.f64 y y)) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (*.f64 y (/.f64 x y)) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (*.f64 y (/.f64 x y)) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (/.f64 y y) (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 y (/.f64 1 y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (+.f64 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 y (/.f64 (+.f64 x 1) y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (+.f64 1 (*.f64 x (/.f64 y y))) (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (+.f64 1 (*.f64 y (/.f64 x y))) (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (+.f64 x (/.f64 y y)) (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 x (/.f64 y y))) y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 y (/.f64 x y))) y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 y (/.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 y (/.f64 (+.f64 x (/.f64 y y)) y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 y (*.f64 y (/.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) 1)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 1 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 y (*.f64 y x)) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 1 (+.f64 y (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 1 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 y y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (+.f64 y (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 y y) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 x 1) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 x (/.f64 y y))) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 y (/.f64 x y))) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (+.f64 x (/.f64 y y)) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 y (/.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 y y) (*.f64 (neg.f64 y) (/.f64 (-.f64 -1 x) (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 x 1) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 x 1) (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 x 1) (*.f64 y (/.f64 (-.f64 -1 x) (-.f64 -1 x))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 x 1) (*.f64 (+.f64 x 1) (/.f64 y (+.f64 x 1))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 y) (*.f64 (+.f64 x 1) (neg.f64 (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 y) (+.f64 (neg.f64 x) -1))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 y) (+.f64 -1 (*.f64 x (neg.f64 (/.f64 y y)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 y) (+.f64 (neg.f64 x) (neg.f64 (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 y) (+.f64 (*.f64 x (neg.f64 (/.f64 y y))) (neg.f64 (/.f64 y y))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 y) (-.f64 -1 x))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (+.f64 y (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 y y) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (*.f64 (+.f64 y (*.f64 y x)) (/.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 1 (-.f64 (neg.f64 y) (*.f64 y x))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 (+.f64 x 1) (neg.f64 y)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (-.f64 (neg.f64 y) (*.f64 y x))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 -1 (*.f64 y (-.f64 -1 x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 (*.f64 x (/.f64 y y))) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 (*.f64 y (/.f64 x y))) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 1 (*.f64 x (*.f64 (/.f64 y y) (/.f64 y y)))) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (+.f64 x (/.f64 y y)) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (*.f64 (+.f64 y (*.f64 y x)) (/.f64 1 (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (-.f64 (neg.f64 y) (*.f64 y x)) -1)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (-.f64 (neg.f64 y) (*.f64 y x)) (neg.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (*.f64 (/.f64 y y) (+.f64 x 1)) y)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (*.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (+.f64 y (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (neg.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))) (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(*.f64 (-.f64 -1 x) (neg.f64 y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(/.f64 (+.f64 y (*.f64 y x)) 1)
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 y y))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 (-.f64 -1 x) (-.f64 -1 x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(/.f64 (+.f64 y (*.f64 y x)) (/.f64 (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x))) (/.f64 (+.f64 y (*.f64 y x)) (+.f64 y (*.f64 y x)))))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))
(neg.f64 (-.f64 (neg.f64 y) (*.f64 y x)))
(*.f64 y (+.f64 1 x))
(+.f64 y (*.f64 x y))

eval51.0ms (1.5%)

Compiler

Compiled 4924 to 1515 computations (69.2% saved)

prune58.0ms (1.7%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New2861287
Fresh022
Picked011
Done055
Total2869295
Error
0b
Counts
295 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) x) y)
24.5b
(+.f64 (*.f64 y x) y)
0.0b
(+.f64 (*.f64 x y) (+.f64 x y))
30.0b
(+.f64 x (*.f64 y x))
10.4b
(+.f64 x y)
30.0b
(*.f64 (+.f64 y 1) x)
53.1b
(*.f64 y x)
34.1b
y
39.7b
x
Compiler

Compiled 55 to 33 computations (40% saved)

localize4.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New000
Fresh022
Picked011
Done066
Total099
Error
0b
Counts
9 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) x) y)
24.5b
(+.f64 (*.f64 y x) y)
0.0b
(+.f64 (*.f64 x y) (+.f64 x y))
30.0b
(+.f64 x (*.f64 y x))
10.4b
(+.f64 x y)
30.0b
(*.f64 (+.f64 y 1) x)
53.1b
(*.f64 y x)
34.1b
y
39.7b
x
Compiler

Compiled 55 to 33 computations (40% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0.1%)

Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done077
Total099
Error
0b
Counts
9 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) x) y)
24.5b
(+.f64 (*.f64 y x) y)
0.0b
(+.f64 (*.f64 x y) (+.f64 x y))
30.0b
(+.f64 x (*.f64 y x))
10.4b
(+.f64 x y)
30.0b
(*.f64 (+.f64 y 1) x)
53.1b
(*.f64 y x)
34.1b
y
39.7b
x
Compiler

Compiled 55 to 33 computations (40% saved)

regimes20.0ms (0.6%)

Counts
9 → 1
Calls
Call 1
Inputs
x
y
(*.f64 y x)
(+.f64 x y)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 x y) (+.f64 x y))
(+.f64 (+.f64 (*.f64 x y) x) y)
Outputs
(+.f64 (*.f64 x y) (+.f64 x y))
Calls

3 calls:

6.0ms
(+.f64 (+.f64 (*.f64 x y) x) y)
6.0ms
x
6.0ms
y
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(+.f64 (+.f64 (*.f64 x y) x) y)
Compiler

Compiled 54 to 22 computations (59.3% saved)

regimes33.0ms (1%)

Counts
7 → 3
Calls
Call 1
Inputs
x
y
(*.f64 y x)
(+.f64 x y)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) y)
Outputs
(*.f64 (+.f64 y 1) x)
(+.f64 x y)
(+.f64 (*.f64 y x) y)
Calls

2 calls:

16.0ms
x
16.0ms
y
Results
ErrorSegmentsBranch
0.3b3x
0.4b3y
Compiler

Compiled 31 to 13 computations (58.1% saved)

bsearch27.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
5.166982189876889e-45
1.978905657980244e-38
12.0ms
-140181049216202740.0
-779055226106280.8
Results
23.0ms256×body256valid
Compiler

Compiled 238 to 160 computations (32.8% saved)

regimes27.0ms (0.8%)

Counts
6 → 3
Calls
Call 1
Inputs
x
y
(*.f64 y x)
(+.f64 x y)
(*.f64 (+.f64 y 1) x)
(+.f64 x (*.f64 y x))
Outputs
(*.f64 (+.f64 y 1) x)
(+.f64 x y)
(*.f64 (+.f64 y 1) x)
Calls

2 calls:

15.0ms
x
10.0ms
y
Results
ErrorSegmentsBranch
0.9b3x
6.4b2y
Compiler

Compiled 26 to 12 computations (53.8% saved)

bsearch26.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
7.830913222002375e-5
20.72624649274892
11.0ms
-140181049216202740.0
-779055226106280.8
Results
23.0ms256×body256valid
Compiler

Compiled 238 to 169 computations (29% saved)

regimes17.0ms (0.5%)

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

2 calls:

8.0ms
y
8.0ms
x
Results
ErrorSegmentsBranch
8.4b2x
7.2b2y
Compiler

Compiled 16 to 8 computations (50% saved)

bsearch16.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-4.563858637935257
-1.1583784649673613e-13
Results
15.0ms160×body256valid
Compiler

Compiled 134 to 89 computations (33.6% saved)

regimes28.0ms (0.8%)

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

2 calls:

17.0ms
x
10.0ms
y
Results
ErrorSegmentsBranch
12.6b5x
15.0b3y
Compiler

Compiled 13 to 7 computations (46.2% saved)

bsearch43.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
7.830913222002375e-5
20.72624649274892
8.0ms
-2.8409677751161242e-111
-7.889198864895199e-112
13.0ms
-3.819425525960797e-70
-8.17705565738083e-75
8.0ms
-5.2419331907126985e-28
-1.4025825904550455e-28
Results
39.0ms432×body256valid
Compiler

Compiled 248 to 180 computations (27.4% saved)

regimes21.0ms (0.6%)

Accuracy

Total -47.5b remaining (-326.4%)

Threshold costs -47.5b (-326.4%)

Counts
2 → 4
Calls
Call 1
Inputs
x
y
Outputs
x
y
x
y
Calls

2 calls:

14.0ms
x
6.0ms
y
Results
ErrorSegmentsBranch
14.6b4x
18.3b2y
Compiler

Compiled 10 to 6 computations (40% saved)

bsearch30.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
-2.8409677751161242e-111
-7.889198864895199e-112
13.0ms
-3.819425525960797e-70
-8.17705565738083e-75
8.0ms
-5.2419331907126985e-28
-1.4025825904550455e-28
Results
25.0ms288×body256valid
Compiler

Compiled 158 to 117 computations (25.9% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044223
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (+.f64 x y))
(if (<=.f64 x -800000000000000) (*.f64 (+.f64 y 1) x) (if (<=.f64 x 933864470215151/47890485652059026823698344598447161988085597568237568) (+.f64 x y) (+.f64 (*.f64 y x) y)))
(if (<=.f64 x -800000000000000) (*.f64 (+.f64 y 1) x) (if (<=.f64 x 1) (+.f64 x y) (*.f64 (+.f64 y 1) x)))
(if (<=.f64 y -9/2) (*.f64 y x) (+.f64 x y))
(if (<=.f64 x -348449143727041/1393796574908163946345982392040522594123776) x (if (<=.f64 x -839232961441515/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816) y (if (<=.f64 x -7581518694861603/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) x (if (<=.f64 x 1) y (*.f64 y x)))))
(if (<=.f64 x -6690223559559187/44601490397061246283071436545296723011960832) x (if (<=.f64 x -4137729326929425/31828687130226345097944463881396533766429193651030253916189694521162207808802136034115584) y (if (<=.f64 x -7581518694861603/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) x y)))
x
Outputs
(+.f64 (*.f64 x y) (+.f64 x y))
(if (<=.f64 x -800000000000000) (*.f64 (+.f64 y 1) x) (if (<=.f64 x 933864470215151/47890485652059026823698344598447161988085597568237568) (+.f64 x y) (+.f64 (*.f64 y x) y)))
(if (<=.f64 x -800000000000000) (*.f64 (+.f64 y 1) x) (if (<=.f64 x 1) (+.f64 x y) (*.f64 (+.f64 y 1) x)))
(if (<=.f64 y -9/2) (*.f64 y x) (+.f64 x y))
(if (<=.f64 x -348449143727041/1393796574908163946345982392040522594123776) x (if (<=.f64 x -839232961441515/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816) y (if (<=.f64 x -7581518694861603/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) x (if (<=.f64 x 1) y (*.f64 y x)))))
(if (<=.f64 x -6690223559559187/44601490397061246283071436545296723011960832) x (if (<=.f64 x -4137729326929425/31828687130226345097944463881396533766429193651030253916189694521162207808802136034115584) y (if (<=.f64 x -7581518694861603/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) x y)))
x
Compiler

Compiled 113 to 69 computations (38.9% saved)

soundness181.0ms (5.5%)

Algorithm
egg-herbie
Rules
1878×rational_best_oopsla_all_46_json_45_simplify-10
1098×rational_best_oopsla_all_46_json_45_simplify-49
1030×rational_best_oopsla_all_46_json_45_simplify-7
966×rational_best_oopsla_all_46_json_45_simplify-72
708×rational_best_oopsla_all_46_json_45_simplify-30
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11419
24119
312819
448019
5250319
6531619
7798819
Stop Event
node limit
Compiler

Compiled 30 to 10 computations (66.7% saved)

end53.0ms (1.6%)

Remove

(sort x y)

Compiler

Compiled 119 to 62 computations (47.9% saved)

Profiling

Loading profile data...