Details

Time bar (total: 6.8s)

analyze190.0ms (2.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
6.2%93.6%0.1%6
15.6%84.3%0.1%7
23.4%76.5%0.1%8
32.8%67.1%0.1%9
43.3%56.6%0.1%10
50.5%49.3%0.1%11
58.7%41.2%0.1%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample909.0ms (13.4%)

Results
894.0ms8254×body256valid
1.0msbody2048valid

preprocess156.0ms (2.3%)

Algorithm
egg-herbie
Rules
1362×fma-neg_binary64
623×div-sub_binary64
600×distribute-rgt-in_binary64
383×sub-neg_binary64
280×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02152
13452
25452
38152
413052
518552
624852
731452
837152
954652
1098852
11265652
12556152
13650752
14674252
15681652
16686452
17688652
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 1 (/.f64 y z)))
(/.f64 (+.f64 y x) (-.f64 1 (/.f64 x z)))
(/.f64 (+.f64 z y) (-.f64 1 (/.f64 y x)))
(/.f64 (+.f64 x z) (-.f64 1 (/.f64 z y)))
Outputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(/.f64 (+.f64 y x) (-.f64 1 (/.f64 x z)))
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 x z)))
(/.f64 (+.f64 z y) (-.f64 1 (/.f64 y x)))
(/.f64 (+.f64 y z) (-.f64 1 (/.f64 y x)))
(/.f64 (+.f64 x z) (-.f64 1 (/.f64 z y)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify82.0ms (1.2%)

Algorithm
egg-herbie
Rules
1668×fma-neg_binary64
875×div-sub_binary64
645×fma-def_binary64
358×distribute-rgt-in_binary64
316×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11413
22013
32813
44313
55913
67913
710013
811713
916413
1022913
1131413
1256013
13137613
14289113
15473813
16649313
17737313
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Outputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 11 computations (59.3% saved)

series12.0ms (0.2%)

Counts
2 → 60
Calls

15 calls:

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

rewrite75.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
816×prod-diff_binary64
531×log-prod_binary64
284×pow2_binary64
248×fma-def_binary64
195×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
120320
2302120
Stop Event
node limit
Counts
2 → 87
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(-.f64 1 (/.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (/.f64 1 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 x y)) (/.f64 1 (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (/.f64 (cbrt.f64 (+.f64 x y)) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (/.f64 (sqrt.f64 (+.f64 x y)) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (/.f64 (+.f64 x y) (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (/.f64 (sqrt.f64 (+.f64 x y)) (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 1 (/.f64 y z)))) (/.f64 (+.f64 x y) (sqrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (sqrt.f64 (-.f64 1 (/.f64 y z)))) (/.f64 (cbrt.f64 (+.f64 x y)) (sqrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 1 (pow.f64 (/.f64 y z) 3))) (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x y) (-.f64 1 (pow.f64 (/.f64 y z) 2))) (+.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 x y)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 x y) (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (/.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (/.f64 (neg.f64 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (neg.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 y z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (/.f64 y z))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2) (cbrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (/.f64 y z))) (sqrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 y z) 3)) (/.f64 1 (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 y z) 2)) (/.f64 1 (+.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1) (-.f64 1 (pow.f64 (/.f64 y z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (/.f64 y z)) (-.f64 1 (pow.f64 (/.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 y z) 3)) (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 y z) 2)) (+.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 y z) 3))) (neg.f64 (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 y z) 2))) (neg.f64 (+.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 (neg.f64 y) z) 3)) (+.f64 1 (-.f64 (pow.f64 (/.f64 (neg.f64 y) z) 2) (/.f64 (neg.f64 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 (neg.f64 y) z) 2)) (-.f64 1 (/.f64 (neg.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (/.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1) (-.f64 1 (pow.f64 (/.f64 y z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (/.f64 y z)) (-.f64 1 (pow.f64 (/.f64 y z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (/.f64 (neg.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (/.f64 (neg.f64 y) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (neg.f64 (/.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (neg.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 y z)) 2) (neg.f64 (cbrt.f64 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 y z)) (neg.f64 (sqrt.f64 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) (/.f64 1 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (neg.f64 y) z)) 2) (cbrt.f64 (/.f64 (neg.f64 y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (neg.f64 y) z)) (sqrt.f64 (/.f64 (neg.f64 y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 y z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 y z)) 2)) (cbrt.f64 (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (/.f64 y z))) (sqrt.f64 (/.f64 y z)) 1)))))

simplify72.0ms (1.1%)

Algorithm
egg-herbie
Rules
660×fma-def_binary64
491×times-frac_binary64
434×sub-neg_binary64
406×unsub-neg_binary64
364×div-sub_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01171157
13791111
21335950
36742940
Stop Event
node limit
Counts
147 → 131
Calls
Call 1
Inputs
(/.f64 y (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
x
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x))
(+.f64 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 1 (*.f64 -1 (/.f64 x z)))) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y))) (/.f64 (pow.f64 z 2) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2)))) (/.f64 (pow.f64 z 2) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) (pow.f64 z 2)) (pow.f64 y 3)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2))))) (/.f64 (pow.f64 z 2) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (*.f64 -1 z))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2)))))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) (pow.f64 z 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2))))))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x)))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 y x)) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y x)))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 3)) (pow.f64 z 3)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x))))
1
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(*.f64 -1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(*.f64 -1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(*.f64 -1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
1
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
1
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
Outputs
(/.f64 y (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
x
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)
(fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x)
(fma.f64 y (+.f64 1 (/.f64 x z)) x)
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x))
(+.f64 (fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x) (/.f64 (*.f64 y y) (/.f64 z (-.f64 1 (neg.f64 (/.f64 x z))))))
(+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (*.f64 (/.f64 y (/.f64 z y)) (+.f64 1 (/.f64 x z))))
(+.f64 x (*.f64 (+.f64 1 (/.f64 x z)) (+.f64 y (/.f64 (*.f64 y y) z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 1 (*.f64 -1 (/.f64 x z)))) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)))
(+.f64 (+.f64 (fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x) (/.f64 (*.f64 y y) (/.f64 z (-.f64 1 (neg.f64 (/.f64 x z)))))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 z z) (-.f64 1 (neg.f64 (/.f64 x z))))))
(+.f64 (*.f64 (/.f64 y (/.f64 z y)) (+.f64 1 (/.f64 x z))) (+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (*.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (+.f64 1 (/.f64 x z)))))
(+.f64 x (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (+.f64 1 (/.f64 x z)) (*.f64 (+.f64 1 (/.f64 x z)) (+.f64 y (/.f64 (*.f64 y y) z)))))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y))) (/.f64 (pow.f64 z 2) y))
(-.f64 (*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 z y) x)) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2)))) (/.f64 (pow.f64 z 2) y))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (fma.f64 z x (*.f64 z z))) (/.f64 y (/.f64 z y))) (*.f64 (/.f64 z y) x)) z) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) (pow.f64 z 2)) (pow.f64 y 3)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2))))) (/.f64 (pow.f64 z 2) y))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (+.f64 (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))) (/.f64 (*.f64 z z) y))
(-.f64 (+.f64 (/.f64 (*.f64 z (neg.f64 x)) y) (-.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z))) z)) (*.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (*.f64 y y)) z))) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) (*.f64 y y)) (+.f64 z (*.f64 (/.f64 z y) z))) (+.f64 z (/.f64 (*.f64 z (+.f64 x z)) y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (*.f64 -1 z))
(-.f64 (*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 z y) x)) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2)))))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (fma.f64 z x (*.f64 z z))) (/.f64 y (/.f64 z y))) (*.f64 (/.f64 z y) x)) z) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) (pow.f64 z 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2))))))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (+.f64 (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))) (/.f64 (*.f64 z z) y))
(-.f64 (+.f64 (/.f64 (*.f64 z (neg.f64 x)) y) (-.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z))) z)) (*.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (*.f64 y y)) z))) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) (*.f64 y y)) (+.f64 z (*.f64 (/.f64 z y) z))) (+.f64 z (/.f64 (*.f64 z (+.f64 x z)) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 y x)) y)
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))
(*.f64 -1 (+.f64 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) (/.f64 y z))))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 (+.f64 y x) y) z)))
(*.f64 z (-.f64 (*.f64 z (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y))) (/.f64 (+.f64 y x) y)))
(*.f64 z (-.f64 (*.f64 z (-.f64 (/.f64 -1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (*.f64 -1 (+.f64 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3)) (/.f64 (+.f64 y x) (/.f64 y z)))))
(-.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3) (*.f64 (/.f64 (+.f64 y x) y) z))) (*.f64 z (*.f64 z (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))))))
(fma.f64 (pow.f64 z 3) (fma.f64 -1 (/.f64 x (pow.f64 y 3)) (/.f64 -1 (*.f64 y y))) (*.f64 z (-.f64 (*.f64 z (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y))) (/.f64 (+.f64 y x) y))))
(fma.f64 (pow.f64 z 3) (-.f64 (/.f64 -1 (*.f64 y y)) (/.f64 x (pow.f64 y 3))) (*.f64 z (-.f64 (*.f64 z (-.f64 (/.f64 -1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3)) (*.f64 -1 (+.f64 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4)) (/.f64 (+.f64 y x) (/.f64 y z))))))
(-.f64 (-.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4) (*.f64 (/.f64 (+.f64 y x) y) z))) (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3))) (*.f64 z (*.f64 z (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))))))
(-.f64 (*.f64 (*.f64 z z) (-.f64 (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y)) (*.f64 z (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))) (fma.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4) (*.f64 z (/.f64 (+.f64 y x) y))))
(+.f64 (*.f64 z (-.f64 (*.f64 z (-.f64 (/.f64 -1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) y))) (fma.f64 (pow.f64 z 3) (-.f64 (/.f64 -1 (*.f64 y y)) (/.f64 x (pow.f64 y 3))) (*.f64 (pow.f64 z 4) (-.f64 (/.f64 -1 (pow.f64 y 3)) (/.f64 x (pow.f64 y 4))))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (+.f64 y x) (/.f64 y (/.f64 z (+.f64 y x))))
(+.f64 y (+.f64 x (*.f64 (/.f64 (+.f64 y x) z) y)))
(*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x)))
(+.f64 (+.f64 (/.f64 y (/.f64 z (+.f64 y x))) y) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x)))))
(+.f64 (+.f64 y x) (+.f64 (*.f64 (/.f64 (+.f64 y x) z) y) (/.f64 (+.f64 y x) (*.f64 (/.f64 z y) (/.f64 z y)))))
(+.f64 y (+.f64 x (*.f64 (/.f64 (+.f64 y x) z) (+.f64 (/.f64 (*.f64 y y) z) y))))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 y x)) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x))) (/.f64 y (/.f64 z (+.f64 y x)))) (+.f64 (+.f64 y x) (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) (+.f64 y x)))))
(+.f64 (*.f64 (/.f64 (+.f64 y x) z) y) (+.f64 (+.f64 (+.f64 y x) (/.f64 (+.f64 y x) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) (+.f64 y x)))))
(+.f64 (*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x)) (*.f64 (/.f64 (/.f64 (+.f64 y x) z) z) (+.f64 (*.f64 y y) (/.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 y z) 3) 1) (+.f64 y x)) (*.f64 (/.f64 (+.f64 y x) z) (+.f64 (/.f64 (*.f64 y y) z) y)))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (+.f64 y x) (/.f64 y (/.f64 z (+.f64 y x))))
(+.f64 y (+.f64 x (*.f64 (/.f64 (+.f64 y x) z) y)))
(*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y x)))
(+.f64 (+.f64 (/.f64 y (/.f64 z (+.f64 y x))) y) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x)))))
(+.f64 (+.f64 y x) (+.f64 (*.f64 (/.f64 (+.f64 y x) z) y) (/.f64 (+.f64 y x) (*.f64 (/.f64 z y) (/.f64 z y)))))
(+.f64 y (+.f64 x (*.f64 (/.f64 (+.f64 y x) z) (+.f64 (/.f64 (*.f64 y y) z) y))))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 3)) (pow.f64 z 3)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x))))
(+.f64 (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x))) (/.f64 y (/.f64 z (+.f64 y x)))) (+.f64 (+.f64 y x) (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) (+.f64 y x)))))
(+.f64 (*.f64 (/.f64 (+.f64 y x) z) y) (+.f64 (+.f64 (+.f64 y x) (/.f64 (+.f64 y x) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) (+.f64 y x)))))
(+.f64 (*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x)) (*.f64 (/.f64 (/.f64 (+.f64 y x) z) z) (+.f64 (*.f64 y y) (/.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 y z) 3) 1) (+.f64 y x)) (*.f64 (/.f64 (+.f64 y x) z) (+.f64 (/.f64 (*.f64 y y) z) y)))
1
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(*.f64 -1 (/.f64 y z))
(neg.f64 (/.f64 y z))
(/.f64 (neg.f64 y) z)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(*.f64 -1 (/.f64 y z))
(neg.f64 (/.f64 y z))
(/.f64 (neg.f64 y) z)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(*.f64 -1 (/.f64 y z))
(neg.f64 (/.f64 y z))
(/.f64 (neg.f64 y) z)
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
1
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
1
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) 1)
(-.f64 1 (/.f64 y z))

eval41.0ms (0.6%)

Compiler

Compiled 2275 to 1112 computations (51.1% saved)

prune31.0ms (0.4%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New11912131
Fresh000
Picked011
Done000
Total11913132
Error
0.0b
Counts
132 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
33.7b
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
37.2b
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 1 (-.f64 1 (/.f64 y z)))))
8.3b
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
18.9b
(*.f64 (/.f64 (+.f64 x y) (-.f64 1 (pow.f64 (/.f64 y z) 2))) (+.f64 1 (/.f64 y z)))
36.1b
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
32.0b
(+.f64 y x)
40.7b
(neg.f64 z)
8.4b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (+.f64 x y))
8.3b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
38.0b
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
41.2b
x
32.8b
(/.f64 x (-.f64 1 (/.f64 y z)))
38.4b
(/.f64 y (-.f64 1 (/.f64 y z)))
Compiler

Compiled 294 to 193 computations (34.4% saved)

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (/.f64 y z))
1.9b
(/.f64 x (-.f64 1 (/.f64 y z)))
8.2b
(/.f64 y (-.f64 1 (/.f64 y z)))
Compiler

Compiled 44 to 20 computations (54.5% saved)

series11.0ms (0.2%)

Counts
2 → 48
Calls

15 calls:

TimeVariablePointExpression
2.0ms
z
@-inf
(/.f64 x (-.f64 1 (/.f64 y z)))
2.0ms
y
@inf
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
x
@inf
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
y
@-inf
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
x
@0
(/.f64 x (-.f64 1 (/.f64 y z)))

rewrite74.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
379×prod-diff_binary64
282×pow-prod-down_binary64
267×pow2_binary64
186×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
119620
2277320
Stop Event
node limit
Counts
2 → 92
Calls
Call 1
Inputs
(/.f64 y (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 y (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) y) -2)) (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 y y)) 1) (/.f64 (cbrt.f64 y) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 y) 1) (/.f64 (sqrt.f64 y) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) -2) (/.f64 y (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (/.f64 y (sqrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 y) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (/.f64 (sqrt.f64 y) (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 y y)) (sqrt.f64 (-.f64 1 (/.f64 y z)))) (/.f64 (cbrt.f64 y) (sqrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (-.f64 1 (pow.f64 (/.f64 y z) 3))) (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (-.f64 1 (pow.f64 (/.f64 z y) -2))) (+.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) y) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (-.f64 1 (/.f64 y z)) y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 y (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 y (-.f64 1 (/.f64 y z))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (-.f64 1 (/.f64 y z)) y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -2)) (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) -2) (/.f64 x (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (/.f64 x (sqrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (-.f64 1 (/.f64 y z)))) (/.f64 (cbrt.f64 x) (sqrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (-.f64 1 (pow.f64 (/.f64 y z) 3))) (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (-.f64 1 (pow.f64 (/.f64 z y) -2))) (+.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (-.f64 1 (/.f64 y z)) x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 1) 1))))))

simplify81.0ms (1.2%)

Algorithm
egg-herbie
Rules
729×associate-/l/_binary64
551×sub-neg_binary64
509×unswap-sqr_binary64
376×times-frac_binary64
315×div-sub_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0641068
11971032
2668930
33139807
46733798
Stop Event
node limit
Counts
140 → 122
Calls
Call 1
Inputs
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
Outputs
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (/.f64 y (/.f64 z y)))
(+.f64 y (*.f64 y (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (+.f64 y (/.f64 (*.f64 y y) z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))
(+.f64 (/.f64 y (/.f64 z y)) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))
(+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (+.f64 y (/.f64 (*.f64 y y) z)) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3))))
(+.f64 y (+.f64 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3))) (/.f64 y (/.f64 z y))))
(+.f64 (+.f64 y (/.f64 (pow.f64 y 4) (pow.f64 z 3))) (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))
(+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (*.f64 y (+.f64 (/.f64 y z) (pow.f64 (/.f64 y z) 3)))))
(+.f64 y (+.f64 (*.f64 y (/.f64 y z)) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(neg.f64 (+.f64 z (/.f64 (*.f64 z z) y)))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 (*.f64 z z) y) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (*.f64 -1 (+.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 z) z) y) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y z)) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (+.f64 z (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(+.f64 (*.f64 z (-.f64 -1 (pow.f64 (/.f64 z y) 3))) (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(neg.f64 (+.f64 z (/.f64 (*.f64 z z) y)))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 (*.f64 z z) y) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (*.f64 -1 (+.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 z) z) y) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y z)) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (+.f64 z (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(+.f64 (*.f64 z (-.f64 -1 (pow.f64 (/.f64 z y) 3))) (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(neg.f64 (+.f64 z (/.f64 (*.f64 z z) y)))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 (*.f64 z z) y) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (*.f64 -1 (+.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 z) z) y) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y z)) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (+.f64 z (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(+.f64 (*.f64 z (-.f64 -1 (pow.f64 (/.f64 z y) 3))) (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (/.f64 y (/.f64 z y)))
(+.f64 y (*.f64 y (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (+.f64 y (/.f64 (*.f64 y y) z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))
(+.f64 (/.f64 y (/.f64 z y)) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))
(+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (+.f64 y (/.f64 (*.f64 y y) z)) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3))))
(+.f64 y (+.f64 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3))) (/.f64 y (/.f64 z y))))
(+.f64 (+.f64 y (/.f64 (pow.f64 y 4) (pow.f64 z 3))) (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))
(+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (*.f64 y (+.f64 (/.f64 y z) (pow.f64 (/.f64 y z) 3)))))
(+.f64 y (+.f64 (*.f64 y (/.f64 y z)) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (/.f64 y (/.f64 z y)))
(+.f64 y (*.f64 y (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (+.f64 y (/.f64 (*.f64 y y) z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))
(+.f64 (/.f64 y (/.f64 z y)) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))
(+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (+.f64 y (/.f64 (*.f64 y y) z)) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3))))
(+.f64 y (+.f64 (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3))) (/.f64 y (/.f64 z y))))
(+.f64 (+.f64 y (/.f64 (pow.f64 y 4) (pow.f64 z 3))) (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))
(+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (*.f64 y (+.f64 (/.f64 y z) (pow.f64 (/.f64 y z) 3)))))
(+.f64 y (+.f64 (*.f64 y (/.f64 y z)) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 y (/.f64 z x)))
(+.f64 x (*.f64 (/.f64 y z) x))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 y (/.f64 z x)) (+.f64 x (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z))))
(+.f64 x (+.f64 (*.f64 (/.f64 y z) x) (/.f64 x (/.f64 (*.f64 z z) (*.f64 y y)))))
(fma.f64 (/.f64 (*.f64 y y) z) (/.f64 x z) (fma.f64 (/.f64 y z) x x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 y (/.f64 z x)) (+.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z)) (+.f64 x (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) x)))))
(+.f64 (*.f64 (/.f64 y z) x) (+.f64 (/.f64 x (/.f64 (*.f64 z z) (*.f64 y y))) (+.f64 x (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x))))
(+.f64 x (fma.f64 (/.f64 y z) x (*.f64 (/.f64 x z) (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 x y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (/.f64 z (/.f64 (*.f64 y y) z)))))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (neg.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 x y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 z (/.f64 (*.f64 y y) z))))))
(neg.f64 (*.f64 (/.f64 x y) (+.f64 z (*.f64 (/.f64 z y) (+.f64 z (/.f64 z (/.f64 y z)))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (pow.f64 z 4) (/.f64 (pow.f64 y 4) x)) (fma.f64 -1 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (neg.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 z) z) (/.f64 (*.f64 y y) x)) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x)) (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (*.f64 (/.f64 z y) x))
(-.f64 (neg.f64 (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4))))) (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 z (/.f64 (*.f64 y y) z)))))
(-.f64 (*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 (/.f64 z y) 4))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 x y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (/.f64 z (/.f64 (*.f64 y y) z)))))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (neg.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 x y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 z (/.f64 (*.f64 y y) z))))))
(neg.f64 (*.f64 (/.f64 x y) (+.f64 z (*.f64 (/.f64 z y) (+.f64 z (/.f64 z (/.f64 y z)))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (pow.f64 z 4) (/.f64 (pow.f64 y 4) x)) (fma.f64 -1 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (neg.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 z) z) (/.f64 (*.f64 y y) x)) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x)) (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (*.f64 (/.f64 z y) x))
(-.f64 (neg.f64 (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4))))) (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 z (/.f64 (*.f64 y y) z)))))
(-.f64 (*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 (/.f64 z y) 4))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 x y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (/.f64 z (/.f64 (*.f64 y y) z)))))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (neg.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 x y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 z (/.f64 (*.f64 y y) z))))))
(neg.f64 (*.f64 (/.f64 x y) (+.f64 z (*.f64 (/.f64 z y) (+.f64 z (/.f64 z (/.f64 y z)))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (pow.f64 z 4) (/.f64 (pow.f64 y 4) x)) (fma.f64 -1 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (neg.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 z) z) (/.f64 (*.f64 y y) x)) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x)) (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (*.f64 (/.f64 z y) x))
(-.f64 (neg.f64 (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4))))) (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 z (/.f64 (*.f64 y y) z)))))
(-.f64 (*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 (/.f64 z y) 4))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 y (/.f64 z x)))
(+.f64 x (*.f64 (/.f64 y z) x))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 y (/.f64 z x)) (+.f64 x (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z))))
(+.f64 x (+.f64 (*.f64 (/.f64 y z) x) (/.f64 x (/.f64 (*.f64 z z) (*.f64 y y)))))
(fma.f64 (/.f64 (*.f64 y y) z) (/.f64 x z) (fma.f64 (/.f64 y z) x x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 y (/.f64 z x)) (+.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z)) (+.f64 x (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) x)))))
(+.f64 (*.f64 (/.f64 y z) x) (+.f64 (/.f64 x (/.f64 (*.f64 z z) (*.f64 y y))) (+.f64 x (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x))))
(+.f64 x (fma.f64 (/.f64 y z) x (*.f64 (/.f64 x z) (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 y (/.f64 z x)))
(+.f64 x (*.f64 (/.f64 y z) x))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 y (/.f64 z x)) (+.f64 x (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z))))
(+.f64 x (+.f64 (*.f64 (/.f64 y z) x) (/.f64 x (/.f64 (*.f64 z z) (*.f64 y y)))))
(fma.f64 (/.f64 (*.f64 y y) z) (/.f64 x z) (fma.f64 (/.f64 y z) x x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 y (/.f64 z x)) (+.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z)) (+.f64 x (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 z 3) x)))))
(+.f64 (*.f64 (/.f64 y z) x) (+.f64 (/.f64 x (/.f64 (*.f64 z z) (*.f64 y y))) (+.f64 x (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x))))
(+.f64 x (fma.f64 (/.f64 y z) x (*.f64 (/.f64 x z) (*.f64 (+.f64 (/.f64 y z) 1) (/.f64 (*.f64 y y) z)))))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (/.f64 y z))
1.9b
(/.f64 x (-.f64 1 (/.f64 y z)))
Compiler

Compiled 22 to 10 computations (54.5% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 24 to 7 computations (70.8% saved)

series14.0ms (0.2%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
5.0ms
x
@-inf
(/.f64 (+.f64 y x) y)
1.0ms
z
@0
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
1.0ms
y
@inf
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
1.0ms
y
@0
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
1.0ms
x
@-inf
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
979×pow1_binary64
911×add-log-exp_binary64
910×log1p-expm1-u_binary64
910×expm1-log1p-u_binary64
97×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
118117
2273817
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
(/.f64 (+.f64 y x) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 y x) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 y x) (/.f64 y z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y x) (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 z (/.f64 y (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (*.f64 (+.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) z) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) z) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 y x) z) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 y x) z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 y x) z) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 y x)) z) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (neg.f64 (+.f64 y x))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 y x) (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 y x) (/.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) (/.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 y x) (/.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 y x) (/.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 y x) (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 y x) (/.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (+.f64 y x) y) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 (+.f64 y x) y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 y x) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 y x) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 y x) (/.f64 y z))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 y x) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y x) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 y x) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 y x) y)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) y)) 2) (cbrt.f64 (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (*.f64 (cbrt.f64 (+.f64 y x)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 y x) y)) (sqrt.f64 (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 y x)) (*.f64 (sqrt.f64 (+.f64 y x)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 y x)) (/.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) 1) (/.f64 (cbrt.f64 (+.f64 y x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 y x)) 1) (/.f64 (sqrt.f64 (+.f64 y x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 y) 2)) (/.f64 (+.f64 y x) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 y x)) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (+.f64 y x)) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 y)) (/.f64 (+.f64 y x) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (sqrt.f64 y)) (/.f64 (cbrt.f64 (+.f64 y x)) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 y x) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 y x) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 y x) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (+.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 y x) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 y x) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 y x) y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 y x) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 y x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 y x) y)))))))

simplify138.0ms (2%)

Algorithm
egg-herbie
Rules
874×fma-neg_binary64
865×fma-def_binary64
493×times-frac_binary64
442×div-sub_binary64
344×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017567
141537
289477
3199477
4434477
5852477
62006477
74756477
86892477
97571477
107812477
117946477
127958477
137958477
Stop Event
node limit
Counts
118 → 69
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 z (neg.f64 x)) y)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 z (/.f64 x (neg.f64 y)))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 z (neg.f64 x)) y)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 z (/.f64 x (neg.f64 y)))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 z (neg.f64 x)) y)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 z (/.f64 x (neg.f64 y)))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 8 computations (75.8% saved)

series15.0ms (0.2%)

Counts
3 → 96
Calls

24 calls:

TimeVariablePointExpression
3.0ms
x
@0
(/.f64 (*.f64 z (+.f64 x z)) y)
2.0ms
y
@0
(/.f64 (*.f64 z (+.f64 x z)) y)
1.0ms
z
@inf
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
1.0ms
z
@0
(/.f64 (*.f64 z (+.f64 x z)) y)
1.0ms
z
@-inf
(/.f64 (*.f64 z (+.f64 x z)) y)

rewrite87.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
535×log-prod_binary64
358×pow-prod-down_binary64
353×fma-def_binary64
256×pow2_binary64
205×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0932
121330
2358728
Stop Event
node limit
Counts
3 → 230
Calls
Call 1
Inputs
(/.f64 (*.f64 z (+.f64 x z)) y)
(*.f64 z (+.f64 x z))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (/.f64 1 (/.f64 y (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (+.f64 z x) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z x) (*.f64 z (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 z x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 z x)) (neg.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 z x)) (/.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (*.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (*.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (neg.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 z (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z 1) (/.f64 (+.f64 z x) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z x) 1) (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z y) (+.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) 1) (/.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) 1) (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (pow.f64 (cbrt.f64 y) 2)) (/.f64 (+.f64 z x) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (/.f64 z (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) -2) (/.f64 (*.f64 z (+.f64 z x)) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (sqrt.f64 y)) (/.f64 (+.f64 z x) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z x) (sqrt.f64 y)) (/.f64 z (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y -1/2) (/.f64 (*.f64 z (+.f64 z x)) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (sqrt.f64 y)) (/.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2))) (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (*.f64 z (+.f64 z x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 y (*.f64 z (+.f64 z x))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 z y) (+.f64 z x))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z x)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z x) 1) (*.f64 (*.f64 z z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 z (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 z x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 z 6)) (+.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (pow.f64 z 4) (*.f64 (*.f64 z x) (*.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (pow.f64 z 4)) (*.f64 z (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (pow.f64 (+.f64 z x) 2)) (+.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (+.f64 z x) 2) z) (+.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 z 3)) z) (fma.f64 z (-.f64 z x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 x 3) (pow.f64 z 3))) (fma.f64 z (-.f64 z x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 z x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 z x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 z (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 z x)) (exp.f64 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z z)) (exp.f64 (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 z x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (+.f64 z x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z z (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (pow.f64 z 3/2) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z x) 1 (*.f64 (*.f64 z z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 z) z) (pow.f64 (cbrt.f64 z) 2) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 z 3/2) (sqrt.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 5) (cbrt.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z z))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 z y) (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (/.f64 z y) (+.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2) (/.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z))) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2) (fma.f64 (/.f64 z y) (+.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3)) (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3))) (neg.f64 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2)) (fma.f64 (/.f64 z y) (+.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3)) (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z))) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 z (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z -1 (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (/.f64 1 (/.f64 y (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 (+.f64 z x) (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 z x) (*.f64 z (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 z x)) (/.f64 1 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 z x)) (neg.f64 (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 z x)) (/.f64 1 (neg.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 1 (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 1 (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (/.f64 z y) (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2) (/.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2) (/.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z) 2) (/.f64 1 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (*.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) 2) (cbrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (*.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (sqrt.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z)) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) (neg.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z)))) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 3)) (/.f64 1 (fma.f64 z z (*.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (fma.f64 (/.f64 z y) (+.f64 z x) z)))) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 y) (*.f64 z (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (/.f64 z y) (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z 1) (/.f64 (+.f64 z x) y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (+.f64 z x) 1) (/.f64 z y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z y) (+.f64 z x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) 1) (/.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) 1) (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z (pow.f64 (cbrt.f64 y) 2)) (/.f64 (+.f64 z x) (cbrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (+.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (/.f64 z (cbrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) -2) (/.f64 (*.f64 z (+.f64 z x)) (cbrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (cbrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z (sqrt.f64 y)) (/.f64 (+.f64 z x) (sqrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (+.f64 z x) (sqrt.f64 y)) (/.f64 z (sqrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y -1/2) (/.f64 (*.f64 z (+.f64 z x)) (sqrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (sqrt.f64 y)) (/.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) (sqrt.f64 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (fma.f64 (neg.f64 (/.f64 1 y)) (*.f64 z (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (/.f64 z y) (+.f64 z x)))) (+.f64 (*.f64 (/.f64 z y) (+.f64 z x)) (*.f64 (/.f64 z y) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) (+.f64 z x)) 2))) (cbrt.f64 (*.f64 (/.f64 z y) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (/.f64 z y) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (/.f64 z y) (+.f64 z x)))))))

simplify104.0ms (1.5%)

Algorithm
egg-herbie
Rules
604×fma-neg_binary64
379×div-sub_binary64
308×distribute-rgt-out--_binary64
297×distribute-rgt-neg-in_binary64
289×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0341344
11051263
2250919
3585917
41891917
54573917
66970917
Stop Event
node limit
Counts
326 → 259
Calls
Call 1
Inputs
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (pow.f64 z 2) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (pow.f64 z 2) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (pow.f64 z 2) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(pow.f64 z 2)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(pow.f64 z 2)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(pow.f64 z 2)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
Outputs
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) y))
(*.f64 (+.f64 z x) (/.f64 z y))
(*.f64 z (/.f64 (+.f64 z x) y))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(pow.f64 z 2)
(*.f64 z z)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(pow.f64 z 2)
(*.f64 z z)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(pow.f64 z 2)
(*.f64 z z)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z))
(neg.f64 (*.f64 z (+.f64 1 (/.f64 x y))))
(*.f64 z (+.f64 -1 (/.f64 (neg.f64 x) y)))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 x (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y)))
(neg.f64 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z z) y))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y z)) z)
(neg.f64 (fma.f64 (/.f64 z y) z z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (*.f64 (neg.f64 z) x) y)
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (*.f64 (neg.f64 z) x) y)
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (+.f64 z x) (/.f64 (neg.f64 z) y))
(*.f64 z (/.f64 (-.f64 (neg.f64 z) x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 (*.f64 z (+.f64 1 (/.f64 x y))) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))

eval177.0ms (2.6%)

Compiler

Compiled 11424 to 4636 computations (59.4% saved)

prune118.0ms (1.7%)

Pruning

17 alts after pruning (14 fresh and 3 done)

PrunedKeptTotal
New65311664
Fresh437
Picked101
Done235
Total66017677
Error
0b
Counts
677 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
32.8b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)
53.5b
(*.f64 -1 (/.f64 (*.f64 z x) y))
54.6b
(*.f64 x (/.f64 (neg.f64 z) y))
8.3b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
32.8b
(/.f64 x (-.f64 1 (/.f64 y z)))
36.1b
(-.f64 (neg.f64 z) (*.f64 (/.f64 1 y) (*.f64 z (+.f64 z x))))
52.8b
(-.f64 (neg.f64 z) (*.f64 (pow.f64 y -1/2) (/.f64 (*.f64 z (+.f64 z x)) (sqrt.f64 y))))
33.7b
(-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))
54.8b
(*.f64 (/.f64 x y) (neg.f64 z))
40.7b
(neg.f64 z)
8.4b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (+.f64 x y))
41.2b
x
54.6b
(/.f64 x (/.f64 (neg.f64 y) z))
41.3b
(*.f64 z (-.f64 -1 (/.f64 z y)))
38.4b
(/.f64 y (-.f64 1 (/.f64 y z)))
28.4b
(+.f64 (+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))
32.0b
(+.f64 y x)
Compiler

Compiled 345 to 230 computations (33.3% saved)

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 17 computations (52.8% saved)

series6.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite92.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
591×log-prod_binary64
411×pow-prod-down_binary64
310×pow2_binary64
295×fma-def_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
123023
2345423
Stop Event
node limit
Counts
2 → 108
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (+.f64 x y))
(/.f64 1 (-.f64 1 (/.f64 y z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 1) (*.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (+.f64 y x)) 2) (/.f64 (-.f64 1 (/.f64 y z)) (cbrt.f64 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 y x)) (/.f64 (-.f64 1 (/.f64 y z)) (sqrt.f64 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (*.f64 (-.f64 1 (/.f64 y z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (-.f64 1 (/.f64 y z)) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 y x)) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (neg.f64 (-.f64 1 (/.f64 y z))) (fma.f64 y (-.f64 y x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (neg.f64 (-.f64 1 (/.f64 y z))) (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) 1) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 y y)) 1) (*.f64 (-.f64 x y) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) -1) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 y y)) -1) (*.f64 (-.f64 x y) (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y x) (sqrt.f64 (-.f64 1 (/.f64 y z)))) (sqrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 3) (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 3)) (+.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 2) (-.f64 (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 2) (*.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 2) (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 2)) (-.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y x) 1) (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y x) (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (cbrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (+.f64 y x)) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (-.f64 1 (/.f64 y z)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 1 (/.f64 y z)))) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (-.f64 (*.f64 x x) (*.f64 y y))) (-.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) -1) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) (+.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 y x) (-.f64 1 (/.f64 y z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (/.f64 1 (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (/.f64 1 (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (/.f64 1 (-.f64 1 (/.f64 y z)))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 1 (-.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2)) (*.f64 (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))) x) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2)) (*.f64 (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))) y) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (-.f64 1 (/.f64 y z)))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (/.f64 1 (-.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (*.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) x) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (*.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) y) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 1 (*.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 2) (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 2) (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2))) (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (-.f64 1 (/.f64 y z)) -1/2)) (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (sqrt.f64 x)) (sqrt.f64 x) (/.f64 y (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (sqrt.f64 y)) (sqrt.f64 y) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2))) (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (-.f64 1 (/.f64 y z)) -1/2)) (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (/.f64 x (-.f64 1 (/.f64 y z))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (-.f64 1 (/.f64 y z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (-.f64 1 (/.f64 y z)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))) (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2)) (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) (pow.f64 (-.f64 1 (/.f64 y z)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) -2) (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (pow.f64 (/.f64 y z) 3))) (fma.f64 (/.f64 y z) (+.f64 1 (/.f64 y z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (pow.f64 (/.f64 y z) 2))) (+.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (/.f64 y z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (/.f64 y z))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (-.f64 1 (/.f64 y z)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (/.f64 y z)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log1p.f64 (/.f64 (neg.f64 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (/.f64 (neg.f64 y) z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log1p.f64 (/.f64 (neg.f64 y) z))) 1))))))

simplify107.0ms (1.6%)

Algorithm
egg-herbie
Rules
763×fma-def_binary64
619×times-frac_binary64
436×div-sub_binary64
383×associate-/l*_binary64
302×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01331490
14241426
215161169
377391160
Stop Event
node limit
Counts
168 → 160
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x))
(+.f64 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 1 (*.f64 -1 (/.f64 x z)))) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y))) (/.f64 (pow.f64 z 2) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2)))) (/.f64 (pow.f64 z 2) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) (pow.f64 z 2)) (pow.f64 y 3)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2))))) (/.f64 (pow.f64 z 2) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (*.f64 -1 z))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2)))))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) (pow.f64 z 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2))))))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x)))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 y x)) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y x)))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 3)) (pow.f64 z 3)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x))))
(/.f64 y (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
1
(+.f64 1 (/.f64 y z))
(+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z))))
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
1
(+.f64 1 (/.f64 y z))
(+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z))))
1
(+.f64 1 (/.f64 y z))
(+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z))))
Outputs
x
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)
(fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x)
(fma.f64 y (+.f64 1 (/.f64 x z)) x)
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x))
(+.f64 (fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x) (/.f64 (*.f64 y y) (/.f64 z (-.f64 1 (neg.f64 (/.f64 x z))))))
(+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (*.f64 (/.f64 (*.f64 y y) z) (+.f64 1 (/.f64 x z))))
(+.f64 x (*.f64 (+.f64 1 (/.f64 x z)) (+.f64 y (*.f64 (/.f64 y z) y))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 1 (*.f64 -1 (/.f64 x z)))) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)))
(+.f64 (+.f64 (fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x) (/.f64 (*.f64 y y) (/.f64 z (-.f64 1 (neg.f64 (/.f64 x z)))))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 z z) (-.f64 1 (neg.f64 (/.f64 x z))))))
(+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (+.f64 (*.f64 (/.f64 (*.f64 y y) z) (+.f64 1 (/.f64 x z))) (*.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (+.f64 1 (/.f64 x z)))))
(+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (*.f64 (+.f64 1 (/.f64 x z)) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (*.f64 (/.f64 y z) y))))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y))) (/.f64 (pow.f64 z 2) y))
(-.f64 (*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 z y) x)) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2)))) (/.f64 (pow.f64 z 2) y))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (fma.f64 x z (*.f64 z z))) (/.f64 (*.f64 y y) z)) (*.f64 (/.f64 z y) x)) z) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) (pow.f64 z 2)) (pow.f64 y 3)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2))))) (/.f64 (pow.f64 z 2) y))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (+.f64 (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))) (/.f64 (*.f64 z z) y))
(-.f64 (+.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 (fma.f64 x z (*.f64 z z)) (*.f64 y y)) z)) (*.f64 (/.f64 (fma.f64 x z (*.f64 z z)) (pow.f64 y 3)) (*.f64 z z)))) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y))) (+.f64 z (/.f64 (*.f64 z (+.f64 x z)) y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (*.f64 -1 z))
(-.f64 (*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 z y) x)) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2)))))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (fma.f64 x z (*.f64 z z))) (/.f64 (*.f64 y y) z)) (*.f64 (/.f64 z y) x)) z) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) (pow.f64 z 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2))))))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (+.f64 (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))) (/.f64 (*.f64 z z) y))
(-.f64 (+.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 (fma.f64 x z (*.f64 z z)) (*.f64 y y)) z)) (*.f64 (/.f64 (fma.f64 x z (*.f64 z z)) (pow.f64 y 3)) (*.f64 z z)))) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y))) (+.f64 z (/.f64 (*.f64 z (+.f64 x z)) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (neg.f64 (+.f64 x y)) (/.f64 y z))
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (neg.f64 (/.f64 (+.f64 x y) (/.f64 y z))))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 z (/.f64 y (+.f64 x y)))))
(*.f64 z (-.f64 (*.f64 z (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y))) (/.f64 (+.f64 x y) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3)) (neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))))
(-.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3) (/.f64 z (/.f64 y (+.f64 x y))))) (*.f64 z (*.f64 z (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))))))
(fma.f64 (pow.f64 z 3) (fma.f64 -1 (/.f64 x (pow.f64 y 3)) (/.f64 -1 (*.f64 y y))) (*.f64 z (-.f64 (*.f64 z (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y))) (/.f64 (+.f64 x y) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3)) (fma.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4)) (neg.f64 (/.f64 (+.f64 x y) (/.f64 y z))))))
(-.f64 (-.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4) (/.f64 z (/.f64 y (+.f64 x y))))) (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3))) (*.f64 z (*.f64 z (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))))))
(-.f64 (*.f64 (*.f64 z z) (-.f64 (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y)) (*.f64 z (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))) (fma.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4) (*.f64 z (/.f64 (+.f64 x y) y))))
(+.f64 y x)
(+.f64 x y)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (+.f64 x y) (/.f64 y (/.f64 z (+.f64 x y))))
(+.f64 x (+.f64 y (*.f64 (/.f64 y z) (+.f64 x y))))
(*.f64 (+.f64 1 (/.f64 y z)) (+.f64 x y))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x)))
(+.f64 (/.f64 y (/.f64 z (+.f64 x y))) (+.f64 y (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 x y))))))
(+.f64 y (+.f64 (+.f64 x (*.f64 (/.f64 (*.f64 y y) z) (/.f64 (+.f64 x y) z))) (*.f64 (/.f64 y z) (+.f64 x y))))
(+.f64 x (+.f64 y (*.f64 (+.f64 x y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z)))))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 y x)) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 x y))) (+.f64 (/.f64 y (/.f64 z (+.f64 x y))) (+.f64 (+.f64 x y) (/.f64 (+.f64 x y) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(+.f64 y (+.f64 (+.f64 (+.f64 x (*.f64 (/.f64 (*.f64 y y) z) (/.f64 (+.f64 x y) z))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 x y))) (*.f64 (/.f64 y z) (+.f64 x y))))
(+.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 y z) 3)) (+.f64 x y)) (*.f64 (+.f64 x y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z))))
(+.f64 y x)
(+.f64 x y)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (+.f64 x y) (/.f64 y (/.f64 z (+.f64 x y))))
(+.f64 x (+.f64 y (*.f64 (/.f64 y z) (+.f64 x y))))
(*.f64 (+.f64 1 (/.f64 y z)) (+.f64 x y))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y x)))
(+.f64 (/.f64 y (/.f64 z (+.f64 x y))) (+.f64 y (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 x y))))))
(+.f64 y (+.f64 (+.f64 x (*.f64 (/.f64 (*.f64 y y) z) (/.f64 (+.f64 x y) z))) (*.f64 (/.f64 y z) (+.f64 x y))))
(+.f64 x (+.f64 y (*.f64 (+.f64 x y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z)))))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 3)) (pow.f64 z 3)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x))))
(+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 x y))) (+.f64 (/.f64 y (/.f64 z (+.f64 x y))) (+.f64 (+.f64 x y) (/.f64 (+.f64 x y) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(+.f64 y (+.f64 (+.f64 (+.f64 x (*.f64 (/.f64 (*.f64 y y) z) (/.f64 (+.f64 x y) z))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 x y))) (*.f64 (/.f64 y z) (+.f64 x y))))
(+.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 y z) 3)) (+.f64 x y)) (*.f64 (+.f64 x y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z))))
(/.f64 y (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
1
(+.f64 1 (/.f64 y z))
(+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z)))
(+.f64 (+.f64 1 (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 y z))
(+.f64 (/.f64 y z) (+.f64 1 (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 1 (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z))))
(+.f64 (+.f64 (+.f64 1 (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 y z)) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (+.f64 (/.f64 y z) (+.f64 1 (*.f64 (/.f64 y z) (/.f64 y z)))) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z))) (pow.f64 (/.f64 y z) 3))
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 z y)))
(neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (*.f64 -1 (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(-.f64 (neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (pow.f64 (/.f64 z y) 3))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (*.f64 -1 (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(-.f64 (-.f64 (neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4))))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (+.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 (/.f64 z y) 4)))
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 z y)))
(neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (*.f64 -1 (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(-.f64 (neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (pow.f64 (/.f64 z y) 3))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (*.f64 -1 (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(-.f64 (-.f64 (neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4))))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (+.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 (/.f64 z y) 4)))
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 z y)))
(neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (*.f64 -1 (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(-.f64 (neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (pow.f64 (/.f64 z y) 3))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (*.f64 -1 (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(-.f64 (-.f64 (neg.f64 (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))) (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4))))
(-.f64 (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))) (+.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 (/.f64 z y) 4)))
1
(+.f64 1 (/.f64 y z))
(+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z)))
(+.f64 (+.f64 1 (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 y z))
(+.f64 (/.f64 y z) (+.f64 1 (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 1 (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z))))
(+.f64 (+.f64 (+.f64 1 (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 y z)) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (+.f64 (/.f64 y z) (+.f64 1 (*.f64 (/.f64 y z) (/.f64 y z)))) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z))) (pow.f64 (/.f64 y z) 3))
1
(+.f64 1 (/.f64 y z))
(+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z)))
(+.f64 (+.f64 1 (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 y z))
(+.f64 (/.f64 y z) (+.f64 1 (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 1 (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 1 (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 z 2)) (/.f64 y z))))
(+.f64 (+.f64 (+.f64 1 (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 y z)) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (+.f64 (/.f64 y z) (+.f64 1 (*.f64 (/.f64 y z) (/.f64 y z)))) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 y z))) (pow.f64 (/.f64 y z) 3))

localize6.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize13.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.6b
(/.f64 x (/.f64 (neg.f64 y) z))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series10.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
z
@inf
(/.f64 x (/.f64 (neg.f64 y) z))
2.0ms
x
@0
(/.f64 x (/.f64 (neg.f64 y) z))
1.0ms
y
@0
(/.f64 x (/.f64 (neg.f64 y) z))
1.0ms
z
@0
(/.f64 x (/.f64 (neg.f64 y) z))
1.0ms
y
@inf
(/.f64 x (/.f64 (neg.f64 y) z))

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
779×pow1_binary64
723×add-log-exp_binary64
722×log1p-expm1-u_binary64
722×expm1-log1p-u_binary64
706×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
079
11567
224287
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 x (/.f64 (neg.f64 y) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (/.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 z (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (/.f64 x y))) 2) (cbrt.f64 (*.f64 z (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (/.f64 x y))) (sqrt.f64 (*.f64 z (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.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 x y) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) y) (/.f64 (sqrt.f64 x) (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) y) (/.f64 (cbrt.f64 x) (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 y z)) 2)) (/.f64 x (cbrt.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (/.f64 y z)) 2)) (cbrt.f64 (*.f64 z (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (/.f64 y z)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (/.f64 y z))) (/.f64 x (sqrt.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 y z))) (/.f64 (cbrt.f64 x) (sqrt.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 1) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (*.f64 x z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 z (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 z (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (/.f64 y z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (/.f64 x y))))))))

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
46×fma-neg_binary64
24×sub-neg_binary64
18×div-sub_binary64
14×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
235324
369324
4114324
5162324
6202324
7238324
8275324
9394324
10445324
Stop Event
saturated
Counts
77 → 43
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))

localize16.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (/.f64 y z))
8.2b
(/.f64 y (-.f64 1 (/.f64 y z)))
Compiler

Compiled 21 to 10 computations (52.4% saved)

localize28.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 41 to 16 computations (61% saved)

series14.0ms (0.2%)

Counts
3 → 96
Calls

24 calls:

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

rewrite95.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
497×fma-def_binary64
302×pow2_binary64
221×pow-unpow_binary64
209×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01132
124830
2378430
Stop Event
node limit
Counts
3 → 230
Calls
Call 1
Inputs
(*.f64 (/.f64 1 y) (*.f64 z (+.f64 z x)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 1 y) (*.f64 z (+.f64 z x))))
(*.f64 z (+.f64 z x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 z x) (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z z) (/.f64 1 y)) (*.f64 (*.f64 z x) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (/.f64 z y)) (*.f64 x (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 z y)) (*.f64 z (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 y) (*.f64 z z)) (*.f64 (/.f64 1 y) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 z y) z) (*.f64 (/.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 z y) x) (*.f64 (/.f64 z y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 z (/.f64 y (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z x) (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 z x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2) (/.f64 y (cbrt.f64 (*.f64 z (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) (/.f64 y (sqrt.f64 (*.f64 z (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 z (+.f64 z x))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (+.f64 z x)) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (+.f64 z x)) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (+.f64 z x)) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 z (+.f64 z x))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (+.f64 z x)) -1) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 z y) (+.f64 (pow.f64 z 3) (pow.f64 x 3))) (fma.f64 z z (*.f64 x (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 z y) (*.f64 (+.f64 z x) (-.f64 z x))) (-.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (*.f64 z (+.f64 z x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 y) (*.f64 z z) (*.f64 (/.f64 1 y) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (/.f64 z y) (*.f64 x (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (/.f64 z y) (*.f64 z (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z z) (/.f64 1 y) (*.f64 (*.f64 z x) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z y) z (*.f64 (/.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z y) x (*.f64 (/.f64 z y) z))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2)) (/.f64 1 (fma.f64 (+.f64 z x) (/.f64 z y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z)) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z) (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3)) (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2)) (fma.f64 (+.f64 z x) (/.f64 z y) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2))) (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 2) (*.f64 z (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 2)) (-.f64 z (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z)) (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z) (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (*.f64 (exp.f64 z) (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (+.f64 z x) (/.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 z x) (/.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (exp.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 z) (/.f64 1 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (/.f64 1 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 (/.f64 z y)) (+.f64 z x))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 z (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 y) (neg.f64 (*.f64 z (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z 1 (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z -1 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z -1 (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 z x)) (/.f64 -1 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 1 (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 1 (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y))) 1 (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) 2) (cbrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (sqrt.f64 (-.f64 z (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) (neg.f64 (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (+.f64 z x) (/.f64 z y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z))) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z))) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 z 3) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (fma.f64 (+.f64 z x) (/.f64 z y) z) (*.f64 z z))) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2)) (/.f64 1 (fma.f64 (+.f64 z x) (/.f64 z y) z)) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2)) (/.f64 1 (fma.f64 (+.f64 z x) (/.f64 z y) z)) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2)) (/.f64 1 (fma.f64 (+.f64 z x) (/.f64 z y) z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z x) (/.f64 z y)) 2)) (/.f64 1 (fma.f64 (+.f64 z x) (/.f64 z y) z)) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 z y) (neg.f64 (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))) 2) (cbrt.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))) (sqrt.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 z (+.f64 z x))) (/.f64 1 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1 (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (/.f64 -1 y) (*.f64 z (+.f64 z x)) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (-.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (+.f64 z x) (/.f64 z y)))) (fma.f64 (neg.f64 (+.f64 z x)) (/.f64 z y) (*.f64 (+.f64 z x) (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) 2)) (cbrt.f64 (*.f64 (+.f64 z x) (/.f64 z y))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (/.f64 z y)) (+.f64 z x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1 y) 1) (*.f64 z (+.f64 z x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1 y) z) (+.f64 z x) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1 y) (+.f64 z x)) z z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1 y) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 2)) (cbrt.f64 (*.f64 z (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1 y) (sqrt.f64 (*.f64 z (+.f64 z x)))) (sqrt.f64 (*.f64 z (+.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 (neg.f64 (/.f64 z y)) (+.f64 z x)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z z) 1) (*.f64 (*.f64 z x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 z x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z z) 3) (pow.f64 (*.f64 z x) 3)) (+.f64 (pow.f64 (*.f64 z z) 2) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 (*.f64 z z) (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z z) 2) (pow.f64 (*.f64 z x) 2)) (-.f64 (*.f64 z z) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 x 3)) z) (fma.f64 z z (*.f64 x (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 z x) (-.f64 z x)) z) (-.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 z 3) (pow.f64 x 3))) (fma.f64 z z (*.f64 x (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (+.f64 z x) (-.f64 z x))) (-.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 z x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 z x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 z x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 z x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 z 3) (pow.f64 (+.f64 z x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (+.f64 z x) 3) (pow.f64 z 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z x)) (exp.f64 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 z x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (+.f64 z x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 z x) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (+.f64 z x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z z (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z x (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x z (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z z) 1 (*.f64 (*.f64 z x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (cbrt.f64 z) 2) 2) (pow.f64 (cbrt.f64 z) 2) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 x)) (*.f64 (sqrt.f64 z) (sqrt.f64 x)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 z)) (*.f64 (sqrt.f64 x) (sqrt.f64 z)) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z z))))))

simplify101.0ms (1.5%)

Algorithm
egg-herbie
Rules
604×fma-neg_binary64
379×div-sub_binary64
308×distribute-rgt-out--_binary64
299×distribute-rgt-neg-in_binary64
289×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0341164
11051083
2250919
3585917
41887917
54570917
66977917
Stop Event
node limit
Counts
326 → 257
Calls
Call 1
Inputs
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z (+.f64 z x)) y)
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (pow.f64 z 2) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (pow.f64 z 2) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (pow.f64 z 2) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(pow.f64 z 2)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(pow.f64 z 2)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(pow.f64 z 2)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
Outputs
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 z (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 z (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 z (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(+.f64 (/.f64 (*.f64 z x) y) (/.f64 (pow.f64 z 2) y))
(/.f64 (*.f64 z (+.f64 z x)) y)
(*.f64 (/.f64 (+.f64 z x) y) z)
(*.f64 z (/.f64 (+.f64 z x) y))
(*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z))
(neg.f64 (*.f64 z (+.f64 1 (/.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (neg.f64 z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 x (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1 (/.f64 x y)) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (*.f64 -1 (/.f64 x y))) z)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y))
(/.f64 (neg.f64 z) (/.f64 y (+.f64 z x)))
(*.f64 (+.f64 z x) (/.f64 (neg.f64 z) y))
(*.f64 z (/.f64 (-.f64 (neg.f64 x) z) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y)))
(neg.f64 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y z)) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 (neg.f64 x) (/.f64 z y))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 x y) (neg.f64 z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 (neg.f64 x) (/.f64 z y))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 x y) (neg.f64 z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (+.f64 z (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (*.f64 z (+.f64 1 (/.f64 x y))) (neg.f64 (/.f64 (*.f64 z z) y)))
(neg.f64 (fma.f64 z (+.f64 1 (/.f64 x y)) (/.f64 z (/.f64 y z))))
(neg.f64 (fma.f64 (/.f64 z y) (+.f64 z x) z))
(*.f64 z (-.f64 -1 (/.f64 (+.f64 z x) y)))
(neg.f64 (fma.f64 (+.f64 z x) (/.f64 z y) z))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(pow.f64 z 2)
(*.f64 z z)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(pow.f64 z 2)
(*.f64 z z)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(pow.f64 z 2)
(*.f64 z z)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(*.f64 z x)
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))
(+.f64 (pow.f64 z 2) (*.f64 z x))
(*.f64 z (+.f64 z x))

eval172.0ms (2.5%)

Compiler

Compiled 10540 to 4143 computations (60.7% saved)

prune117.0ms (1.7%)

Pruning

19 alts after pruning (13 fresh and 6 done)

PrunedKeptTotal
New61310623
Fresh639
Picked101
Done167
Total62119640
Error
0b
Counts
640 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
32.8b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)
53.5b
(*.f64 -1 (/.f64 (*.f64 z x) y))
33.9b
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x))))
41.2b
x
33.4b
(-.f64 (neg.f64 z) (*.f64 (/.f64 1 y) (*.f64 z x)))
54.6b
(/.f64 x (/.f64 (neg.f64 y) z))
54.8b
(*.f64 (/.f64 x y) (neg.f64 z))
33.7b
(-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))
54.6b
(*.f64 (neg.f64 x) (/.f64 z y))
32.0b
(+.f64 y x)
40.7b
(neg.f64 z)
53.6b
y
8.3b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
53.8b
(+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z))))
32.8b
(/.f64 x (-.f64 1 (/.f64 y z)))
41.3b
(*.f64 z (-.f64 -1 (/.f64 z y)))
38.4b
(/.f64 y (-.f64 1 (/.f64 y z)))
62.2b
(*.f64 (/.f64 z y) x)
38.4b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
Compiler

Compiled 306 to 206 computations (32.7% saved)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (/.f64 y z))
0.2b
(/.f64 1 (-.f64 1 (/.f64 y z)))
1.9b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)
Compiler

Compiled 31 to 16 computations (48.4% saved)

series3.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
485×log-prod_binary64
375×exp-prod_binary64
352×prod-diff_binary64
268×pow-prod-down_binary64
253×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0910
119410
2259810
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 x (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 y z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (-.f64 1 (/.f64 y z)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 x) (/.f64 (-.f64 1 (/.f64 y z)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (sqrt.f64 (-.f64 1 (/.f64 y z)))) (sqrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x 1) (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (cbrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 x) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 y z)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 2)) (cbrt.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))) (sqrt.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (-.f64 1 (/.f64 y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 x (-.f64 1 (/.f64 y z))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 x (-.f64 1 (/.f64 y z)))) 1) 1))))))

simplify66.0ms (1%)

Algorithm
egg-herbie
Rules
750×distribute-rgt-neg-in_binary64
633×distribute-lft-neg-in_binary64
530×distribute-rgt-out--_binary64
448×associate-/l/_binary64
426×associate-/r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
047744
1140726
2461648
32287555
45273516
Stop Event
node limit
Counts
73 → 52
Calls
Call 1
Inputs
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
Outputs
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 (*.f64 x y) z))
(+.f64 x (*.f64 (/.f64 y z) x))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) x))))
(+.f64 (+.f64 x (*.f64 (/.f64 y z) x)) (*.f64 (/.f64 (*.f64 y y) (*.f64 z z)) x))
(fma.f64 (/.f64 y z) x (fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) x)) (+.f64 x (/.f64 (*.f64 x (pow.f64 y 3)) (pow.f64 z 3)))))
(+.f64 (*.f64 (/.f64 (*.f64 y y) (*.f64 z z)) x) (+.f64 (+.f64 x (/.f64 x (/.f64 (pow.f64 z 3) (pow.f64 y 3)))) (*.f64 (/.f64 y z) x)))
(fma.f64 (/.f64 y z) x (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x (fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) x)))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 (+.f64 1 (/.f64 y z)) (fma.f64 (/.f64 x z) (*.f64 (/.f64 y z) y) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 (neg.f64 z) y) x)
(neg.f64 (/.f64 (*.f64 x z) y))
(/.f64 (*.f64 x (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (*.f64 (/.f64 z y) (/.f64 z y))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(*.f64 (neg.f64 x) (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (*.f64 x (pow.f64 z 4)) (pow.f64 y 4)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (*.f64 z z)) (/.f64 y (/.f64 x y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x)) (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) x)) (/.f64 x (/.f64 y z)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (*.f64 (/.f64 z y) (/.f64 z y))))) (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(*.f64 (*.f64 x (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))) (-.f64 -1 (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 (neg.f64 z) y) x)
(neg.f64 (/.f64 (*.f64 x z) y))
(/.f64 (*.f64 x (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (*.f64 (/.f64 z y) (/.f64 z y))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(*.f64 (neg.f64 x) (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (*.f64 x (pow.f64 z 4)) (pow.f64 y 4)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (*.f64 z z)) (/.f64 y (/.f64 x y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x)) (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) x)) (/.f64 x (/.f64 y z)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (*.f64 (/.f64 z y) (/.f64 z y))))) (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(*.f64 (*.f64 x (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))) (-.f64 -1 (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 (neg.f64 z) y) x)
(neg.f64 (/.f64 (*.f64 x z) y))
(/.f64 (*.f64 x (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (/.f64 z (/.f64 y x)) (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (*.f64 (/.f64 z y) (/.f64 z y))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(*.f64 (neg.f64 x) (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (*.f64 x (pow.f64 z 4)) (pow.f64 y 4)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (*.f64 z z)) (/.f64 y (/.f64 x y))) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) x)) (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) x)) (/.f64 x (/.f64 y z)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (*.f64 (/.f64 z y) (/.f64 z y))))) (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(*.f64 (*.f64 x (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))) (-.f64 -1 (*.f64 (/.f64 z y) (/.f64 z y))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 (*.f64 x y) z))
(+.f64 x (*.f64 (/.f64 y z) x))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) x))))
(+.f64 (+.f64 x (*.f64 (/.f64 y z) x)) (*.f64 (/.f64 (*.f64 y y) (*.f64 z z)) x))
(fma.f64 (/.f64 y z) x (fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) x)) (+.f64 x (/.f64 (*.f64 x (pow.f64 y 3)) (pow.f64 z 3)))))
(+.f64 (*.f64 (/.f64 (*.f64 y y) (*.f64 z z)) x) (+.f64 (+.f64 x (/.f64 x (/.f64 (pow.f64 z 3) (pow.f64 y 3)))) (*.f64 (/.f64 y z) x)))
(fma.f64 (/.f64 y z) x (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x (fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) x)))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 (+.f64 1 (/.f64 y z)) (fma.f64 (/.f64 x z) (*.f64 (/.f64 y z) y) x))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 (*.f64 x y) z))
(+.f64 x (*.f64 (/.f64 y z) x))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) x))))
(+.f64 (+.f64 x (*.f64 (/.f64 y z) x)) (*.f64 (/.f64 (*.f64 y y) (*.f64 z z)) x))
(fma.f64 (/.f64 y z) x (fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) x)) (+.f64 x (/.f64 (*.f64 x (pow.f64 y 3)) (pow.f64 z 3)))))
(+.f64 (*.f64 (/.f64 (*.f64 y y) (*.f64 z z)) x) (+.f64 (+.f64 x (/.f64 x (/.f64 (pow.f64 z 3) (pow.f64 y 3)))) (*.f64 (/.f64 y z) x)))
(fma.f64 (/.f64 y z) x (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x (fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) x)))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 (+.f64 1 (/.f64 y z)) (fma.f64 (/.f64 x z) (*.f64 (/.f64 y z) y) x))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.5b
(*.f64 (/.f64 z y) x)
Compiler

Compiled 14 to 5 computations (64.3% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
682×pow1_binary64
629×add-log-exp_binary64
629×log1p-expm1-u_binary64
629×expm1-log1p-u_binary64
614×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11257
216757
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (/.f64 z y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 z y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 z (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z x) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 z x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z x) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z x) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z x) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 z) x) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 z)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 z y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 z y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 z y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 z y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 z y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 z y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 z y) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (/.f64 z y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 z y) x)))))))

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06252
19252
213252
316252
417252
Stop Event
saturated
Counts
59 → 24
Calls
Call 1
Inputs
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
Outputs
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.0b
(*.f64 (/.f64 x y) (neg.f64 z))
Compiler

Compiled 17 to 6 computations (64.7% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite51.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
715×pow1_binary64
660×add-log-exp_binary64
659×log1p-expm1-u_binary64
659×expm1-log1p-u_binary64
645×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
079
11507
220887
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 (/.f64 x y) (neg.f64 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 x y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 z (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x z) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x z) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x z) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x z) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) z) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (neg.f64 x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 x y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 x y) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 x y) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 x y) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 x y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 x y) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 x y) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 x y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 x y) z)))))))

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
46×fma-neg_binary64
24×sub-neg_binary64
18×div-sub_binary64
14×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
235324
369324
4114324
5162324
6202324
7238324
8275324
9394324
10445324
Stop Event
saturated
Counts
61 → 27
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 -1 (/.f64 z y))
0.1b
(*.f64 z (-.f64 -1 (/.f64 z y)))
Compiler

Compiled 21 to 10 computations (52.4% saved)

series6.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 z (-.f64 -1 (/.f64 z y)))
1.0ms
y
@-inf
(*.f64 z (-.f64 -1 (/.f64 z y)))
1.0ms
y
@0
(*.f64 z (-.f64 -1 (/.f64 z y)))
1.0ms
z
@inf
(*.f64 z (-.f64 -1 (/.f64 z y)))
1.0ms
z
@-inf
(*.f64 z (-.f64 -1 (/.f64 z y)))

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
852×pow1_binary64
791×add-log-exp_binary64
791×log1p-expm1-u_binary64
791×expm1-log1p-u_binary64
776×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115117
2206217
Stop Event
node limit
Counts
2 → 47
Calls
Call 1
Inputs
(*.f64 z (-.f64 -1 (/.f64 z y)))
(-.f64 -1 (/.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (*.f64 (/.f64 (neg.f64 z) y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z -1) (*.f64 z (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (-.f64 -1 (/.f64 z y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (pow.f64 (/.f64 z y) 3)) z) (+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 z y) 2)) z) (+.f64 -1 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 -1 (pow.f64 (/.f64 z y) 3))) (+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (/.f64 z y) 2))) (+.f64 -1 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 -1 (/.f64 z y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 -1 (/.f64 z y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 -1 (/.f64 z y))) z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 -1 (/.f64 z y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 -1 (/.f64 z y)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 -1 (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 -1 (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 -1 (/.f64 z y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 (/.f64 (neg.f64 z) y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (neg.f64 z) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (/.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 -1 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 -1 (/.f64 z y))) (pow.f64 (cbrt.f64 (-.f64 -1 (/.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 -1 (/.f64 z y))) 2) (cbrt.f64 (-.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 -1 (/.f64 z y))) (sqrt.f64 (-.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (pow.f64 (/.f64 z y) 3)) (/.f64 1 (+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 z y) 2)) (/.f64 1 (+.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y)))) (-.f64 -1 (pow.f64 (/.f64 z y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 -1 (/.f64 z y)) (-.f64 1 (pow.f64 (/.f64 z y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (pow.f64 (/.f64 z y) 3)) (+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 z y) 2)) (+.f64 -1 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (pow.f64 (/.f64 z y) 3))) (neg.f64 (+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 z y) 2))) (neg.f64 (+.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (/.f64 (neg.f64 z) y) 3)) (+.f64 1 (-.f64 (*.f64 (/.f64 (neg.f64 z) y) (/.f64 (neg.f64 z) y)) (*.f64 -1 (/.f64 (neg.f64 z) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (/.f64 (neg.f64 z) y) (/.f64 (neg.f64 z) y))) (-.f64 -1 (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 (/.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 -1 (/.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 -1 (/.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 -1 (/.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 -1 (/.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 -1 (/.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 -1 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 -1 (/.f64 z y))))))))

simplify78.0ms (1.2%)

Algorithm
egg-herbie
Rules
801×fma-neg_binary64
471×unswap-sqr_binary64
463×div-sub_binary64
365×distribute-rgt-neg-in_binary64
347×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
014435
136417
269399
3129363
4346363
51241363
64304363
77697363
Stop Event
node limit
Counts
95 → 58
Calls
Call 1
Inputs
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
-1
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(*.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(*.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(*.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
-1
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
-1
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
Outputs
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(/.f64 z (/.f64 y (neg.f64 z)))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(/.f64 z (/.f64 y (neg.f64 z)))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (*.f64 (neg.f64 z) z) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(/.f64 z (/.f64 y (neg.f64 z)))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(neg.f64 (fma.f64 z (/.f64 z y) z))
-1
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
-1
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
-1
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))
(-.f64 (*.f64 -1 (/.f64 z y)) 1)
(fma.f64 -1 (/.f64 z y) -1)
(-.f64 -1 (/.f64 z y))

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (/.f64 y z))
0.2b
(/.f64 1 (-.f64 1 (/.f64 y z)))
8.1b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
Compiler

Compiled 30 to 16 computations (46.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
0.0ms
y
@inf
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
0.0ms
y
@-inf
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
0.0ms
z
@inf
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
0.0ms
z
@0
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
951×pow1_binary64
884×add-log-exp_binary64
884×log1p-expm1-u_binary64
884×expm1-log1p-u_binary64
89×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
117510
2237810
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 y (-.f64 1 (/.f64 y z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 y z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 y) 2) (/.f64 (-.f64 1 (/.f64 y z)) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 y) (/.f64 (-.f64 1 (/.f64 y z)) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (sqrt.f64 (-.f64 1 (/.f64 y z)))) (sqrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y 1) (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (pow.f64 (cbrt.f64 (-.f64 1 (/.f64 y z))) 2)) (cbrt.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -1) (neg.f64 (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 y (-.f64 1 (/.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 y (-.f64 1 (/.f64 y z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 1 (/.f64 y z)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 y (-.f64 1 (/.f64 y z)))))))))

simplify61.0ms (0.9%)

Algorithm
egg-herbie
Rules
739×associate-/l*_binary64
510×fma-neg_binary64
501×fma-def_binary64
399×associate-/r*_binary64
320×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034444
1100426
2305408
31227354
47490354
Stop Event
node limit
Counts
48 → 39
Calls
Call 1
Inputs
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
Outputs
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (*.f64 (/.f64 y z) y))
(fma.f64 (/.f64 y z) y y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y)))
(+.f64 y (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) y y)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 y (+.f64 (/.f64 (*.f64 y y) z) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 (+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y))) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))
(+.f64 (fma.f64 (/.f64 y z) y y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z))))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 (/.f64 z (/.f64 y z))) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) (fma.f64 (/.f64 z y) z z)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (neg.f64 (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (neg.f64 (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (/.f64 (pow.f64 z 4) (pow.f64 y 3)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (+.f64 (/.f64 z y) 1)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 (/.f64 z (/.f64 y z))) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) (fma.f64 (/.f64 z y) z z)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (neg.f64 (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (neg.f64 (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (/.f64 (pow.f64 z 4) (pow.f64 y 3)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (+.f64 (/.f64 z y) 1)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 (/.f64 z (/.f64 y z))) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) (fma.f64 (/.f64 z y) z z)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (neg.f64 (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (neg.f64 (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (/.f64 (pow.f64 z 4) (pow.f64 y 3)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (+.f64 (/.f64 z y) 1)))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (*.f64 (/.f64 y z) y))
(fma.f64 (/.f64 y z) y y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y)))
(+.f64 y (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) y y)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 y (+.f64 (/.f64 (*.f64 y y) z) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 (+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y))) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))
(+.f64 (fma.f64 (/.f64 y z) y y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (*.f64 (/.f64 y z) y))
(fma.f64 (/.f64 y z) y y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y)))
(+.f64 y (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) y y)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 y (+.f64 (/.f64 (*.f64 y y) z) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 (+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y))) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))
(+.f64 (fma.f64 (/.f64 y z) y y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z))))

eval110.0ms (1.6%)

Compiler

Compiled 5027 to 2815 computations (44% saved)

prune65.0ms (1%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New3933396
Fresh358
Picked011
Done2810
Total39817415
Error
0b
Counts
415 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
53.5b
(/.f64 (*.f64 x (neg.f64 z)) y)
53.6b
y
41.2b
x
33.7b
(-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))
38.4b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
54.6b
(*.f64 (/.f64 (neg.f64 z) y) x)
40.7b
(neg.f64 z)
32.8b
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)
8.3b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
33.9b
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x))))
33.4b
(-.f64 (neg.f64 z) (*.f64 (/.f64 1 y) (*.f64 z x)))
53.8b
(+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z))))
32.8b
(/.f64 x (-.f64 1 (/.f64 y z)))
41.3b
(*.f64 z (-.f64 -1 (/.f64 z y)))
38.4b
(/.f64 y (-.f64 1 (/.f64 y z)))
62.2b
(*.f64 (/.f64 z y) x)
32.0b
(+.f64 y x)
Compiler

Compiled 164 to 111 computations (32.3% saved)

regimes228.0ms (3.4%)

Counts
37 → 3
Calls
Call 1
Inputs
x
y
x
x
(neg.f64 z)
(+.f64 y x)
(*.f64 (/.f64 z y) x)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 (/.f64 (neg.f64 z) y) x)
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 (neg.f64 x) (/.f64 z y))
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 x y) (neg.f64 z))
(/.f64 x (/.f64 (neg.f64 y) z))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 z (-.f64 -1 (/.f64 z y)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(/.f64 y (-.f64 1 (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))
(-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) y)
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) x)
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 1 y) (*.f64 z x)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(*.f64 (/.f64 1 (-.f64 1 (/.f64 y z))) (+.f64 x y))
(-.f64 (neg.f64 z) (*.f64 (/.f64 1 y) (*.f64 z (+.f64 z x))))
(+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (+.f64 y (*.f64 (*.f64 y (/.f64 y z)) (+.f64 1 (/.f64 y z)))) (/.f64 x (-.f64 1 (/.f64 y z))))
(*.f64 (/.f64 (+.f64 x y) (-.f64 1 (pow.f64 (/.f64 y z) 2))) (+.f64 1 (/.f64 y z)))
(-.f64 (neg.f64 z) (*.f64 (pow.f64 y -1/2) (/.f64 (*.f64 z (+.f64 z x)) (sqrt.f64 y))))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 1 (-.f64 1 (/.f64 y z)))))
Outputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
Calls

4 calls:

75.0ms
z
73.0ms
y
48.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
22.0ms
x
Results
ErrorSegmentsBranch
8.3b1x
2.9b3y
3.7b3z
0.1b3(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 329 to 138 computations (58.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
4.480061675179054e-255
0.0ms
-6.130710099904688e-267
-2.5476151645346756e-271
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes205.0ms (3%)

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

4 calls:

70.0ms
z
64.0ms
y
44.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
19.0ms
x
Results
ErrorSegmentsBranch
8.3b1x
2.9b3y
3.7b3z
0.1b3(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 244 to 102 computations (58.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
4.480061675179054e-255
0.0ms
-6.130710099904688e-267
-2.5476151645346756e-271
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes149.0ms (2.2%)

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

4 calls:

55.0ms
y
38.0ms
z
35.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
14.0ms
x
Results
ErrorSegmentsBranch
8.3b1x
3.0b3y
3.9b3z
0.1b3(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 178 to 75 computations (57.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
4.480061675179054e-255
0.0ms
-6.130710099904688e-267
-2.5476151645346756e-271
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes239.0ms (3.5%)

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

3 calls:

123.0ms
x
70.0ms
z
39.0ms
y
Results
ErrorSegmentsBranch
16.6b6x
13.0b3y
14.9b5z
Compiler

Compiled 157 to 63 computations (59.9% saved)

bsearch71.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.613914637093929e-64
1.0852684099576832e-56
36.0ms
-2.4438914743020444e-30
-7.731961436899739e-31
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes360.0ms (5.3%)

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

3 calls:

179.0ms
z
96.0ms
x
78.0ms
y
Results
ErrorSegmentsBranch
17.3b6x
15.6b4y
18.7b11z
Compiler

Compiled 106 to 45 computations (57.5% saved)

bsearch100.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
2.7069182788710137e+51
1.4859294020564273e+58
33.0ms
-3.5470999373193547e-7
-1.2543854015932808e-7
33.0ms
-1.788122082435576e+120
-5.9728789968025555e+118
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes221.0ms (3.3%)

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

3 calls:

130.0ms
z
56.0ms
x
29.0ms
y
Results
ErrorSegmentsBranch
19.4b6x
16.6b3y
20.0b9z
Compiler

Compiled 99 to 42 computations (57.6% saved)

bsearch41.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
2.7069182788710137e+51
1.4859294020564273e+58
20.0ms
-9.567327470886502e+79
-1.8010985754888495e+68
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes121.0ms (1.8%)

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

3 calls:

46.0ms
x
44.0ms
z
27.0ms
y
Results
ErrorSegmentsBranch
26.3b5x
16.9b3y
22.1b5z
Compiler

Compiled 92 to 38 computations (58.7% saved)

bsearch41.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
1.4859294020564273e+58
2.6348786483251898e+63
21.0ms
-4.395808124878851e+95
-6.034559195239231e+84
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes106.0ms (1.6%)

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

3 calls:

39.0ms
x
39.0ms
z
25.0ms
y
Results
ErrorSegmentsBranch
26.3b5x
17.0b3y
22.1b5z
Compiler

Compiled 71 to 28 computations (60.6% saved)

bsearch41.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
1.4859294020564273e+58
2.6348786483251898e+63
20.0ms
-4.395808124878851e+95
-6.034559195239231e+84
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes73.0ms (1.1%)

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

3 calls:

30.0ms
x
27.0ms
z
14.0ms
y
Results
ErrorSegmentsBranch
28.5b7x
22.8b3y
31.1b5z
Compiler

Compiled 21 to 13 computations (38.1% saved)

bsearch41.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
7.37320025760238e-30
9.847697805157666e-25
20.0ms
-2.4438914743020444e-30
-7.731961436899739e-31
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes32.0ms (0.5%)

Accuracy

Total -25.7b remaining (-70.4%)

Threshold costs -25.7b (-70.4%)

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

3 calls:

15.0ms
x
12.0ms
y
4.0ms
z
Results
ErrorSegmentsBranch
36.5b3x
39.4b2y
41.2b1z
Compiler

Compiled 19 to 12 computations (36.8% saved)

bsearch65.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
38.0ms
7.922498490892363e-234
1.5670600316956265e-229
26.0ms
-1.0209056636638623e-180
-8.248266477723467e-181
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
19×+-commutative_binary64
14×sub-neg_binary64
12×*-commutative_binary64
10×neg-sub0_binary64
10×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071449
189449
2116449
3141449
4155449
5161449
6162449
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x)))) (+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x)))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 y -3571751391151472128/1461501637330902918203684832716283019655932542976) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y))) (if (<=.f64 y 2392045410301325/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (+.f64 y x) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))))
(if (<=.f64 y -1788122082435576065826300897581963003328144936326964578072491195382273462102690953182402449425581541244296964635327725568) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y -837535292769297/2361183241434822606848) (/.f64 y (-.f64 1 (/.f64 y z))) (if (<=.f64 y 2706918278871013654652727822414069929797769119137792) (/.f64 x (-.f64 1 (/.f64 y z))) (neg.f64 z))))
(if (<=.f64 y -95673274708865019077333846250523777426315559434264764714444751449483980167970816) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y 2706918278871013654652727822414069929797769119137792) (/.f64 x (-.f64 1 (/.f64 y z))) (neg.f64 z)))
(if (<=.f64 y -439580812487885078666989207570670574764020096661822718594545492283095908367806100116061059809280) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y 14859294020564272868564154557265195126986929162825276325888) (+.f64 y x) (neg.f64 z)))
(if (<=.f64 y -439580812487885078666989207570670574764020096661822718594545492283095908367806100116061059809280) (neg.f64 z) (if (<=.f64 y 14859294020564272868564154557265195126986929162825276325888) (+.f64 y x) (neg.f64 z)))
(if (<=.f64 y -3571751391151472128/1461501637330902918203684832716283019655932542976) (neg.f64 z) (if (<=.f64 y 10775944248854513664/1461501637330902918203684832716283019655932542976) x (neg.f64 z)))
(if (<=.f64 x -2384804590930201/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) x (if (<=.f64 x 226891673074929248/28638903918474961204418783933674838490721739172170652529441449702311064005352904159345284265824628375429359509218999720074396860757073376700445026041564579620512874307979212102266801261478978776245040008231745247475930553606737583615358787106474295296) y x))
x
Outputs
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x)))) (+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 x z)))) (+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 z x)))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (/.f64 z (/.f64 y (+.f64 x z)))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1452164949685335/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 y -3571751391151472128/1461501637330902918203684832716283019655932542976) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y))) (if (<=.f64 y 2392045410301325/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (+.f64 y x) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))))
(if (<=.f64 y -6976076935842719/2854495385411919762116571938898990272765493248) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y))) (if (<=.f64 y 2392045410301325/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (+.f64 x y) (-.f64 (neg.f64 z) (*.f64 z (/.f64 x y)))))
(if (<=.f64 y -1788122082435576065826300897581963003328144936326964578072491195382273462102690953182402449425581541244296964635327725568) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y -837535292769297/2361183241434822606848) (/.f64 y (-.f64 1 (/.f64 y z))) (if (<=.f64 y 2706918278871013654652727822414069929797769119137792) (/.f64 x (-.f64 1 (/.f64 y z))) (neg.f64 z))))
(if (<=.f64 y -95673274708865019077333846250523777426315559434264764714444751449483980167970816) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y 2706918278871013654652727822414069929797769119137792) (/.f64 x (-.f64 1 (/.f64 y z))) (neg.f64 z)))
(if (<=.f64 y -439580812487885078666989207570670574764020096661822718594545492283095908367806100116061059809280) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y 14859294020564272868564154557265195126986929162825276325888) (+.f64 y x) (neg.f64 z)))
(if (<=.f64 y -439580812487885078666989207570670574764020096661822718594545492283095908367806100116061059809280) (*.f64 z (-.f64 -1 (/.f64 z y))) (if (<=.f64 y 14859294020564272868564154557265195126986929162825276325888) (+.f64 x y) (neg.f64 z)))
(if (<=.f64 y -439580812487885078666989207570670574764020096661822718594545492283095908367806100116061059809280) (neg.f64 z) (if (<=.f64 y 14859294020564272868564154557265195126986929162825276325888) (+.f64 y x) (neg.f64 z)))
(if (<=.f64 y -439580812487885078666989207570670574764020096661822718594545492283095908367806100116061059809280) (neg.f64 z) (if (<=.f64 y 14859294020564272868564154557265195126986929162825276325888) (+.f64 x y) (neg.f64 z)))
(if (<=.f64 y -3571751391151472128/1461501637330902918203684832716283019655932542976) (neg.f64 z) (if (<=.f64 y 10775944248854513664/1461501637330902918203684832716283019655932542976) x (neg.f64 z)))
(if (<=.f64 y -6976076935842719/2854495385411919762116571938898990272765493248) (neg.f64 z) (if (<=.f64 y 5261691527760993/713623846352979940529142984724747568191373312) x (neg.f64 z)))
(if (<=.f64 x -2384804590930201/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) x (if (<=.f64 x 226891673074929248/28638903918474961204418783933674838490721739172170652529441449702311064005352904159345284265824628375429359509218999720074396860757073376700445026041564579620512874307979212102266801261478978776245040008231745247475930553606737583615358787106474295296) y x))
(if (<=.f64 x -2384804590930201/2335969596222563951944279862118549158345332995711262684456546569164428885610842821891027359394494156686664862501680336543072616817344224255105362595697773664385021273272455654442431586430261133312) x (if (<=.f64 x 7090364783591539/894965747452342537638086997927338702835054349130332891545045303197220750167278254979540133307019636732167484663093741252324901898658543021888907063798893113141027322124350378195837539421218086757657500257242038983622829800210549487979962097077321728) y x))
x
Compiler

Compiled 339 to 191 computations (43.7% saved)

soundness203.0ms (3%)

Algorithm
egg-herbie
Rules
660×fma-def_binary64
660×fma-def_binary64
491×times-frac_binary64
491×times-frac_binary64
434×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01171157
13791111
21335950
36742940
01171157
13791111
21335950
36742940
Stop Event
node limit
node limit
Compiler

Compiled 286 to 192 computations (32.9% saved)

end210.0ms (3.1%)

Compiler

Compiled 309 to 135 computations (56.3% saved)

Profiling

Loading profile data...