Details

Time bar (total: 3.6s)

analyze347.0ms (9.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.8%25%71.8%0.1%3.1%0%0%9
36.4%34.3%60.1%0.1%5.5%0%0%10
44.5%41.3%51.5%0.1%7%0%0%11
51.5%46.8%44.1%0.1%9%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample1.2s (33.8%)

Results
948.0ms8256×body256valid
262.0ms1225×body256infinite
Bogosity

preprocess70.0ms (1.9%)

Algorithm
egg-herbie
Rules
1358×rational_best_oopsla_all_46_json_45_simplify-49
1074×rational_best_oopsla_all_46_json_45_simplify-89
1032×rational_best_oopsla_all_46_json_45_simplify-37
824×rational_best_oopsla_all_46_json_45_simplify-74
788×rational_best_oopsla_all_46_json_45_simplify-13
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021100
168100
2247100
3101676
4457676
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 y 1) z))
(+.f64 (*.f64 z y) (*.f64 (-.f64 z 1) x))
(+.f64 (*.f64 x z) (*.f64 (-.f64 x 1) y))
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 (+.f64 x -1) z) (*.f64 x y))
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 x y))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (*.f64 x (+.f64 y z)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 y 1) z))
(+.f64 (*.f64 x y) (*.f64 z (+.f64 y -1)))
(+.f64 (*.f64 x y) (-.f64 (*.f64 y z) z))
(-.f64 (*.f64 y (+.f64 z x)) z)
(-.f64 (*.f64 y (+.f64 x z)) z)
(+.f64 (*.f64 z y) (*.f64 (-.f64 z 1) x))
(+.f64 (*.f64 y z) (*.f64 x (+.f64 z -1)))
(-.f64 (*.f64 z (+.f64 x y)) x)
(+.f64 (*.f64 x z) (*.f64 (-.f64 x 1) y))
(+.f64 (*.f64 x z) (*.f64 y (+.f64 x -1)))
(+.f64 (*.f64 x z) (-.f64 (*.f64 x y) y))
(-.f64 (*.f64 x (+.f64 z y)) y)
(-.f64 (*.f64 x (+.f64 y z)) y)
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify96.0ms (2.7%)

Algorithm
egg-herbie
Rules
1480×rational_best_oopsla_all_46_json_45_simplify-89
1216×rational_best_oopsla_all_46_json_45_simplify-74
1016×rational_best_oopsla_all_46_json_45_simplify-24
748×rational_best_oopsla_all_46_json_45_simplify-23
692×rational_best_oopsla_all_46_json_45_simplify-10
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01025
12325
27825
331319
4148819
5733719
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x y) (*.f64 (+.f64 x -1) z))
(+.f64 (*.f64 x y) (-.f64 (*.f64 x z) z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (*.f64 x (+.f64 y z)) z)

eval1.0ms (0%)

Compiler

Compiled 44 to 21 computations (52.3% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New325
Fresh011
Picked000
Done000
Total336
Error
0.0b
Counts
6 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 x (+.f64 z y)) z)
0.0b
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
Compiler

Compiled 22 to 14 computations (36.4% saved)

localize11.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 14 computations (48.1% saved)

series4.0ms (0.1%)

Counts
2 → 48
Calls

15 calls:

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

rewrite89.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
842×rational_best_oopsla_all_46_json_45_simplify-35
758×rational_best_oopsla_all_46_json_45_simplify-80
534×rational_best_oopsla_all_46_json_45_simplify-93
534×rational_best_oopsla_all_46_json_45_simplify-89
526×rational_best_oopsla_all_46_json_45_simplify-23
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01038
16438
221738
3102132
4480232
Stop Event
node limit
Counts
2 → 117
Calls
Call 1
Inputs
(*.f64 (-.f64 x 1) z)
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 1 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (neg.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (neg.f64 z)) (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x z)) (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) x) (*.f64 -1 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) x) (*.f64 -1 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z z))) (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x z) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 z (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (-.f64 z (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 z (+.f64 x -1)) (-.f64 (*.f64 x (/.f64 z (+.f64 x -1))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (*.f64 1 (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (*.f64 -1 (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (-.f64 z (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (/.f64 (+.f64 x -1) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (/.f64 z z) (-.f64 1 x)) (*.f64 (/.f64 z z) (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 x z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 z (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (-.f64 z (*.f64 x z))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x z) z) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (-.f64 z (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 z (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 -1 (-.f64 (*.f64 x (+.f64 z y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (-.f64 z (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (-.f64 (*.f64 x (neg.f64 z)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (-.f64 0 (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x y) z) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 z (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (-.f64 z (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 z (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -1 (-.f64 (*.f64 x (+.f64 z y)) z)))))))

simplify90.0ms (2.5%)

Algorithm
egg-herbie
Rules
974×rational_best_oopsla_all_46_json_45_simplify-49
872×rational_best_oopsla_all_46_json_45_simplify-7
860×rational_best_oopsla_all_46_json_45_simplify-72
852×rational_best_oopsla_all_46_json_45_simplify-37
656×rational_best_oopsla_all_46_json_45_simplify-89
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02442807
18472563
237432563
Stop Event
node limit
Counts
165 → 139
Calls
Call 1
Inputs
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 -1 z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(*.f64 (+.f64 y z) x)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x)))
(*.f64 (-.f64 x 1) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 (-.f64 x 1) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 (-.f64 x 1) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (-.f64 (*.f64 x z) z) 0)
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z z))))
(+.f64 0 (-.f64 (*.f64 x z) z))
(+.f64 (*.f64 x z) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 x z))
(+.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))))
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 1 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x z)))
(+.f64 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(+.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (-.f64 (*.f64 x z) z))
(+.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (neg.f64 z)))
(+.f64 (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x z)))
(+.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (neg.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(+.f64 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (-.f64 (*.f64 x z) z))
(+.f64 (*.f64 1 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (neg.f64 z)) (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x z)) (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(+.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))))
(+.f64 (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (-.f64 (*.f64 x z) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) x))
(+.f64 (*.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) x) (*.f64 -1 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) x))
(+.f64 (*.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) x) (*.f64 -1 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(+.f64 (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z z))) (-.f64 (*.f64 x z) z))
(+.f64 (neg.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(+.f64 (neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(-.f64 (-.f64 (*.f64 x z) z) 0)
(-.f64 0 (-.f64 z (*.f64 x z)))
(-.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (-.f64 z (*.f64 x z))))
(-.f64 0 (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 0 (-.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 0 (-.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))
(-.f64 0 (-.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(-.f64 (*.f64 x z) z)
(-.f64 (/.f64 z (+.f64 x -1)) (-.f64 (*.f64 x (/.f64 z (+.f64 x -1))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))
(-.f64 (neg.f64 z) (*.f64 x (neg.f64 z)))
(-.f64 (neg.f64 z) (*.f64 1 (*.f64 x (neg.f64 z))))
(-.f64 (neg.f64 z) (*.f64 -1 (*.f64 x z)))
(-.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (neg.f64 z))))
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 x)))
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))
(-.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (-.f64 z (*.f64 x z))))
(-.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) z))
(-.f64 (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (neg.f64 z))))
(-.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))
(-.f64 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(-.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(/.f64 (-.f64 (*.f64 x z) z) 1)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (+.f64 x -1) (+.f64 x -1)))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 z z))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (/.f64 (+.f64 x -1) (+.f64 x -1))))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (/.f64 z z) (-.f64 1 x)) (*.f64 (/.f64 z z) (-.f64 1 x))))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(/.f64 (-.f64 z (*.f64 x z)) -1)
(neg.f64 (-.f64 z (*.f64 x z)))
(neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (-.f64 z (*.f64 x z))))
(-.f64 (-.f64 (*.f64 x z) z) (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x y) (-.f64 z (*.f64 x z)))
(-.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0)
(-.f64 0 (-.f64 z (*.f64 x (+.f64 z y))))
(-.f64 0 (*.f64 -1 (-.f64 (*.f64 x (+.f64 z y)) z)))
(-.f64 0 (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(-.f64 (*.f64 x z) (-.f64 z (*.f64 x y)))
(-.f64 (neg.f64 z) (-.f64 (*.f64 x (neg.f64 z)) (*.f64 x y)))
(-.f64 (neg.f64 z) (-.f64 0 (*.f64 x (+.f64 z y))))
(-.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 x y)))
(-.f64 (-.f64 (*.f64 x y) z) (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) z))
(-.f64 (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))
(*.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(*.f64 -1 (-.f64 z (*.f64 x (+.f64 z y))))
(*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))
(*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))
(*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(*.f64 (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (neg.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (-.f64 z (*.f64 x (+.f64 z y))))
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(neg.f64 (-.f64 z (*.f64 x (+.f64 z y))))
(neg.f64 (*.f64 -1 (-.f64 (*.f64 x (+.f64 z y)) z)))
Outputs
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(*.f64 z x)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(*.f64 z x)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x)))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x)))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x)))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (-.f64 (*.f64 x z) z) 0)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 0 (-.f64 (*.f64 x z) z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 x z) (neg.f64 z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (neg.f64 z) (*.f64 x z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 1 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (-.f64 (*.f64 x z) z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (neg.f64 z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (neg.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (-.f64 (*.f64 x z) z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 1 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (neg.f64 z)) (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x z)) (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (-.f64 (*.f64 x z) z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) x) (*.f64 -1 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 -1 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) x))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) x) (*.f64 -1 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 0 (*.f64 (+.f64 x -1) (/.f64 z z))) (-.f64 (*.f64 x z) z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (neg.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (-.f64 (*.f64 x z) z) 0)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 0 (-.f64 z (*.f64 x z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 0 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (-.f64 z (*.f64 x z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 0 (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 0 (-.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 0 (-.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 0 (-.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 x z) z)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (/.f64 z (+.f64 x -1)) (-.f64 (*.f64 x (/.f64 z (+.f64 x -1))) (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (neg.f64 z) (*.f64 x (neg.f64 z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (neg.f64 z) (*.f64 1 (*.f64 x (neg.f64 z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (neg.f64 z) (*.f64 -1 (*.f64 x z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 x (neg.f64 z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 x)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (*.f64 x z) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (-.f64 z (*.f64 x z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (neg.f64 z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 x (neg.f64 z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) (*.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 x (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (*.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) 1)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (+.f64 x -1) (+.f64 x -1)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 z z))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (/.f64 (+.f64 x -1) (+.f64 x -1))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (/.f64 z z) (-.f64 1 x)) (*.f64 (/.f64 z z) (-.f64 1 x))))
(/.f64 (-.f64 (*.f64 z x) z) (/.f64 (*.f64 (/.f64 z z) (-.f64 1 x)) (*.f64 (/.f64 z z) (-.f64 1 x))))
(/.f64 (-.f64 (*.f64 z x) z) (/.f64 (*.f64 (+.f64 -1 x) (/.f64 z z)) (*.f64 (+.f64 -1 x) (/.f64 z z))))
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (/.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 (*.f64 x z) z) (/.f64 (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(/.f64 (-.f64 z (*.f64 x z)) -1)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(neg.f64 (-.f64 z (*.f64 x z)))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(neg.f64 (*.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)) (-.f64 z (*.f64 x z))))
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(-.f64 (-.f64 (*.f64 x z) z) (*.f64 x (neg.f64 y)))
(-.f64 (-.f64 (*.f64 z x) z) (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x (-.f64 z (neg.f64 y))) z)
(-.f64 (*.f64 x y) (-.f64 z (*.f64 x z)))
(-.f64 (*.f64 z x) (-.f64 z (*.f64 x y)))
(-.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0)
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 0 (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 0 (*.f64 -1 (-.f64 (*.f64 x (+.f64 z y)) z)))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 0 (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (*.f64 x z) (-.f64 z (*.f64 x y)))
(-.f64 (*.f64 z x) (-.f64 z (*.f64 x y)))
(-.f64 (neg.f64 z) (-.f64 (*.f64 x (neg.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 z x) (-.f64 z (*.f64 x y)))
(-.f64 (neg.f64 z) (-.f64 0 (*.f64 x (+.f64 z y))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))) (*.f64 x y)))
(-.f64 (*.f64 z x) (-.f64 z (*.f64 x y)))
(-.f64 (-.f64 (*.f64 x y) z) (*.f64 x (neg.f64 z)))
(-.f64 (-.f64 (*.f64 z x) z) (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x (-.f64 z (neg.f64 y))) z)
(-.f64 (*.f64 z (neg.f64 (/.f64 (+.f64 x -1) (+.f64 x -1)))) (-.f64 0 (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1)))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 x y) (*.f64 x (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))) (*.f64 z (/.f64 (+.f64 x -1) (+.f64 x -1))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 -1 (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (*.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (neg.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))) (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y)))) (/.f64 (-.f64 z (*.f64 x (+.f64 z y))) (-.f64 z (*.f64 x (+.f64 z y))))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(neg.f64 (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(neg.f64 (*.f64 -1 (-.f64 (*.f64 x (+.f64 z y)) z)))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) z)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series3.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite79.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
2006×rational_best_oopsla_all_46_json-2
2006×rational_best_oopsla_all_46_json-1
2006×rational_best_oopsla_all_46_json-4
2006×rational_best_oopsla_all_46_json-3
1014×rational_best_oopsla_all_46_json_45_simplify-7
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15132
217932
378932
4402932
Stop Event
node limit
Counts
2 → 108
Calls
Call 1
Inputs
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 x (+.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 0 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (-.f64 (*.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 x -1)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x y) z) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) 0) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (neg.f64 z)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x y) z)) (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 z (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 x y) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 x y)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 1 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 z (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 z (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 z (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 z (*.f64 x (+.f64 z y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (*.f64 (*.f64 x y) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 (*.f64 x z) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (+.f64 z y)) 0) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) x))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x z) (/.f64 x x)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) (/.f64 x x)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x z) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x y)) (*.f64 (*.f64 x z) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x z)) (*.f64 (*.f64 x y) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) y) (*.f64 z (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) z) (*.f64 y (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 z y) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (+.f64 z y) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (+.f64 z y) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 x x) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (*.f64 (+.f64 z y) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (/.f64 (+.f64 z y) x)) (*.f64 x (/.f64 (+.f64 z y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 z y) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) x))))))

simplify104.0ms (2.9%)

Algorithm
egg-herbie
Rules
1338×rational_best_oopsla_all_46_json_45_simplify-72
1212×rational_best_oopsla_all_46_json_45_simplify-7
998×rational_best_oopsla_all_46_json_45_simplify-49
572×rational_best_oopsla_all_46_json_45_simplify-89
558×rational_best_oopsla_all_46_json_45_simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02163506
17203182
243003182
Stop Event
node limit
Counts
180 → 134
Calls
Call 1
Inputs
(*.f64 -1 z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(*.f64 (+.f64 y z) x)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(*.f64 (+.f64 y z) x)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 (-.f64 x 1) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x)))) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x)))) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x)))) (*.f64 y x))
(-.f64 (*.f64 z x) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(*.f64 y x)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(*.f64 y x)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0)
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) 0))
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0))
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 0 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 0 (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x z) (-.f64 (*.f64 x y) z))
(+.f64 (*.f64 x y) (*.f64 z (+.f64 x -1)))
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 z (+.f64 x -1)) (*.f64 x y))
(+.f64 (-.f64 (*.f64 x y) z) (*.f64 x z))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) 0) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (neg.f64 z)))
(+.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (neg.f64 z)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x y) z)))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x y) z)) (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 (*.f64 x y) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 z (+.f64 x -1))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 x y) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 x y)))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 x y)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 1 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z)))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z)))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))
(*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))
(*.f64 -1 (-.f64 z (*.f64 x (+.f64 z y))))
(*.f64 -1 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 z (*.f64 x (+.f64 z y)))))
(*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(*.f64 (neg.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 z (*.f64 x (+.f64 z y))))
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(/.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)
(neg.f64 (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 x (+.f64 z y)) 0)
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) x))))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(+.f64 0 (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 x z) (*.f64 x y))
(+.f64 (*.f64 x z) (*.f64 (*.f64 x y) (/.f64 x x)))
(+.f64 (*.f64 x y) (*.f64 x z))
(+.f64 (*.f64 x y) (*.f64 (*.f64 x z) (/.f64 x x)))
(+.f64 (*.f64 (*.f64 x (+.f64 z y)) 0) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) x))) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 0 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 (*.f64 x z) (/.f64 x x)) (*.f64 x y))
(+.f64 (*.f64 (*.f64 x y) (/.f64 x x)) (*.f64 x z))
(+.f64 (*.f64 (*.f64 x z) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x y)))
(+.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x y)) (*.f64 (*.f64 x z) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(+.f64 (*.f64 (*.f64 x y) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x z)))
(+.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x z)) (*.f64 (*.f64 x y) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(+.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) y))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) y) (*.f64 z (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(+.f64 (*.f64 y (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) z))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) z) (*.f64 y (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(+.f64 (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(-.f64 (*.f64 x (+.f64 z y)) 0)
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0))
(-.f64 0 (*.f64 (+.f64 z y) (neg.f64 x)))
(-.f64 0 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) x))
(-.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (+.f64 z y) (neg.f64 x))))
(/.f64 (*.f64 x (+.f64 z y)) 1)
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 x x))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (+.f64 z y) (+.f64 z y)))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 x x) (/.f64 x x)))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (*.f64 (+.f64 z y) (/.f64 x x))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (/.f64 (+.f64 z y) x)) (*.f64 x (/.f64 (+.f64 z y) x))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(neg.f64 (*.f64 (+.f64 z y) (neg.f64 x)))
(neg.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) x))
Outputs
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 -1 z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 -1 x))
(-.f64 (*.f64 z x) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 y x) (*.f64 (-.f64 x 1) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 -1 (*.f64 z (+.f64 1 (neg.f64 x))))
(*.f64 (-.f64 1 x) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x)))) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (neg.f64 x)))) (*.f64 y x))
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x)))) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (neg.f64 x)))) (*.f64 y x))
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x)))) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 z (+.f64 1 (neg.f64 x)))) (*.f64 y x))
(+.f64 (*.f64 (-.f64 1 x) (neg.f64 z)) (*.f64 y x))
(-.f64 (*.f64 z x) z)
(*.f64 z (+.f64 -1 x))
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 y x)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 y x)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(-.f64 (+.f64 (*.f64 z x) (*.f64 y x)) z)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 z y))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) 0))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 0 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 0 (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 x z) (-.f64 (*.f64 x y) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 x y) (*.f64 z (+.f64 x -1)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (neg.f64 z) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 z (+.f64 x -1)) (*.f64 x y))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (-.f64 (*.f64 x y) z) (*.f64 x z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) 0) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 0) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (neg.f64 z)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 0 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (neg.f64 z)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x y) z)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x y) z)) (*.f64 (*.f64 x z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (*.f64 x y) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 z (+.f64 x -1))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 x y) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 x y)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 x y)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 1 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z)))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z)))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (*.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (-.f64 z (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 -1 (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 -1 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (-.f64 z (*.f64 x (+.f64 z y)))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (*.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 1 (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (*.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 (*.f64 x (+.f64 z y)) z))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(*.f64 (neg.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))) (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) 1)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (/.f64 (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z)) (/.f64 (-.f64 (*.f64 x (+.f64 z y)) z) (-.f64 (*.f64 x (+.f64 z y)) z))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(/.f64 (-.f64 z (*.f64 x (+.f64 z y))) -1)
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(neg.f64 (-.f64 z (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 x (+.f64 z y)) (neg.f64 z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+.f64 (*.f64 x (+.f64 z y)) 0)
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) x))))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(*.f64 x (+.f64 z y))
(+.f64 0 (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x z) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x z) (*.f64 (*.f64 x y) (/.f64 x x)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x y) (*.f64 x z))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 x y) (*.f64 (*.f64 x z) (/.f64 x x)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (+.f64 z y)) 0) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) x))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x z) (/.f64 x x)) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x y) (/.f64 x x)) (*.f64 x z))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x z) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x y)))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))
(*.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x y)) (*.f64 (*.f64 x z) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))
(*.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 (*.f64 x y) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x z)))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))
(*.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x z)) (*.f64 (*.f64 x y) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))
(*.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(+.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) y) (*.f64 z (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 y (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) z))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) z) (*.f64 y (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) 0)
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) 0))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (/.f64 (+.f64 z y) x)) 0))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) 0))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) 0))
(*.f64 x (+.f64 z y))
(-.f64 0 (*.f64 (+.f64 z y) (neg.f64 x)))
(neg.f64 (*.f64 (+.f64 z y) (neg.f64 x)))
(-.f64 0 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) x))
(neg.f64 (*.f64 (+.f64 z y) (neg.f64 x)))
(-.f64 (*.f64 x z) (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 z x) (*.f64 x (neg.f64 y)))
(*.f64 x (-.f64 z (neg.f64 y)))
(-.f64 (*.f64 x y) (*.f64 x (neg.f64 z)))
(-.f64 (*.f64 z x) (*.f64 x (neg.f64 y)))
(*.f64 x (-.f64 z (neg.f64 y)))
(-.f64 (*.f64 0 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (+.f64 z y) (neg.f64 x))))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (neg.f64 (*.f64 (+.f64 z y) (neg.f64 x))))
(/.f64 (*.f64 x (+.f64 z y)) 1)
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 x x))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (+.f64 z y) (+.f64 z y)))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 x x) (/.f64 x x)))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (*.f64 (+.f64 z y) (/.f64 x x))))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x))) (*.f64 (+.f64 z y) (*.f64 (/.f64 x x) (/.f64 x x)))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))) (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y)))))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (/.f64 (+.f64 z y) x)) (*.f64 x (/.f64 (+.f64 z y) x))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(neg.f64 (*.f64 (+.f64 z y) (neg.f64 x)))
(neg.f64 (*.f64 (neg.f64 (*.f64 (+.f64 z y) (/.f64 x x))) x))
(neg.f64 (*.f64 (+.f64 z y) (neg.f64 x)))

eval51.0ms (1.4%)

Compiler

Compiled 5897 to 1709 computations (71% saved)

prune46.0ms (1.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2667273
Fresh000
Picked011
Done101
Total2678275
Error
0.0b
Counts
275 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
23.0b
(-.f64 (*.f64 z x) z)
0.0b
(-.f64 (*.f64 x (+.f64 z y)) z)
30.0b
(+.f64 (*.f64 x y) (*.f64 z x))
11.4b
(+.f64 (*.f64 x y) (neg.f64 z))
23.0b
(*.f64 (-.f64 x 1) z)
30.0b
(*.f64 (+.f64 y z) x)
40.2b
(*.f64 y x)
33.8b
(neg.f64 z)
Compiler

Compiled 118 to 78 computations (33.9% saved)

localize6.0ms (0.2%)

Compiler

Compiled 17 to 6 computations (64.7% saved)

localize3.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize4.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite67.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1778×rational_best_oopsla_all_46_json-2
1778×rational_best_oopsla_all_46_json-1
1778×rational_best_oopsla_all_46_json-4
1778×rational_best_oopsla_all_46_json-3
1172×rational_best_oopsla_all_46_json_45_simplify-72
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14313
214113
366513
4344713
Stop Event
node limit
Counts
1 → 52
Calls
Call 1
Inputs
(*.f64 (+.f64 y z) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 (*.f64 y x) (/.f64 (+.f64 y z) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (*.f64 (*.f64 z x) (/.f64 (+.f64 y z) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z x) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (+.f64 y z) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))) (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (+.f64 y z) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) z) (*.f64 y (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) y) (*.f64 z (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) z) (*.f64 y (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) y) (*.f64 z (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x x))) (*.f64 (+.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 y x)) (*.f64 (*.f64 z x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z x)) (*.f64 (*.f64 y x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))) (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (+.f64 y z) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (+.f64 y z) (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) (/.f64 x x)) (*.f64 (+.f64 y z) (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 y z) (neg.f64 x)))))))

simplify102.0ms (2.8%)

Algorithm
egg-herbie
Rules
1666×rational_best_oopsla_all_46_json_45_simplify-89
1248×rational_best_oopsla_all_46_json_45_simplify-74
1086×rational_best_oopsla_all_46_json_45_simplify-24
826×rational_best_oopsla_all_46_json_45_simplify-35
746×rational_best_oopsla_all_46_json_45_simplify-10
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01101414
13651000
214551000
361261000
Stop Event
node limit
Counts
76 → 58
Calls
Call 1
Inputs
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 (+.f64 y z) x) 0)
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x x))))
(+.f64 0 (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z x))
(+.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)))
(+.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 (*.f64 y x) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (*.f64 (*.f64 z x) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 (*.f64 z x) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))
(+.f64 (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))) (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 y (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) z))
(+.f64 (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) z) (*.f64 y (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 z (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) y))
(+.f64 (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) y) (*.f64 z (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) z))
(+.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) z) (*.f64 y (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) y))
(+.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) y) (*.f64 z (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x x))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 (*.f64 z x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 y x)))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 y x)) (*.f64 (*.f64 z x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z x)))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z x)) (*.f64 (*.f64 y x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))) (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(-.f64 (*.f64 (+.f64 y z) x) 0)
(-.f64 0 (*.f64 (+.f64 y z) (neg.f64 x)))
(-.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (+.f64 y z) (neg.f64 x))))
(/.f64 (*.f64 (+.f64 y z) x) 1)
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (+.f64 y z) (+.f64 y z)))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 x x))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) (/.f64 x x)) (*.f64 (+.f64 y z) (/.f64 x x))))
(neg.f64 (*.f64 (+.f64 y z) (neg.f64 x)))
Outputs
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (+.f64 y z) x) 0)
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 0 (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 y x) (*.f64 z x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 (*.f64 y x) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (*.f64 (*.f64 z x) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 z x) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))) (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 y (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) z))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) z) (*.f64 y (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))) (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) y))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) y) (*.f64 z (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 y (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) z))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) z) (*.f64 y (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 z (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) y))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) y) (*.f64 z (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 0 (*.f64 (+.f64 y z) (/.f64 x x))) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 z x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 y x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 y x)) (*.f64 (*.f64 z x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 y x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z x)) (*.f64 (*.f64 y x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))))) (*.f64 (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(+.f64 (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (*.f64 y x))) (*.f64 (*.f64 z (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 (+.f64 y z) x) 0)
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(-.f64 0 (*.f64 (+.f64 y z) (neg.f64 x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(-.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))) (*.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (*.f64 (+.f64 y z) (neg.f64 x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) 1)
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (+.f64 y z) (+.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 x x))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z))) (*.f64 x (/.f64 (+.f64 y z) (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x)) (/.f64 (*.f64 (+.f64 y z) x) (*.f64 (+.f64 y z) x))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z)))) (*.f64 x (*.f64 (/.f64 (+.f64 y z) (+.f64 y z)) (/.f64 (+.f64 y z) (+.f64 y z))))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z))) (*.f64 (+.f64 y z) (/.f64 x (+.f64 y z)))))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 (+.f64 y z) x) (/.f64 (*.f64 (+.f64 y z) (/.f64 x x)) (*.f64 (+.f64 y z) (/.f64 x x))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (*.f64 (+.f64 z y) (/.f64 x x))))
(neg.f64 (*.f64 (+.f64 y z) (neg.f64 x)))
(+.f64 (*.f64 z x) (*.f64 x y))
(*.f64 x (+.f64 z y))

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 x 1) z)
Compiler

Compiled 14 to 9 computations (35.7% saved)

eval33.0ms (0.9%)

Compiler

Compiled 3355 to 1165 computations (65.3% saved)

prune25.0ms (0.7%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New1442146
Fresh112
Picked011
Done055
Total1459154
Error
0.0b
Counts
154 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
23.0b
(-.f64 (*.f64 z x) z)
0.0b
(-.f64 (*.f64 x (+.f64 z y)) z)
30.0b
(+.f64 (*.f64 z x) (*.f64 y x))
11.4b
(+.f64 (*.f64 x y) (neg.f64 z))
23.0b
(*.f64 (-.f64 x 1) z)
30.0b
(*.f64 (+.f64 y z) x)
52.4b
(*.f64 z x)
40.2b
(*.f64 y x)
33.8b
(neg.f64 z)
Compiler

Compiled 70 to 46 computations (34.3% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 6 computations (68.4% saved)

series2.0ms (0%)

Counts
1 → 18
Calls

9 calls:

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

rewrite68.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1904×rational_best_oopsla_all_46_json-2
1904×rational_best_oopsla_all_46_json-1
1904×rational_best_oopsla_all_46_json-4
1904×rational_best_oopsla_all_46_json-3
702×rational_best_oopsla_all_46_json_45_simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
15313
219313
389613
4413213
Stop Event
node limit
Counts
1 → 57
Calls
Call 1
Inputs
(+.f64 (*.f64 z x) (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z x) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (+.f64 z y) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z (*.f64 y (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (*.f64 z (/.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 z y) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z (*.f64 x (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 x (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 z (/.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 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 y (*.f64 (/.f64 x x) (*.f64 z (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 z (/.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 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (*.f64 z (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 (+.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 z (*.f64 y (/.f64 x x))) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (+.f64 y (*.f64 z (/.f64 x x))) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (/.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z y) (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 z) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 z) (*.f64 y (neg.f64 (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (neg.f64 y) (*.f64 z (neg.f64 (/.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (neg.f64 (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (*.f64 y (/.f64 x x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 z (/.f64 x x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x (+.f64 z y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z y) (/.f64 x x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 z y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (neg.f64 (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (+.f64 z y) (+.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 x (+.f64 z y))))))))

simplify75.0ms (2.1%)

Algorithm
egg-herbie
Rules
1648×rational_best_oopsla_all_46_json_45_simplify-72
1354×rational_best_oopsla_all_46_json_45_simplify-37
1230×rational_best_oopsla_all_46_json_45_simplify-13
1132×rational_best_oopsla_all_46_json_45_simplify-7
1040×rational_best_oopsla_all_46_json_45_simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0134971
1556971
23104963
Stop Event
node limit
Counts
75 → 66
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 z x)
(*.f64 z x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 (+.f64 y z) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 z x)
(*.f64 y x)
(*.f64 y x)
(-.f64 (*.f64 z x) (*.f64 x (neg.f64 y)))
(-.f64 (*.f64 x y) (*.f64 z (neg.f64 x)))
(-.f64 (*.f64 x (+.f64 z y)) 0)
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (+.f64 z y) 0))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))
(-.f64 0 (neg.f64 (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 z y))
(*.f64 x (+.f64 z (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 y (*.f64 z (/.f64 x x))))
(*.f64 x (*.f64 (+.f64 z y) (/.f64 x x)))
(*.f64 x (+.f64 z (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 z (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 y (*.f64 x (/.f64 z x))))
(*.f64 x (+.f64 y (*.f64 (/.f64 x x) (*.f64 z (/.f64 x x)))))
(*.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 z x))))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (*.f64 z (/.f64 x x)))))
(*.f64 x (*.f64 x (/.f64 (+.f64 z y) x)))
(*.f64 x (*.f64 (+.f64 z (*.f64 y (/.f64 x x))) (/.f64 x x)))
(*.f64 x (*.f64 (+.f64 y (*.f64 z (/.f64 x x))) (/.f64 x x)))
(*.f64 x (*.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (/.f64 x x)))
(*.f64 (*.f64 x (+.f64 z y)) 1)
(*.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 1 (*.f64 x (+.f64 z y)))
(*.f64 (+.f64 z y) x)
(*.f64 (+.f64 z y) (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 z) (neg.f64 y)))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 z) (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) (*.f64 z (neg.f64 (/.f64 x x)))))
(*.f64 (neg.f64 x) (neg.f64 (+.f64 z y)))
(*.f64 -1 (neg.f64 (*.f64 x (+.f64 z y))))
(*.f64 (+.f64 z (*.f64 y (/.f64 x x))) x)
(*.f64 (+.f64 y (*.f64 z (/.f64 x x))) x)
(*.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(*.f64 (neg.f64 (*.f64 x (+.f64 z y))) -1)
(*.f64 (neg.f64 (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 (*.f64 (+.f64 z y) (/.f64 x x)) x)
(*.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(*.f64 (neg.f64 (+.f64 z y)) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (neg.f64 (*.f64 x (+.f64 z y))))
(/.f64 (*.f64 x (+.f64 z y)) 1)
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 x x))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (+.f64 z y) (+.f64 z y)))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(neg.f64 (neg.f64 (*.f64 x (+.f64 z y))))
Outputs
(*.f64 y x)
(*.f64 z x)
(*.f64 x z)
(*.f64 z x)
(*.f64 x z)
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 x (+.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 x (+.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 x (+.f64 y z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 y)) x))
(*.f64 x (+.f64 y z))
(*.f64 z x)
(*.f64 x z)
(*.f64 y x)
(*.f64 y x)
(-.f64 (*.f64 z x) (*.f64 x (neg.f64 y)))
(*.f64 x (-.f64 z (neg.f64 y)))
(*.f64 x (-.f64 y (neg.f64 z)))
(-.f64 (*.f64 x y) (*.f64 z (neg.f64 x)))
(*.f64 x (-.f64 z (neg.f64 y)))
(*.f64 x (-.f64 y (neg.f64 z)))
(-.f64 (*.f64 x (+.f64 z y)) 0)
(*.f64 x (+.f64 y z))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) 0))
(*.f64 x (+.f64 y z))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (+.f64 z y) 0))
(*.f64 x (+.f64 y z))
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) 0))
(*.f64 x (+.f64 y z))
(-.f64 0 (neg.f64 (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 z y))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 z (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 y (*.f64 z (/.f64 x x))))
(*.f64 x (+.f64 y z))
(*.f64 x (*.f64 (+.f64 z y) (/.f64 x x)))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 z (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 z (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 x (/.f64 y x))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 (/.f64 x x) (*.f64 y (/.f64 x x)))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 y (*.f64 x (/.f64 z x))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 y (*.f64 (/.f64 x x) (*.f64 z (/.f64 x x)))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 (*.f64 z (/.f64 x x)) (*.f64 y (/.f64 x x))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 x (/.f64 z x))))
(*.f64 x (+.f64 y z))
(*.f64 x (+.f64 (*.f64 y (/.f64 x x)) (*.f64 (/.f64 x x) (*.f64 z (/.f64 x x)))))
(*.f64 x (+.f64 y z))
(*.f64 x (*.f64 x (/.f64 (+.f64 z y) x)))
(*.f64 x (+.f64 y z))
(*.f64 x (*.f64 (+.f64 z (*.f64 y (/.f64 x x))) (/.f64 x x)))
(*.f64 x (+.f64 y z))
(*.f64 x (*.f64 (+.f64 y (*.f64 z (/.f64 x x))) (/.f64 x x)))
(*.f64 x (+.f64 y z))
(*.f64 x (*.f64 (*.f64 (+.f64 z y) (/.f64 x x)) (/.f64 x x)))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) 1)
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(*.f64 1 (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 z y) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 z y) (*.f64 x (/.f64 (+.f64 z y) (+.f64 z y))))
(*.f64 x (+.f64 y z))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 y z))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))
(*.f64 x (+.f64 y z))
(*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))))
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 z) (neg.f64 y)))
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 z) (*.f64 y (neg.f64 (/.f64 x x)))))
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 x) (+.f64 (neg.f64 y) (*.f64 z (neg.f64 (/.f64 x x)))))
(+.f64 (*.f64 y x) (*.f64 z (*.f64 (neg.f64 x) -1)))
(*.f64 (neg.f64 x) (neg.f64 (+.f64 z y)))
(*.f64 x (+.f64 y z))
(*.f64 -1 (neg.f64 (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 z (*.f64 y (/.f64 x x))) x)
(*.f64 x (+.f64 y z))
(*.f64 (+.f64 y (*.f64 z (/.f64 x x))) x)
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 (*.f64 x (+.f64 z y)) (/.f64 1 (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 (*.f64 x (+.f64 z y))) -1)
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 (*.f64 x (+.f64 z y))) (neg.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 (+.f64 z y) (/.f64 x x)) x)
(*.f64 x (+.f64 y z))
(*.f64 (*.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 (+.f64 z y)) (neg.f64 x))
(*.f64 x (+.f64 y z))
(*.f64 (neg.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))) (neg.f64 (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 y z))
(/.f64 (*.f64 x (+.f64 z y)) 1)
(*.f64 x (+.f64 y z))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 x x))
(*.f64 x (+.f64 y z))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 y z))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (+.f64 z y) (+.f64 z y)))
(*.f64 x (+.f64 y z))
(/.f64 (*.f64 x (+.f64 z y)) (/.f64 (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y))) (/.f64 (*.f64 x (+.f64 z y)) (*.f64 x (+.f64 z y)))))
(*.f64 x (+.f64 y z))
(neg.f64 (neg.f64 (*.f64 x (+.f64 z y))))
(*.f64 x (+.f64 y z))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 z x) z)
Compiler

Compiled 13 to 5 computations (61.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite69.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1530×rational_best_oopsla_all_46_json-2
1530×rational_best_oopsla_all_46_json-1
1530×rational_best_oopsla_all_46_json-4
1530×rational_best_oopsla_all_46_json-3
1258×rational_best_oopsla_all_46_json_45_simplify-72
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
13713
212713
358213
4301713
Stop Event
node limit
Counts
1 → 114
Calls
Call 1
Inputs
(-.f64 (*.f64 z x) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 x -1)) (*.f64 0 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 x -1)) (*.f64 0 (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z x) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (neg.f64 z)) (*.f64 (*.f64 z x) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (/.f64 z z) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 x (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 (*.f64 x (/.f64 z z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 1 (+.f64 (*.f64 x (/.f64 z z)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (/.f64 z z) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 x (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (+.f64 (*.f64 x (/.f64 z z)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (+.f64 x -1) (*.f64 z (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (+.f64 x -1) (*.f64 (/.f64 z z) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 -1 (-.f64 1 (*.f64 x (/.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 -1 (-.f64 1 (*.f64 z (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 -1 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 (*.f64 z (/.f64 x z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 z (/.f64 (+.f64 x -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (-.f64 x (/.f64 z z)) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 x (*.f64 z (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 x (/.f64 z z)) (*.f64 z (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 x (/.f64 z z)) (*.f64 (/.f64 z z) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 z (/.f64 x z)) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 z (/.f64 x z)) (*.f64 z (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 z (/.f64 x z)) (*.f64 (/.f64 z z) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 z (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (/.f64 z z) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 z (/.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 z (/.f64 (-.f64 x (/.f64 z z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 z (/.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 1 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 (*.f64 x (/.f64 z z))) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 z z) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 z (/.f64 (+.f64 x -1) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 -1 (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 z (/.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 z (/.f64 (-.f64 x (/.f64 z z)) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 z (/.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z z) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 z x)) (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (-.f64 1 (*.f64 x (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 (+.f64 x -1) (neg.f64 (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 1 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (-.f64 0 (*.f64 (/.f64 z z) (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (-.f64 (/.f64 z z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 z z) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 -1 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x -1) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x -1) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x -1) (*.f64 z (/.f64 (-.f64 1 x) (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x -1) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 z (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 x -1) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 x (/.f64 z z))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 z (/.f64 x z))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z)))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (/.f64 z z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x -1)) (/.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 1 x) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 z (*.f64 z x)))))))

simplify130.0ms (3.6%)

Algorithm
egg-herbie
Rules
1434×rational_best_oopsla_all_46_json_45_simplify-89
1362×rational_best_oopsla_all_46_json_45_simplify-23
1150×rational_best_oopsla_all_46_json_45_simplify-74
1138×rational_best_oopsla_all_46_json_45_simplify-24
1126×rational_best_oopsla_all_46_json_45_simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02641976
112411956
269461956
Stop Event
node limit
Counts
138 → 130
Calls
Call 1
Inputs
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 (-.f64 x 1) z)
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(+.f64 (*.f64 z x) (neg.f64 z))
(+.f64 (*.f64 z (+.f64 x -1)) 0)
(+.f64 (*.f64 z (+.f64 x -1)) (*.f64 0 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(+.f64 (*.f64 z (+.f64 x -1)) (*.f64 0 (+.f64 x -1)))
(+.f64 0 (*.f64 z (+.f64 x -1)))
(+.f64 (neg.f64 z) (*.f64 z x))
(+.f64 (*.f64 (*.f64 z x) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (neg.f64 z)))
(+.f64 (*.f64 0 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))
(+.f64 (*.f64 0 (+.f64 x -1)) (*.f64 z (+.f64 x -1)))
(+.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (neg.f64 z)) (*.f64 (*.f64 z x) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (/.f64 z z) (+.f64 x -1)))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (+.f64 (*.f64 x (/.f64 z z)) -1))
(*.f64 z (*.f64 1 (+.f64 (*.f64 x (/.f64 z z)) -1)))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (+.f64 x -1)))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (/.f64 z z) (+.f64 x -1))))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 x (/.f64 z z))))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (+.f64 (*.f64 x (/.f64 z z)) -1)))
(*.f64 z (*.f64 (+.f64 x -1) (*.f64 z (/.f64 1 z))))
(*.f64 z (*.f64 (+.f64 x -1) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (*.f64 -1 (-.f64 1 (*.f64 x (/.f64 z z)))))
(*.f64 z (*.f64 -1 (-.f64 1 (*.f64 z (/.f64 x z)))))
(*.f64 z (*.f64 -1 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))))
(*.f64 z (+.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) -1))
(*.f64 z (+.f64 (*.f64 z (/.f64 x z)) -1))
(*.f64 z (*.f64 z (/.f64 (+.f64 x -1) z)))
(*.f64 z (*.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) (/.f64 z z)))
(*.f64 z (*.f64 (-.f64 x (/.f64 z z)) (/.f64 z z)))
(*.f64 z (*.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) (/.f64 z z)))
(*.f64 z (-.f64 x (*.f64 z (/.f64 1 z))))
(*.f64 z (-.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 (*.f64 x (/.f64 z z)) (*.f64 z (/.f64 1 z))))
(*.f64 z (-.f64 (*.f64 x (/.f64 z z)) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 (*.f64 z (/.f64 x z)) (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 z (/.f64 x z)) (*.f64 z (/.f64 1 z))))
(*.f64 z (-.f64 (*.f64 z (/.f64 x z)) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 z (/.f64 1 z))))
(*.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (*.f64 z (/.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) z)))
(*.f64 z (*.f64 z (/.f64 (-.f64 x (/.f64 z z)) z)))
(*.f64 z (*.f64 z (/.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) z)))
(*.f64 (*.f64 z (+.f64 x -1)) 1)
(*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 1 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1))))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1))))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (+.f64 x -1)))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))
(*.f64 1 (*.f64 z (+.f64 x -1)))
(*.f64 1 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 z z)))
(*.f64 1 (*.f64 (-.f64 1 (*.f64 x (/.f64 z z))) (neg.f64 z)))
(*.f64 (/.f64 z z) (*.f64 z (+.f64 x -1)))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (+.f64 x -1) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 -1 (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (-.f64 x (/.f64 z z)) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 z z))))
(*.f64 (-.f64 z (*.f64 z x)) -1)
(*.f64 (-.f64 z (*.f64 z x)) (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 (neg.f64 z) (-.f64 1 x))
(*.f64 (neg.f64 z) (-.f64 1 (*.f64 x (/.f64 z z))))
(*.f64 (neg.f64 z) (*.f64 (+.f64 x -1) (neg.f64 (/.f64 z z))))
(*.f64 (neg.f64 z) (*.f64 1 (-.f64 1 x)))
(*.f64 (neg.f64 z) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 1 x)))
(*.f64 (neg.f64 z) (-.f64 0 (*.f64 (/.f64 z z) (+.f64 x -1))))
(*.f64 (neg.f64 z) (-.f64 (/.f64 z z) x))
(*.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (/.f64 z z)))
(*.f64 (neg.f64 z) (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) (neg.f64 z))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (+.f64 x -1)))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 z z) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 -1 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 (+.f64 x -1) z)
(*.f64 (+.f64 x -1) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) z))
(*.f64 (+.f64 x -1) (*.f64 z (/.f64 (-.f64 1 x) (-.f64 1 x))))
(*.f64 (+.f64 x -1) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))
(*.f64 -1 (-.f64 z (*.f64 z x)))
(*.f64 -1 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 z (*.f64 z x))))
(*.f64 -1 (*.f64 (+.f64 x -1) (neg.f64 z)))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) -1)))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 x (/.f64 z z))) -1)))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 z (/.f64 x z))) -1)))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z)))) -1)))
(*.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))
(*.f64 (-.f64 1 x) (neg.f64 z))
(*.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) z)
(*.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))
(*.f64 (-.f64 x (/.f64 z z)) z)
(*.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) z)
(*.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (-.f64 z (*.f64 z x)))
(/.f64 (*.f64 z (+.f64 x -1)) 1)
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 z z))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 1 x) (-.f64 1 x)))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(/.f64 (-.f64 z (*.f64 z x)) -1)
(neg.f64 (-.f64 z (*.f64 z x)))
Outputs
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x 1) z)
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 z (+.f64 1 (*.f64 -1 x))))
(*.f64 z (+.f64 x -1))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 -1 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 z x) (neg.f64 z))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 z (+.f64 x -1)) 0)
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 z (+.f64 x -1)) (*.f64 0 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 z (+.f64 x -1)) (*.f64 0 (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(+.f64 0 (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(+.f64 (neg.f64 z) (*.f64 z x))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 (*.f64 z x) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (neg.f64 z)))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 0 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 0 (+.f64 x -1)) (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(+.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (neg.f64 z)) (*.f64 (*.f64 z x) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (/.f64 z z) (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (+.f64 (*.f64 x (/.f64 z z)) -1))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 1 (+.f64 (*.f64 x (/.f64 z z)) -1)))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (/.f64 z z) (+.f64 x -1))))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 x (/.f64 z z))))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (-.f64 x (/.f64 z z))))
(*.f64 z (*.f64 (/.f64 (*.f64 z (-.f64 1 x)) (*.f64 z (-.f64 1 x))) (-.f64 x (/.f64 z z))))
(*.f64 z (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (+.f64 (*.f64 x (/.f64 z z)) -1)))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (+.f64 x -1) (*.f64 z (/.f64 1 z))))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (+.f64 x -1) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 -1 (-.f64 1 (*.f64 x (/.f64 z z)))))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 -1 (-.f64 1 (*.f64 z (/.f64 x z)))))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 -1 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))))
(*.f64 z (+.f64 x -1))
(*.f64 z (+.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) -1))
(*.f64 z (+.f64 x -1))
(*.f64 z (+.f64 (*.f64 z (/.f64 x z)) -1))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 z (/.f64 (+.f64 x -1) z)))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) (/.f64 z z)))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 (-.f64 x (/.f64 z z)) (/.f64 z z)))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (*.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) (/.f64 z z)))
(*.f64 z (+.f64 x -1))
(*.f64 z (-.f64 x (*.f64 z (/.f64 1 z))))
(*.f64 z (+.f64 x -1))
(*.f64 z (-.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 x (/.f64 z z)) (*.f64 z (/.f64 1 z))))
(*.f64 z (+.f64 x -1))
(*.f64 z (-.f64 (*.f64 x (/.f64 z z)) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 z (/.f64 x z)) (/.f64 z z)))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 z (/.f64 x z)) (*.f64 z (/.f64 1 z))))
(*.f64 z (+.f64 x -1))
(*.f64 z (-.f64 (*.f64 z (/.f64 x z)) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (/.f64 z z)))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 z (/.f64 1 z))))
(*.f64 z (+.f64 x -1))
(*.f64 z (-.f64 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (*.f64 z (/.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) z)))
(*.f64 z (+.f64 x -1))
(*.f64 z (*.f64 z (/.f64 (-.f64 x (/.f64 z z)) z)))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 z (*.f64 z (/.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) z)))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) 1)
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 1 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 z (+.f64 x -1)) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 1 (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 1 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 z z)))
(*.f64 z (+.f64 x -1))
(*.f64 1 (*.f64 (-.f64 1 (*.f64 x (/.f64 z z))) (neg.f64 z)))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 z z) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (+.f64 x -1) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 -1 (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (-.f64 x (/.f64 z z)) (/.f64 z z))))
(*.f64 z (*.f64 (/.f64 z z) (/.f64 (-.f64 x (/.f64 z z)) (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 z (-.f64 x (/.f64 z z))))
(*.f64 (/.f64 z z) (*.f64 z (/.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 z z) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 z (*.f64 z x)) -1)
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 z (*.f64 z x)) (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (-.f64 1 x))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (-.f64 1 (*.f64 x (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (*.f64 (+.f64 x -1) (neg.f64 (/.f64 z z))))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (*.f64 1 (-.f64 1 x)))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 1 x)))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (-.f64 0 (*.f64 (/.f64 z z) (+.f64 x -1))))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (-.f64 (/.f64 z z) x))
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (/.f64 z z)))
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 z) (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) (neg.f64 z))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 z z) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 -1 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (*.f64 (-.f64 z (*.f64 z x)) (/.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))))
(*.f64 z (+.f64 x -1))
(*.f64 (+.f64 x -1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (+.f64 x -1) (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) z))
(*.f64 z (+.f64 x -1))
(*.f64 (+.f64 x -1) (*.f64 z (/.f64 (-.f64 1 x) (-.f64 1 x))))
(*.f64 z (+.f64 x -1))
(*.f64 (+.f64 x -1) (*.f64 (+.f64 x -1) (/.f64 z (+.f64 x -1))))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (-.f64 z (*.f64 z x)))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (-.f64 z (*.f64 z x))))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 (+.f64 x -1) (neg.f64 z)))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) -1)))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 x (/.f64 z z))) -1)))
(*.f64 z (+.f64 x -1))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 z (/.f64 x z))) -1)))
(*.f64 -1 (*.f64 (neg.f64 z) (neg.f64 (-.f64 1 (*.f64 z (/.f64 x z))))))
(neg.f64 (*.f64 (-.f64 1 (*.f64 z (/.f64 x z))) (-.f64 z 0)))
(*.f64 -1 (*.f64 (neg.f64 z) (/.f64 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z)))) -1)))
(*.f64 -1 (*.f64 (neg.f64 z) (neg.f64 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z)))))))
(neg.f64 (*.f64 (-.f64 1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z)))) (-.f64 z 0)))
(*.f64 (neg.f64 z) (*.f64 -1 (+.f64 -1 (*.f64 x (*.f64 (/.f64 z z) (/.f64 z z))))))
(*.f64 (*.f64 (*.f64 z (+.f64 x -1)) (/.f64 1 (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 1 x) (neg.f64 z))
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 (/.f64 z z) (+.f64 x -1)) z)
(*.f64 z (+.f64 x -1))
(*.f64 (*.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (*.f64 z (+.f64 x -1)))
(*.f64 z (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 z z)) z)
(*.f64 z (-.f64 x (/.f64 z z)))
(*.f64 (+.f64 (*.f64 x (/.f64 z z)) -1) z)
(*.f64 z (+.f64 x -1))
(*.f64 (neg.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))) (-.f64 z (*.f64 z x)))
(*.f64 z (+.f64 x -1))
(/.f64 (*.f64 z (+.f64 x -1)) 1)
(*.f64 z (+.f64 x -1))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 z z))
(*.f64 z (+.f64 x -1))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))))
(*.f64 z (+.f64 x -1))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 (-.f64 1 x) (-.f64 1 x)))
(*.f64 z (+.f64 x -1))
(/.f64 (*.f64 z (+.f64 x -1)) (/.f64 (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1))) (/.f64 (*.f64 z (+.f64 x -1)) (*.f64 z (+.f64 x -1)))))
(*.f64 z (+.f64 x -1))
(/.f64 (-.f64 z (*.f64 z x)) -1)
(*.f64 z (+.f64 x -1))
(neg.f64 (-.f64 z (*.f64 z x)))
(*.f64 z (+.f64 x -1))

eval40.0ms (1.1%)

Compiler

Compiled 2915 to 1211 computations (58.5% saved)

prune33.0ms (0.9%)

Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New1960196
Fresh000
Picked011
Done088
Total1969205
Error
0.0b
Counts
205 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
23.0b
(-.f64 (*.f64 z x) z)
0.0b
(-.f64 (*.f64 x (+.f64 z y)) z)
30.0b
(+.f64 (*.f64 z x) (*.f64 y x))
11.4b
(+.f64 (*.f64 x y) (neg.f64 z))
23.0b
(*.f64 (-.f64 x 1) z)
30.0b
(*.f64 (+.f64 y z) x)
52.4b
(*.f64 z x)
40.2b
(*.f64 y x)
33.8b
(neg.f64 z)
Compiler

Compiled 70 to 46 computations (34.3% saved)

regimes29.0ms (0.8%)

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

4 calls:

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

Compiled 86 to 40 computations (53.5% saved)

regimes20.0ms (0.5%)

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

3 calls:

6.0ms
y
6.0ms
z
6.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
Compiler

Compiled 65 to 28 computations (56.9% saved)

regimes53.0ms (1.5%)

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

3 calls:

20.0ms
z
16.0ms
x
15.0ms
y
Results
ErrorSegmentsBranch
1.4b3x
6.2b3y
7.8b3z
Compiler

Compiled 58 to 25 computations (56.9% saved)

bsearch35.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
1.0925399186009803e-17
0.0003078710349899056
18.0ms
-18467111.88172087
-0.0034292844694947407
Results
31.0ms320×body256valid
Compiler

Compiled 418 to 283 computations (32.3% saved)

regimes47.0ms (1.3%)

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

3 calls:

18.0ms
z
14.0ms
y
13.0ms
x
Results
ErrorSegmentsBranch
1.4b3x
6.2b3y
7.8b3z
Compiler

Compiled 44 to 23 computations (47.7% saved)

bsearch34.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
1.0925399186009803e-17
0.0003078710349899056
17.0ms
-18467111.88172087
-0.0034292844694947407
Results
30.0ms320×body256valid
Compiler

Compiled 398 to 273 computations (31.4% saved)

regimes47.0ms (1.3%)

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

3 calls:

20.0ms
y
13.0ms
z
13.0ms
x
Results
ErrorSegmentsBranch
10.9b3x
15.1b5y
10.8b3z
Compiler

Compiled 38 to 21 computations (44.7% saved)

bsearch28.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
3.219961543275359e-91
1.6990650633406165e-89
15.0ms
-1.592891132202317e-140
-5.893671685321807e-147
Results
25.0ms256×body256valid
Compiler

Compiled 306 to 212 computations (30.7% saved)

regimes45.0ms (1.3%)

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

3 calls:

20.0ms
y
13.0ms
z
12.0ms
x
Results
ErrorSegmentsBranch
10.9b3x
15.1b5y
10.8b3z
Compiler

Compiled 33 to 20 computations (39.4% saved)

bsearch27.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
3.219961543275359e-91
1.6990650633406165e-89
15.0ms
-1.592891132202317e-140
-5.893671685321807e-147
Results
24.0ms256×body256valid
Compiler

Compiled 306 to 221 computations (27.8% saved)

regimes84.0ms (2.3%)

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

3 calls:

37.0ms
z
36.0ms
y
11.0ms
x
Results
ErrorSegmentsBranch
11.3b3x
21.1b11y
14.3b11z
Compiler

Compiled 28 to 17 computations (39.3% saved)

bsearch26.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
1.0925399186009803e-17
0.0003078710349899056
8.0ms
-0.0018619756888444505
-0.0007373392667188019
Results
24.0ms240×body256valid
Compiler

Compiled 243 to 178 computations (26.7% saved)

regimes41.0ms (1.1%)

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

3 calls:

15.0ms
x
15.0ms
y
10.0ms
z
Results
ErrorSegmentsBranch
20.2b5x
25.9b5y
21.7b3z
Compiler

Compiled 23 to 15 computations (34.8% saved)

bsearch64.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
3.406096625080619e+205
8.46130153530691e+207
16.0ms
2.1197989911100107e+98
3.9139347645867543e+99
16.0ms
1.0925399186009803e-17
0.0003078710349899056
9.0ms
-0.0018619756888444505
-0.0007373392667188019
Results
45.0ms464×body256valid
14.0ms156×body256infinite
Compiler

Compiled 409 to 303 computations (25.9% saved)

regimes31.0ms (0.9%)

Accuracy

Total -40.6b remaining (-189.1%)

Threshold costs -40.6b (-189.1%)

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

3 calls:

13.0ms
y
9.0ms
z
8.0ms
x
Results
ErrorSegmentsBranch
21.4b3x
25.9b5y
21.7b3z
Compiler

Compiled 20 to 14 computations (30% saved)

bsearch25.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
1.0925399186009803e-17
0.0003078710349899056
8.0ms
-0.0018619756888444505
-0.0007373392667188019
Results
22.0ms240×body256valid
Compiler

Compiled 213 to 163 computations (23.5% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065446
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(if (<=.f64 x -1) (*.f64 (+.f64 y z) x) (if (<=.f64 x 5534023222112865/18446744073709551616) (+.f64 (*.f64 x y) (neg.f64 z)) (+.f64 (*.f64 x y) (*.f64 z x))))
(if (<=.f64 x -1) (*.f64 (+.f64 y z) x) (if (<=.f64 x 5534023222112865/18446744073709551616) (+.f64 (*.f64 x y) (neg.f64 z)) (*.f64 (+.f64 y z) x)))
(if (<=.f64 z -6809879278849565/109836762562089755439710412785302291476310964802292886550311415346968690934362496833960954250583272879636740982263693728593951807995466301001184452657840914432) (-.f64 (*.f64 z x) z) (if (<=.f64 z 7797895294366243/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 (+.f64 y z) x) (*.f64 (-.f64 x 1) z)))
(if (<=.f64 z -1233518329554719/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (*.f64 (-.f64 x 1) z) (if (<=.f64 z 8256595017564257/1146749307995035755805410447651043470398282494584140561868794419693461438044242404035009276555062843277312) (*.f64 (+.f64 y z) x) (*.f64 (-.f64 x 1) z)))
(if (<=.f64 x -3458764513820541/4611686018427387904) (*.f64 (+.f64 y z) x) (if (<=.f64 x 6084722881095501/81129638414606681695789005144064) (neg.f64 z) (*.f64 (+.f64 y z) x)))
(if (<=.f64 x -3458764513820541/4611686018427387904) (*.f64 y x) (if (<=.f64 x 940834429856889/4951760157141521099596496896) (neg.f64 z) (if (<=.f64 x 3649999999999999892918696711436729842797433045840920642665603239146101845438134259390052302395015168) (*.f64 y x) (if (<=.f64 x 270000000000000003372452473759184847326159939190340240856946888844891603051350912042698458377711377330292675158848463732524951942064219993514748464348304266687190070843106078426587751992757070287679124406272) (*.f64 z x) (*.f64 y x)))))
(if (<=.f64 x -3458764513820541/4611686018427387904) (*.f64 y x) (if (<=.f64 x 219734356973155/154742504910672534362390528) (neg.f64 z) (*.f64 y x)))
(neg.f64 z)
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x 1) z))
(-.f64 (*.f64 x (+.f64 z y)) z)
(if (<=.f64 x -1) (*.f64 (+.f64 y z) x) (if (<=.f64 x 5534023222112865/18446744073709551616) (+.f64 (*.f64 x y) (neg.f64 z)) (+.f64 (*.f64 x y) (*.f64 z x))))
(if (<=.f64 x -1) (*.f64 (+.f64 y z) x) (if (<=.f64 x 5534023222112865/18446744073709551616) (+.f64 (*.f64 x y) (neg.f64 z)) (*.f64 (+.f64 y z) x)))
(if (<=.f64 z -6809879278849565/109836762562089755439710412785302291476310964802292886550311415346968690934362496833960954250583272879636740982263693728593951807995466301001184452657840914432) (-.f64 (*.f64 z x) z) (if (<=.f64 z 7797895294366243/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 (+.f64 y z) x) (*.f64 (-.f64 x 1) z)))
(if (<=.f64 z -1233518329554719/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (*.f64 (-.f64 x 1) z) (if (<=.f64 z 8256595017564257/1146749307995035755805410447651043470398282494584140561868794419693461438044242404035009276555062843277312) (*.f64 (+.f64 y z) x) (*.f64 (-.f64 x 1) z)))
(if (<=.f64 x -3458764513820541/4611686018427387904) (*.f64 (+.f64 y z) x) (if (<=.f64 x 6084722881095501/81129638414606681695789005144064) (neg.f64 z) (*.f64 (+.f64 y z) x)))
(if (<=.f64 x -3458764513820541/4611686018427387904) (*.f64 y x) (if (<=.f64 x 940834429856889/4951760157141521099596496896) (neg.f64 z) (if (<=.f64 x 3649999999999999892918696711436729842797433045840920642665603239146101845438134259390052302395015168) (*.f64 y x) (if (<=.f64 x 270000000000000003372452473759184847326159939190340240856946888844891603051350912042698458377711377330292675158848463732524951942064219993514748464348304266687190070843106078426587751992757070287679124406272) (*.f64 z x) (*.f64 y x)))))
(if (<=.f64 x -3458764513820541/4611686018427387904) (*.f64 y x) (if (<=.f64 x 219734356973155/154742504910672534362390528) (neg.f64 z) (*.f64 y x)))
(neg.f64 z)
Compiler

Compiled 210 to 122 computations (41.9% saved)

soundness0.0ms (0%)

end69.0ms (1.9%)

Compiler

Compiled 183 to 76 computations (58.5% saved)

Profiling

Loading profile data...