Details

Time bar (total: 2.9s)

analyze174.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
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
25.6%25%72.5%0.1%2.3%0%0%9
36.7%34.3%59.3%0.1%6.2%0%0%10
44.2%40.6%51.3%0.1%8%0%0%11
52%46.8%43.2%0.1%9.8%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample1.5s (52.8%)

Results
1.3s8256×body256valid
187.0ms1196×body256infinite
Bogosity

preprocess79.0ms (2.7%)

Algorithm
egg-herbie
Rules
1478×rational_best_oopsla_all_46_json_45_simplify-72
944×rational_best_oopsla_all_46_json_45_simplify-23
852×rational_best_oopsla_all_46_json_45_simplify-80
850×rational_best_oopsla_all_46_json_45_simplify-10
820×rational_best_oopsla_all_46_json_45_simplify-30
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
15076
215376
349776
4199476
5535776
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
(+.f64 y (*.f64 x (+.f64 z y)))
(+.f64 z (*.f64 y (+.f64 x z)))
(+.f64 x (*.f64 z (+.f64 y x)))
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 y (*.f64 x (+.f64 z y)))
(+.f64 y (*.f64 x (+.f64 y z)))
(+.f64 z (*.f64 y (+.f64 x z)))
(+.f64 x (*.f64 z (+.f64 y x)))
(+.f64 x (*.f64 z (+.f64 x y)))
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify54.0ms (1.9%)

Algorithm
egg-herbie
Rules
1552×rational_best_oopsla_all_46_json_45_simplify-37
1122×rational_best_oopsla_all_46_json_45_simplify-49
834×rational_best_oopsla_all_46_json_45_simplify-72
834×rational_best_oopsla_all_46_json_45_simplify-89
644×rational_best_oopsla_all_46_json_45_simplify-74
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11819
25419
318319
473419
5304619
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(+.f64 x (*.f64 y (+.f64 x z)))

eval0.0ms (0%)

Compiler

Compiled 17 to 9 computations (47.1% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x (*.f64 y (+.f64 z x)))
Compiler

Compiled 10 to 6 computations (40% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series4.0ms (0.1%)

Counts
2 → 60
Calls

18 calls:

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

rewrite76.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1994×rational_best_oopsla_all_46_json-2
1994×rational_best_oopsla_all_46_json-1
1994×rational_best_oopsla_all_46_json-4
1994×rational_best_oopsla_all_46_json-3
996×rational_best_oopsla_all_46_json_45_simplify-7
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15232
217832
377132
4396032
Stop Event
node limit
Counts
2 → 92
Calls
Call 1
Inputs
(*.f64 y (+.f64 z x))
(+.f64 x (*.f64 y (+.f64 z x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (+.f64 z x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 (*.f64 y x) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 (*.f64 y z) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (+.f64 z x)) 0) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) y))) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y z) (/.f64 y y)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) (/.f64 y y)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y z) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y x)) (*.f64 (*.f64 y z) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y z)) (*.f64 (*.f64 y x) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) x) (*.f64 z (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) z) (*.f64 x (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (+.f64 z x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 z x)) (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 z x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y z) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y x) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 (+.f64 z x) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (+.f64 z x) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (/.f64 y y) (/.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 (+.f64 z x) (/.f64 y y)) (*.f64 (+.f64 z x) (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (/.f64 (+.f64 z x) y)) (*.f64 y (/.f64 (+.f64 z x) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 z x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) y))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 (+.f64 z x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y (+.f64 z x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 -1 (+.f64 x (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y x)) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 1 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (+.f64 x (*.f64 y (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 1 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (neg.f64 (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))) (+.f64 x (*.f64 y (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))) (neg.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (+.f64 x (*.f64 y (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y (+.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -1 (+.f64 x (*.f64 y (+.f64 z x)))))))))

simplify78.0ms (2.7%)

Algorithm
egg-herbie
Rules
1066×rational_best_oopsla_all_46_json_45_simplify-13
992×rational_best_oopsla_all_46_json_45_simplify-72
848×rational_best_oopsla_all_46_json_45_simplify-49
782×rational_best_oopsla_all_46_json_45_simplify-7
596×rational_best_oopsla_all_46_json_45_simplify-87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01833012
16172658
230852652
Stop Event
node limit
Counts
152 → 121
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(*.f64 (+.f64 1 y) x)
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
x
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y (+.f64 z x)) x)
(*.f64 y (+.f64 z x))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y (+.f64 z x)) x)
(*.f64 y (+.f64 z x))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y (+.f64 z x)) 0)
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (+.f64 z x)) 0))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) y))))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(+.f64 0 (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 y z) (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 (*.f64 y x) (/.f64 y y)))
(+.f64 (*.f64 y x) (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 (*.f64 y z) (/.f64 y y)))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (*.f64 y (+.f64 z x)) 0) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) y))) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 0 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))) (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (*.f64 y z) (/.f64 y y)) (*.f64 y x))
(+.f64 (*.f64 (*.f64 y x) (/.f64 y y)) (*.f64 y z))
(+.f64 (*.f64 (*.f64 y z) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y x)))
(+.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y x)) (*.f64 (*.f64 y z) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y z)))
(+.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y z)) (*.f64 (*.f64 y x) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 z (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) x))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) x) (*.f64 z (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(+.f64 (*.f64 x (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) z))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) z) (*.f64 x (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(+.f64 (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 y (+.f64 z x)))
(-.f64 (*.f64 y (+.f64 z x)) 0)
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (+.f64 z x)) 0))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0))
(-.f64 0 (*.f64 (+.f64 z x) (neg.f64 y)))
(-.f64 0 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) y))
(-.f64 (*.f64 y z) (*.f64 y (neg.f64 x)))
(-.f64 (*.f64 y x) (*.f64 z (neg.f64 y)))
(-.f64 (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 (+.f64 z x) (neg.f64 y))))
(/.f64 (*.f64 y (+.f64 z x)) 1)
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 y y))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (+.f64 z x) (+.f64 z x)))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (/.f64 y y) (/.f64 y y)))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 (+.f64 z x) (/.f64 y y)) (*.f64 (+.f64 z x) (/.f64 y y))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (/.f64 (+.f64 z x) y)) (*.f64 y (/.f64 (+.f64 z x) y))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))))
(neg.f64 (*.f64 (+.f64 z x) (neg.f64 y)))
(neg.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) y))
(-.f64 x (*.f64 (+.f64 z x) (neg.f64 y)))
(-.f64 (+.f64 x (*.f64 y (+.f64 z x))) 0)
(-.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) 0))
(-.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) 0))
(-.f64 0 (*.f64 -1 (+.f64 x (*.f64 y (+.f64 z x)))))
(-.f64 (+.f64 x (*.f64 y x)) (*.f64 z (neg.f64 y)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) 1)
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 1 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x)))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x)))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))
(*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (+.f64 x (*.f64 y (+.f64 z x))))
(*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))
(*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))
(*.f64 -1 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))))
(*.f64 -1 (*.f64 1 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (neg.f64 (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))) (+.f64 x (*.f64 y (+.f64 z x))))
(*.f64 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))) -1)
(*.f64 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))) (neg.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (+.f64 x (*.f64 y (+.f64 z x))))
(*.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))))
(/.f64 (+.f64 x (*.f64 y (+.f64 z x))) 1)
(/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))
(/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(neg.f64 (*.f64 -1 (+.f64 x (*.f64 y (+.f64 z x)))))
Outputs
(*.f64 y x)
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(*.f64 y x)
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(*.f64 y x)
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 y 1))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 y) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x))
(*.f64 x (+.f64 y 1))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 y) 1) x)))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
x
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 y (+.f64 z x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 y (+.f64 z x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) x)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 y 1))
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 y x) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(+.f64 (*.f64 y (+.f64 z x)) 0)
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (+.f64 z x)) 0))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) y))))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y (+.f64 z x)) (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(*.f64 y (+.f64 x z))
(+.f64 0 (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y z) (*.f64 (*.f64 y x) (/.f64 y y)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y x) (*.f64 y z))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 y x) (*.f64 (*.f64 y z) (/.f64 y y)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y (+.f64 z x)) 0) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) y))) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 0 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y z) (/.f64 y y)) (*.f64 y x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y x) (/.f64 y y)) (*.f64 y z))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y z) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y x)))
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (*.f64 y (+.f64 x z)))
(*.f64 y (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (+.f64 x z)))
(*.f64 (+.f64 x z) (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) y))
(+.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y x)) (*.f64 (*.f64 y z) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (*.f64 y (+.f64 x z)))
(*.f64 y (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (+.f64 x z)))
(*.f64 (+.f64 x z) (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) y))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y z)))
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (*.f64 y (+.f64 x z)))
(*.f64 y (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (+.f64 x z)))
(*.f64 (+.f64 x z) (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) y))
(+.f64 (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 y z)) (*.f64 (*.f64 y x) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (*.f64 y (+.f64 x z)))
(*.f64 y (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (+.f64 x z)))
(*.f64 (+.f64 x z) (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) y))
(+.f64 (*.f64 z (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) x))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) x) (*.f64 z (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 x (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) z))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) z) (*.f64 x (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(*.f64 y (+.f64 x z))
(+.f64 (*.f64 0 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))) (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) 0)
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) 0))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (/.f64 (+.f64 z x) y)) 0))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) 0))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) 0))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (*.f64 y (+.f64 z x)) 0))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y (+.f64 z x)) (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) 0))
(*.f64 y (+.f64 x z))
(-.f64 0 (*.f64 (+.f64 z x) (neg.f64 y)))
(*.f64 y (+.f64 x z))
(-.f64 0 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) y))
(*.f64 y (+.f64 x z))
(-.f64 (*.f64 y z) (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 z (neg.f64 x)))
(*.f64 y (-.f64 x (neg.f64 z)))
(-.f64 (*.f64 y x) (*.f64 z (neg.f64 y)))
(-.f64 (*.f64 y z) (*.f64 y (neg.f64 x)))
(*.f64 y (-.f64 z (neg.f64 x)))
(*.f64 y (-.f64 x (neg.f64 z)))
(-.f64 (*.f64 0 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (*.f64 (+.f64 z x) (neg.f64 y))))
(*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (*.f64 y (+.f64 x z)))
(*.f64 y (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (+.f64 x z)))
(*.f64 (+.f64 x z) (*.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) y))
(/.f64 (*.f64 y (+.f64 z x)) 1)
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 y y))
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (+.f64 z x) (+.f64 z x)))
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))))
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (/.f64 y y) (/.f64 y y)))
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 (+.f64 z x) (/.f64 y y)) (*.f64 (+.f64 z x) (/.f64 y y))))
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x))) (*.f64 y (/.f64 (+.f64 z x) (+.f64 z x)))))
(*.f64 y (+.f64 x z))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x))) (/.f64 (*.f64 y (+.f64 z x)) (*.f64 y (+.f64 z x)))))
(/.f64 (*.f64 y (+.f64 x z)) (/.f64 (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z))) (/.f64 (*.f64 y (+.f64 x z)) (*.f64 y (+.f64 x z)))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 y (/.f64 (+.f64 z x) y)) (*.f64 y (/.f64 (+.f64 z x) y))))
(/.f64 (*.f64 y (+.f64 x z)) (/.f64 (*.f64 y (/.f64 (+.f64 x z) y)) (*.f64 y (/.f64 (+.f64 x z) y))))
(/.f64 (*.f64 y (+.f64 z x)) (/.f64 (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (+.f64 z x) (*.f64 (/.f64 y y) (/.f64 y y)))))
(/.f64 (*.f64 y (+.f64 x z)) (/.f64 (*.f64 (+.f64 x z) (*.f64 (/.f64 y y) (/.f64 y y))) (*.f64 (+.f64 x z) (*.f64 (/.f64 y y) (/.f64 y y)))))
(neg.f64 (*.f64 (+.f64 z x) (neg.f64 y)))
(*.f64 y (+.f64 x z))
(neg.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z x) (/.f64 y y))) y))
(*.f64 y (+.f64 x z))
(-.f64 x (*.f64 (+.f64 z x) (neg.f64 y)))
(-.f64 x (*.f64 (+.f64 x z) (neg.f64 y)))
(-.f64 x (*.f64 y (neg.f64 (+.f64 x z))))
(-.f64 (+.f64 x (*.f64 y (+.f64 z x))) 0)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(-.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) 0))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(-.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) 0))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(-.f64 0 (*.f64 -1 (+.f64 x (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(-.f64 (+.f64 x (*.f64 y x)) (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 y x) (-.f64 x (*.f64 z (neg.f64 y))))
(+.f64 x (-.f64 (*.f64 y x) (*.f64 z (neg.f64 y))))
(+.f64 x (*.f64 y (-.f64 x (neg.f64 z))))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) 1)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 1 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x)))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x)))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (+.f64 x (*.f64 y (+.f64 z x))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 -1 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 -1 (*.f64 1 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 -1 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (neg.f64 (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 1 (+.f64 x (*.f64 y (+.f64 z x))))) (+.f64 x (*.f64 y (+.f64 z x))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))) -1)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))) (neg.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (+.f64 x (*.f64 y (+.f64 z x))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(*.f64 (neg.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))) (neg.f64 (+.f64 x (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(/.f64 (+.f64 x (*.f64 y (+.f64 z x))) 1)
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (/.f64 (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x)))) (/.f64 (+.f64 x (*.f64 y (+.f64 z x))) (+.f64 x (*.f64 y (+.f64 z x))))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))
(neg.f64 (*.f64 -1 (+.f64 x (*.f64 y (+.f64 z x)))))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 y 1)))
(+.f64 x (*.f64 y (+.f64 x z)))

eval15.0ms (0.5%)

Compiler

Compiled 2248 to 377 computations (83.2% saved)

prune19.0ms (0.7%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1174121
Fresh000
Picked101
Done000
Total1184122
Error
0.0b
Counts
122 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
11.4b
(+.f64 x (*.f64 y z))
23.7b
(*.f64 (+.f64 1 y) x)
27.7b
(*.f64 y (+.f64 z x))
34.8b
x
Compiler

Compiled 28 to 19 computations (32.1% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite68.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1594×rational_best_oopsla_all_46_json-2
1594×rational_best_oopsla_all_46_json-1
1594×rational_best_oopsla_all_46_json-4
1594×rational_best_oopsla_all_46_json-3
1106×rational_best_oopsla_all_46_json_45_simplify-72
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14213
213113
361013
4320013
Stop Event
node limit
Counts
1 → 63
Calls
Call 1
Inputs
(*.f64 (+.f64 1 y) 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 1 y) (/.f64 x (+.f64 1 y)))))))) (#(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 1 y) (/.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y))) (*.f64 y (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) (*.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) 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 y (/.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 x (*.f64 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 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 x (*.f64 y (/.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 x (*.f64 y (/.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y)))) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))))))) (#(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 (*.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y)))) (+.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 x (*.f64 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 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) y) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))))))) (#(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 1 y) (/.f64 x x))) (+.f64 x (*.f64 y x)))))) (#(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 (+.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 x (*.f64 y (/.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 x (*.f64 y (/.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 x (*.f64 (neg.f64 x) y))))) (#(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 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 (+.f64 1 y) (+.f64 1 y))) (-.f64 0 (*.f64 x (*.f64 y (/.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 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y)))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y)))) (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))) (*.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 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 (*.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 (*.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 x (*.f64 y (/.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 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x))))))) (#(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 (+.f64 1 y) (/.f64 x x)) (*.f64 (+.f64 1 y) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))))))) (#(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 /.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 neg.f64 (*.f64 x (-.f64 -1 y)))))))

simplify104.0ms (3.6%)

Algorithm
egg-herbie
Rules
1682×rational_best_oopsla_all_46_json_45_simplify-89
1302×rational_best_oopsla_all_46_json_45_simplify-74
1148×rational_best_oopsla_all_46_json_45_simplify-24
724×rational_best_oopsla_all_46_json_45_simplify-10
712×rational_best_oopsla_all_46_json_45_simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01241059
13901059
215971059
365941059
Stop Event
node limit
Counts
75 → 69
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 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 1 y) (/.f64 x (+.f64 1 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 (+.f64 x (*.f64 y x)) (*.f64 0 (*.f64 (+.f64 1 y) (/.f64 x x))))
(+.f64 0 (+.f64 x (*.f64 y x)))
(+.f64 (*.f64 x (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y))) (*.f64 y (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))))
(+.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) (*.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) y))
(+.f64 (*.f64 x (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (/.f64 (+.f64 1 y) (+.f64 1 y)))) (*.f64 (*.f64 x (*.f64 y (/.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 x (*.f64 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 x (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (/.f64 (+.f64 1 y) (+.f64 1 y)))) y))
(+.f64 (*.f64 x (*.f64 y (/.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 x (*.f64 y (/.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y)))) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 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 (*.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y)))) (+.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 x (*.f64 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 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) y) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 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 (*.f64 0 (*.f64 (+.f64 1 y) (/.f64 x x))) (+.f64 x (*.f64 y 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)))
(+.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 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y))))))
(+.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y x)) (+.f64 x (*.f64 y x))) (*.f64 x (*.f64 y (/.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 x (*.f64 (neg.f64 x) y))
(-.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 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)) y))
(-.f64 (*.f64 x (/.f64 (+.f64 1 y) (+.f64 1 y))) (-.f64 0 (*.f64 x (*.f64 y (/.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 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y)))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)))
(-.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)))
(-.f64 (*.f64 (*.f64 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y)))) (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x))))
(-.f64 (*.f64 y (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))) (*.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) -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 (*.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 x (*.f64 y (/.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 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 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))))
(/.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 (+.f64 1 y) (/.f64 x x)) (*.f64 (+.f64 1 y) (/.f64 x x))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 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 (+.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))))))
(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 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 1 y) (/.f64 x (+.f64 1 y)))))
(+.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 1 y) (/.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y))) (*.f64 y (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) (*.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) 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 y (/.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 x (*.f64 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 x (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (/.f64 (+.f64 1 y) (+.f64 1 y)))) y))
(+.f64 x (*.f64 x y))
(+.f64 (*.f64 x (*.f64 y (/.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 x (*.f64 y (/.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y)))) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))))
(+.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 (*.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 x (*.f64 y (/.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 1 y) (/.f64 x (+.f64 1 y)))) (+.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 x (*.f64 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 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))) y) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y))))
(+.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 1 y) (/.f64 x x))) (+.f64 x (*.f64 y x)))
(+.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 (+.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 x (*.f64 y (/.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 x (*.f64 y (/.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 x (*.f64 (neg.f64 x) y))
(+.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 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)) y))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 x (/.f64 (+.f64 1 y) (+.f64 1 y))) (-.f64 0 (*.f64 x (*.f64 y (/.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 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y)))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x)))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 (*.f64 x (*.f64 y (/.f64 (+.f64 1 y) (+.f64 1 y)))) (/.f64 (+.f64 1 y) (+.f64 1 y))) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (*.f64 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x))))
(+.f64 x (*.f64 x y))
(-.f64 (*.f64 y (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))) (*.f64 (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 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 (*.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 (*.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 x (*.f64 y (/.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 (/.f64 (+.f64 1 y) (+.f64 1 y)) (neg.f64 x))))
(+.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 (+.f64 x (*.f64 x y)) (/.f64 (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1))) (*.f64 x (/.f64 (+.f64 y 1) (+.f64 y 1)))))
(/.f64 (+.f64 x (*.f64 y x)) (/.f64 (*.f64 (+.f64 1 y) (/.f64 x x)) (*.f64 (+.f64 1 y) (/.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 1 y) (/.f64 x (+.f64 1 y))) (*.f64 (+.f64 1 y) (/.f64 x (+.f64 1 y)))))
(+.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))
(/.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))
(neg.f64 (*.f64 x (-.f64 -1 y)))
(+.f64 x (*.f64 x y))

localize5.0ms (0.2%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

eval28.0ms (0.9%)

Compiler

Compiled 2717 to 938 computations (65.5% saved)

prune23.0ms (0.8%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1382140
Fresh011
Picked011
Done022
Total1386144
Error
0.0b
Counts
144 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
11.4b
(+.f64 x (*.f64 y z))
23.7b
(*.f64 (+.f64 1 y) x)
27.7b
(*.f64 y (+.f64 z x))
38.6b
(*.f64 y z)
51.3b
(*.f64 y x)
34.8b
x
Compiler

Compiled 40 to 27 computations (32.5% saved)

localize4.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done044
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
11.4b
(+.f64 x (*.f64 y z))
23.7b
(*.f64 (+.f64 1 y) x)
27.7b
(*.f64 y (+.f64 z x))
38.6b
(*.f64 y z)
51.3b
(*.f64 y x)
34.8b
x
Compiler

Compiled 40 to 27 computations (32.5% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done055
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
11.4b
(+.f64 x (*.f64 y z))
23.7b
(*.f64 (+.f64 1 y) x)
27.7b
(*.f64 y (+.f64 z x))
38.6b
(*.f64 y z)
51.3b
(*.f64 y x)
34.8b
x
Compiler

Compiled 40 to 27 computations (32.5% saved)

regimes22.0ms (0.8%)

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

4 calls:

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

Compiled 54 to 27 computations (50% saved)

regimes44.0ms (1.5%)

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

3 calls:

17.0ms
z
13.0ms
x
12.0ms
y
Results
ErrorSegmentsBranch
7.0b3x
0.6b3y
4.0b4z
Compiler

Compiled 37 to 20 computations (45.9% saved)

bsearch18.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
0.006292983627428483
3.1888274838455257
6.0ms
-264.1730254962697
-219.426744097564
Results
16.0ms176×body256valid
Compiler

Compiled 214 to 143 computations (33.2% saved)

regimes52.0ms (1.8%)

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

3 calls:

19.0ms
z
19.0ms
y
12.0ms
x
Results
ErrorSegmentsBranch
12.1b3x
9.9b5y
14.4b5z
Compiler

Compiled 32 to 19 computations (40.6% saved)

bsearch37.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
5.526615307142191e-54
4.680025661869461e-53
8.0ms
-3.833803684048131e-111
-1.4719630498822447e-111
9.0ms
-1.0340963289431598e-81
-1.1338284504017344e-82
8.0ms
-2.7824084236695943e-36
-1.0239037623227606e-36
Results
33.0ms352×body256valid
Compiler

Compiled 346 to 253 computations (26.9% saved)

regimes127.0ms (4.4%)

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

3 calls:

85.0ms
y
30.0ms
z
10.0ms
x
Results
ErrorSegmentsBranch
16.5b3x
9.9b5y
19.9b9z
Compiler

Compiled 27 to 16 computations (40.7% saved)

bsearch36.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
5.526615307142191e-54
4.680025661869461e-53
9.0ms
-3.833803684048131e-111
-1.4719630498822447e-111
9.0ms
-1.0340963289431598e-81
-1.1338284504017344e-82
9.0ms
-2.7824084236695943e-36
-1.0239037623227606e-36
Results
32.0ms352×body256valid
Compiler

Compiled 302 to 220 computations (27.2% saved)

regimes69.0ms (2.4%)

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

3 calls:

27.0ms
z
25.0ms
y
16.0ms
x
Results
ErrorSegmentsBranch
21.6b5x
18.1b8y
23.0b9z
Compiler

Compiled 22 to 14 computations (36.4% saved)

bsearch86.0ms (2.9%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
4.3241233664426815e-25
4.480644178103917e-20
8.0ms
-3.833803684048131e-111
-1.4719630498822447e-111
10.0ms
-1.0340963289431598e-81
-1.1338284504017344e-82
8.0ms
-2.7824084236695943e-36
-1.0239037623227606e-36
13.0ms
-5797800744213.941
-8879798668.051174
13.0ms
-8.608293737478588e+83
-2.022036248389174e+83
19.0ms
-1.221315451611897e+165
-1.1245000439341903e+161
Results
68.0ms752×body256valid
9.0ms98×body256infinite
Compiler

Compiled 624 to 456 computations (26.9% saved)

regimes41.0ms (1.4%)

Accuracy

Total -37.9b remaining (-156.4%)

Threshold costs -37.9b (-156.4%)

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

3 calls:

22.0ms
z
10.0ms
x
9.0ms
y
Results
ErrorSegmentsBranch
33.2b3x
24.2b3y
30.7b7z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch19.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
0.006292983627428483
3.1888274838455257
5.0ms
-264.1730254962697
-219.426744097564
Results
17.0ms176×body256valid
Compiler

Compiled 148 to 110 computations (25.7% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065371
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
(if (<=.f64 y -220) (*.f64 y (+.f64 z x)) (if (<=.f64 y 1) (+.f64 x (*.f64 y z)) (*.f64 y (+.f64 z x))))
(if (<=.f64 y -6135968474170063/2993155353253689176481146537402947624255349848014848) (*.f64 y (+.f64 z x)) (if (<=.f64 y -4784610960462839/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (*.f64 (+.f64 1 y) x) (if (<=.f64 y -5144601971513231/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 y z) (if (<=.f64 y 4852790400087115/107839786668602559178668060348078522694548577690162289924414440996864) x (*.f64 y (+.f64 z x))))))
(if (<=.f64 y -7482888383134223/5986310706507378352962293074805895248510699696029696) (*.f64 y (+.f64 z x)) (if (<=.f64 y -6151642663452221/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) x (if (<=.f64 y -5144601971513231/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 y z) (if (<=.f64 y 5607668906767333/215679573337205118357336120696157045389097155380324579848828881993728) x (*.f64 y (+.f64 z x))))))
(if (<=.f64 y -1750000000000000091029301586927198374710641735780837542317800433422853908030184170386288404152075044335665560401801026984493014184364001646255675835677974554738688) (*.f64 y x) (if (<=.f64 y -299999999999999995762025635714257174997568068513114702219697020937955715322189185024) (*.f64 y z) (if (<=.f64 y -720000000000) (*.f64 y x) (if (<=.f64 y -8231177221447645/2993155353253689176481146537402947624255349848014848) (*.f64 y z) (if (<=.f64 y -3588458220347129/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) x (if (<=.f64 y -5144601971513231/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 y z) (if (<=.f64 y 1960611293782751/332306998946228968225951765070086144) x (*.f64 y z))))))))
(if (<=.f64 y -220) (*.f64 y x) (if (<=.f64 y 1) x (*.f64 y x)))
x
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(if (<=.f64 y -220) (*.f64 y (+.f64 z x)) (if (<=.f64 y 1) (+.f64 x (*.f64 y z)) (*.f64 y (+.f64 z x))))
(if (<=.f64 y -6135968474170063/2993155353253689176481146537402947624255349848014848) (*.f64 y (+.f64 z x)) (if (<=.f64 y -4784610960462839/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (*.f64 (+.f64 1 y) x) (if (<=.f64 y -5144601971513231/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 y z) (if (<=.f64 y 4852790400087115/107839786668602559178668060348078522694548577690162289924414440996864) x (*.f64 y (+.f64 z x))))))
(if (<=.f64 y -7482888383134223/5986310706507378352962293074805895248510699696029696) (*.f64 y (+.f64 z x)) (if (<=.f64 y -6151642663452221/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) x (if (<=.f64 y -5144601971513231/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 y z) (if (<=.f64 y 5607668906767333/215679573337205118357336120696157045389097155380324579848828881993728) x (*.f64 y (+.f64 z x))))))
(if (<=.f64 y -1750000000000000091029301586927198374710641735780837542317800433422853908030184170386288404152075044335665560401801026984493014184364001646255675835677974554738688) (*.f64 y x) (if (<=.f64 y -299999999999999995762025635714257174997568068513114702219697020937955715322189185024) (*.f64 y z) (if (<=.f64 y -720000000000) (*.f64 y x) (if (<=.f64 y -8231177221447645/2993155353253689176481146537402947624255349848014848) (*.f64 y z) (if (<=.f64 y -3588458220347129/17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492608) x (if (<=.f64 y -5144601971513231/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 y z) (if (<=.f64 y 1960611293782751/332306998946228968225951765070086144) x (*.f64 y z))))))))
(if (<=.f64 y -220) (*.f64 y x) (if (<=.f64 y 1) x (*.f64 y x)))
x
Compiler

Compiled 181 to 97 computations (46.4% saved)

soundness0.0ms (0%)

end56.0ms (1.9%)

Compiler

Compiled 163 to 69 computations (57.7% saved)

Profiling

Loading profile data...