Details

Time bar (total: 5.3s)

analyze542.0ms (10.2%)

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
0%99.9%0.1%6
0%99.9%0.1%7
0%99.9%0.1%8
1.6%97.5%0.9%9
18.7%79.2%2.1%10
21.8%74.7%3.5%11
26.5%68.8%4.6%12
Compiler

Compiled 13 to 8 computations (38.5% saved)

sample1.7s (31.8%)

Results
1.4s8256×body256valid
276.0ms1699×body256invalid

preprocess63.0ms (1.2%)

Algorithm
egg-herbie
Rules
916×fma-def_binary64
686×div-sub_binary64
614×sub-neg_binary64
435×unsub-neg_binary64
271×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02052
13544
27744
317344
431444
566244
6131944
7271944
8558944
9758244
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(/.f64 (+.f64 y (*.f64 x (-.f64 z y))) z)
(/.f64 (+.f64 z (*.f64 y (-.f64 x z))) x)
(/.f64 (+.f64 x (*.f64 z (-.f64 y x))) y)
Outputs
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(/.f64 (fma.f64 y (-.f64 z x) x) z)
(/.f64 (+.f64 y (*.f64 x (-.f64 z y))) z)
(/.f64 (fma.f64 x (-.f64 z y) y) z)
(/.f64 (+.f64 z (*.f64 y (-.f64 x z))) x)
(/.f64 (fma.f64 y (-.f64 x z) z) x)
(/.f64 (+.f64 x (*.f64 z (-.f64 y x))) y)
(/.f64 (fma.f64 z (-.f64 y x) x) y)
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify81.0ms (1.5%)

Algorithm
egg-herbie
Rules
2060×fma-neg_binary64
388×div-sub_binary64
368×associate-/l*_binary64
322×distribute-neg-frac_binary64
319×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0813
11211
22511
35311
410111
517511
629911
758011
8163511
9470911
10610111
11664511
12703411
13722611
14740611
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
Outputs
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(/.f64 (fma.f64 y (-.f64 z x) x) z)

eval1.0ms (0%)

Compiler

Compiled 20 to 9 computations (55% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 12 to 7 computations (41.7% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 7 computations (76.7% saved)

series7.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite65.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
506×log-prod_binary64
380×fma-def_binary64
377×exp-prod_binary64
375×pow-prod-down_binary64
266×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify72.0ms (1.3%)

Algorithm
egg-herbie
Rules
1002×fma-neg_binary64
501×fma-def_binary64
370×distribute-rgt-neg-out_binary64
352×neg-sub0_binary64
338×neg-mul-1_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038468
189435
2193354
3401354
4892354
52081354
63539354
75582354
87355354
97895354
Stop Event
node limit
Counts
83 → 62
Calls
Call 1
Inputs
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(/.f64 x z)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(/.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
Outputs
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (+.f64 1 (neg.f64 y)) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(/.f64 (+.f64 1 (neg.f64 y)) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(/.f64 x z)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(*.f64 y (/.f64 (-.f64 z x) z))
(*.f64 y (-.f64 1 (/.f64 x z)))
(-.f64 y (/.f64 (*.f64 y x) z))
(fma.f64 (/.f64 y (neg.f64 z)) x y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(*.f64 y (/.f64 (-.f64 z x) z))
(*.f64 y (-.f64 1 (/.f64 x z)))
(-.f64 y (/.f64 (*.f64 y x) z))
(fma.f64 (/.f64 y (neg.f64 z)) x y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(/.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) z)
(/.f64 (+.f64 1 (neg.f64 y)) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x y)
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 (-.f64 1 y) (/.f64 x z) y)

eval12.0ms (0.2%)

Compiler

Compiled 818 to 243 computations (70.3% saved)

prune16.0ms (0.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New55762
Fresh000
Picked011
Done000
Total55863
Error
0b
Counts
63 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
11.1b
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
12.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y (-.f64 z x) x)) z))
3.6b
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
30.8b
(*.f64 (-.f64 1 y) (/.f64 x z))
32.5b
y
34.9b
(/.f64 (*.f64 y (-.f64 z x)) z)
0.0b
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
39.3b
(/.f64 x z)
Compiler

Compiled 176 to 106 computations (39.8% saved)

localize12.0ms (0.2%)

Local error

Found 6 expressions with local error:

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

Compiled 33 to 14 computations (57.6% saved)

series13.0ms (0.2%)

Counts
3 → 81
Calls

24 calls:

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

rewrite72.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
500×log-prod_binary64
378×exp-prod_binary64
335×pow-prod-down_binary64
320×fma-def_binary64
270×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify74.0ms (1.4%)

Algorithm
egg-herbie
Rules
508×fma-neg_binary64
341×fma-def_binary64
109×distribute-rgt-in_binary64
105×cancel-sign-sub-inv_binary64
97×unsub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036806
189759
2203759
3434726
4930678
51805678
62389678
72468678
82474678
92474678
Stop Event
saturated
Counts
252 → 193
Calls
Call 1
Inputs
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(/.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(/.f64 x z)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
1
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(*.f64 -1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(*.f64 -1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(*.f64 -1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
1
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
1
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
Outputs
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(/.f64 (neg.f64 (*.f64 y x)) z)
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 y (/.f64 (neg.f64 x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(/.f64 (neg.f64 (*.f64 y x)) z)
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 y (/.f64 (neg.f64 x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(/.f64 (neg.f64 (*.f64 y x)) z)
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 y (/.f64 (neg.f64 x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(*.f64 x (fma.f64 -1 (/.f64 y z) (/.f64 1 z)))
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x))
(*.f64 x (fma.f64 -1 (/.f64 y z) (/.f64 1 z)))
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(/.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) z)
(*.f64 x (fma.f64 -1 (/.f64 y z) (/.f64 1 z)))
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
y
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(/.f64 x z)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(fma.f64 (fma.f64 -1 (/.f64 y z) (/.f64 1 z)) x y)
(fma.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)) y)
(+.f64 y (*.f64 (/.f64 x z) (-.f64 1 y)))
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
1
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(*.f64 -1 (/.f64 x z))
(/.f64 (neg.f64 x) z)
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(*.f64 -1 (/.f64 x z))
(/.f64 (neg.f64 x) z)
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(*.f64 -1 (/.f64 x z))
(/.f64 (neg.f64 x) z)
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
1
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
1
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))
(+.f64 1 (*.f64 -1 (/.f64 x z)))
(-.f64 1 (/.f64 x z))

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series9.0ms (0.2%)

Counts
1 → 24
Calls

9 calls:

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

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
985×pow1_binary64
918×add-log-exp_binary64
918×log1p-expm1-u_binary64
918×expm1-log1p-u_binary64
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify36.0ms (0.7%)

Algorithm
egg-herbie
Rules
367×fma-def_binary64
199×fma-neg_binary64
73×cancel-sign-sub-inv_binary64
56×distribute-rgt-in_binary64
48×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09228
118210
240210
379210
4139210
5274210
6456210
7698210
81071210
91478210
101492210
111506210
121511210
Stop Event
saturated
Counts
66 → 47
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(fma.f64 -1 (/.f64 y (/.f64 z x)) y)
(-.f64 y (*.f64 (/.f64 y z) x))
(-.f64 y (/.f64 x (/.f64 z y)))
(-.f64 y (/.f64 (*.f64 y x) z))

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
3.2b
(*.f64 (-.f64 1 y) (/.f64 x z))
3.2b
(*.f64 (-.f64 1 y) (/.f64 x z))
Compiler

Compiled 20 to 10 computations (50% saved)

series5.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite52.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
953×pow1_binary64
885×add-log-exp_binary64
885×log1p-expm1-u_binary64
885×expm1-log1p-u_binary64
867×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify41.0ms (0.8%)

Algorithm
egg-herbie
Rules
708×fma-def_binary64
259×fma-neg_binary64
92×cancel-sign-sub-inv_binary64
85×distribute-rgt-in_binary64
73×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
014484
129451
262451
3120352
4271352
5510352
61135352
71650352
82223352
92287352
Stop Event
saturated
Counts
76 → 45
Calls
Call 1
Inputs
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
Outputs
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 x z)) y)
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 y (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 x z)) y)
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 y (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))

localize19.0ms (0.4%)

Local error

Found 6 expressions with local error:

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

Compiled 52 to 28 computations (46.2% saved)

series15.0ms (0.3%)

Counts
3 → 66
Calls

24 calls:

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

rewrite75.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
594×log-prod_binary64
481×fma-def_binary64
313×pow2_binary64
276×fma-neg_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify58.0ms (1.1%)

Algorithm
egg-herbie
Rules
830×fma-def_binary64
491×fma-neg_binary64
117×distribute-rgt-in_binary64
86×unsub-neg_binary64
82×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037801
196713
2215587
3459587
4925587
51874587
62647587
72728587
82729587
Stop Event
saturated
Counts
240 → 197
Calls
Call 1
Inputs
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(/.f64 1 z)
(*.f64 -1 (/.f64 y z))
(*.f64 -1 (/.f64 y z))
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(/.f64 x z)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
y
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
y
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
y
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
Outputs
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (*.f64 y (neg.f64 x)) z)
(*.f64 x (neg.f64 (/.f64 y z)))
(*.f64 (/.f64 x z) (neg.f64 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (*.f64 y (neg.f64 x)) z)
(*.f64 x (neg.f64 (/.f64 y z)))
(*.f64 (/.f64 x z) (neg.f64 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(/.f64 1 z)
(*.f64 -1 (/.f64 y z))
(/.f64 (neg.f64 y) z)
(neg.f64 (/.f64 y z))
(*.f64 -1 (/.f64 y z))
(/.f64 (neg.f64 y) z)
(neg.f64 (/.f64 y z))
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(*.f64 -1 (/.f64 (-.f64 y 1) z))
(/.f64 (+.f64 1 (neg.f64 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 x z)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (-.f64 1 (/.f64 x z)))
(-.f64 y (*.f64 (/.f64 x z) y))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (-.f64 1 (/.f64 x z)))
(-.f64 y (*.f64 (/.f64 x z) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
y
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
y
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(fma.f64 y (+.f64 1 (neg.f64 (/.f64 x z))) (/.f64 x z))
(fma.f64 y (-.f64 1 (/.f64 x z)) (/.f64 x z))
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
(fma.f64 x (/.f64 (-.f64 1 y) z) y)
y
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (/.f64 y (/.f64 z x)))
(*.f64 (/.f64 x z) (-.f64 1 y))

eval134.0ms (2.5%)

Compiler

Compiled 7702 to 3666 computations (52.4% saved)

prune73.0ms (1.4%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New4757482
Fresh112
Picked101
Done325
Total48010490
Error
0b
Counts
490 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
30.8b
(*.f64 (-.f64 1 y) (/.f64 x z))
23.8b
(*.f64 (-.f64 1 (/.f64 x z)) y)
30.9b
(/.f64 (-.f64 1 y) (/.f64 z x))
26.0b
(*.f64 (/.f64 (-.f64 z x) (pow.f64 (cbrt.f64 z) 2)) (/.f64 y (cbrt.f64 z)))
32.5b
y
30.8b
(*.f64 (/.f64 y z) (-.f64 z x))
53.9b
(*.f64 y (neg.f64 (/.f64 x z)))
54.8b
(neg.f64 (/.f64 (*.f64 y x) z))
39.3b
(/.f64 x z)
9.1b
(+.f64 (/.f64 x z) y)
Compiler

Compiled 164 to 108 computations (34.1% saved)

localize5.0ms (0.1%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 6 computations (70% saved)

series5.0ms (0.1%)

Counts
1 → 0
Calls

9 calls:

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

rewrite45.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
712×pow1_binary64
659×add-log-exp_binary64
659×log1p-expm1-u_binary64
659×expm1-log1p-u_binary64
644×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
41 → 41
Calls
Call 1
Inputs
Outputs

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 6 computations (68.4% saved)

series3.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite46.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
692×pow1_binary64
638×add-log-exp_binary64
637×log1p-expm1-u_binary64
637×expm1-log1p-u_binary64
624×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify27.0ms (0.5%)

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
56 → 22
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (/.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (/.f64 x z))

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 6 computations (68.4% saved)

series3.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite51.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
979×pow1_binary64
912×add-log-exp_binary64
912×log1p-expm1-u_binary64
912×expm1-log1p-u_binary64
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify90.0ms (1.7%)

Algorithm
egg-herbie
Rules
1811×fma-neg_binary64
802×div-sub_binary64
477×associate-/l/_binary64
442×associate-/r/_binary64
420×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012330
126330
258330
3121330
4246330
5501330
6869330
72035330
84705330
96163330
106551330
116699330
126733330
137935330
Stop Event
node limit
Counts
78 → 47
Calls
Call 1
Inputs
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
Outputs
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(/.f64 (*.f64 y (-.f64 z x)) z)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 (neg.f64 y) z) x)
(*.f64 x (/.f64 (neg.f64 y) z))
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 x (/.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 (neg.f64 y) z) x)
(*.f64 x (/.f64 (neg.f64 y) z))
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 x (/.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 (neg.f64 y) z) x)
(*.f64 x (/.f64 (neg.f64 y) z))
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 x (/.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(/.f64 y (/.f64 z (-.f64 z x)))
(*.f64 (/.f64 y z) (-.f64 z x))
(/.f64 (-.f64 z x) (/.f64 z y))
(*.f64 y (/.f64 (-.f64 z x) z))
(-.f64 y (*.f64 y (/.f64 x z)))
(fma.f64 x (/.f64 (neg.f64 y) z) y)
(fma.f64 x (/.f64 y (neg.f64 z)) y)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 10 computations (50% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite119.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
495×log-prod_binary64
456×prod-diff_binary64
392×exp-prod_binary64
299×egg-rr
262×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify47.0ms (0.9%)

Algorithm
egg-herbie
Rules
708×fma-def_binary64
259×fma-neg_binary64
92×cancel-sign-sub-inv_binary64
85×distribute-rgt-in_binary64
73×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
014484
129451
262451
3120352
4271352
5510352
61135352
71650352
82223352
92287352
Stop Event
saturated
Counts
335 → 304
Calls
Call 1
Inputs
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
Outputs
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 x z)) y)
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 y (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 y (/.f64 z x)))
(/.f64 (neg.f64 y) (/.f64 z x))
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 (neg.f64 (/.f64 x z)) y)
(*.f64 y (/.f64 (neg.f64 x) z))
(*.f64 y (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(fma.f64 -1 (/.f64 y (/.f64 z x)) (/.f64 x z))
(-.f64 (/.f64 x z) (*.f64 (/.f64 y z) x))
(-.f64 (/.f64 x z) (*.f64 x (/.f64 y z)))
(/.f64 (fma.f64 y (neg.f64 x) x) z)
(*.f64 x (/.f64 (-.f64 1 y) z))

eval175.0ms (3.3%)

Compiler

Compiled 12596 to 4345 computations (65.5% saved)

prune71.0ms (1.3%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New4113414
Fresh123
Picked011
Done066
Total41212424
Error
0b
Counts
424 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
53.9b
(*.f64 y (neg.f64 (/.f64 x z)))
62.0b
(/.f64 y (/.f64 z x))
30.8b
(*.f64 (-.f64 1 y) (/.f64 x z))
23.8b
(*.f64 (-.f64 1 (/.f64 x z)) y)
30.9b
(/.f64 (-.f64 1 y) (/.f64 z x))
32.5b
y
56.2b
(neg.f64 (*.f64 (/.f64 y z) x))
30.8b
(*.f64 (/.f64 y z) (-.f64 z x))
54.8b
(neg.f64 (/.f64 (*.f64 y x) z))
39.3b
(/.f64 x z)
31.8b
(*.f64 (/.f64 1 z) (/.f64 (-.f64 1 y) (/.f64 1 x)))
9.1b
(+.f64 (/.f64 x z) y)
Compiler

Compiled 107 to 73 computations (31.8% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 34 to 23 computations (32.4% saved)

series5.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite86.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
583×log-prod_binary64
401×pow-prod-down_binary64
291×pow2_binary64
276×prod-diff_binary64
224×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify50.0ms (0.9%)

Algorithm
egg-herbie
Rules
779×fma-def_binary64
286×fma-neg_binary64
89×cancel-sign-sub-inv_binary64
80×distribute-rgt-in_binary64
79×distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017533
136512
277512
3146512
4308512
5609512
61383512
71819512
82346512
92364512
Stop Event
saturated
Counts
250 → 201
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
Outputs
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(/.f64 (neg.f64 (*.f64 y x)) z)
(/.f64 (*.f64 y (neg.f64 x)) z)
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 y) z))
(*.f64 y (/.f64 (neg.f64 x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(/.f64 (neg.f64 (*.f64 y x)) z)
(/.f64 (*.f64 y (neg.f64 x)) z)
(*.f64 (/.f64 y z) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 y) z))
(*.f64 y (/.f64 (neg.f64 x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (-.f64 1 y) (/.f64 z x))
(*.f64 (/.f64 (-.f64 1 y) z) x)
(*.f64 x (/.f64 (-.f64 1 y) z))
(*.f64 (-.f64 1 y) (/.f64 x z))
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(+.f64 x (*.f64 -1 (*.f64 y x)))
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(fma.f64 -1 (*.f64 y x) x)
(-.f64 x (*.f64 y x))

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 6 computations (70% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite43.0ms (0.8%)

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 y z) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 y z) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 z (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y x) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y x) 1) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y x) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y x) (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 y)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 y z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 y z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 y z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 y z) 3) (pow.f64 x 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 log1p.f64 (expm1.f64 (*.f64 (/.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 y z) 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 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
Outputs
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 22 to 10 computations (54.5% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
3.3b
(/.f64 y (/.f64 z x))
3.3b
(/.f64 y (/.f64 z x))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
780×pow1_binary64
724×add-log-exp_binary64
724×log1p-expm1-u_binary64
724×expm1-log1p-u_binary64
707×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

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
77 → 42
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
Outputs
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(*.f64 y (/.f64 x z))

eval133.0ms (2.5%)

Compiler

Compiled 6540 to 3421 computations (47.7% saved)

prune103.0ms (1.9%)

Pruning

13 alts after pruning (2 fresh and 11 done)

PrunedKeptTotal
New3692371
Fresh101
Picked011
Done01010
Total37013383
Error
0b
Counts
383 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
39.4b
(*.f64 (/.f64 1 z) x)
30.9b
(/.f64 (-.f64 1 y) (/.f64 z x))
53.9b
(*.f64 y (neg.f64 (/.f64 x z)))
62.0b
(/.f64 y (/.f64 z x))
32.5b
y
30.8b
(*.f64 (-.f64 1 y) (/.f64 x z))
23.8b
(*.f64 (-.f64 1 (/.f64 x z)) y)
56.2b
(neg.f64 (*.f64 (/.f64 y z) x))
30.8b
(*.f64 (/.f64 y z) (-.f64 z x))
54.8b
(neg.f64 (/.f64 (*.f64 y x) z))
39.3b
(/.f64 x z)
31.8b
(*.f64 (/.f64 1 z) (/.f64 (-.f64 1 y) (/.f64 1 x)))
9.1b
(+.f64 (/.f64 x z) y)
Compiler

Compiled 115 to 79 computations (31.3% saved)

regimes99.0ms (1.9%)

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

3 calls:

44.0ms
y
21.0ms
z
10.0ms
x
Results
ErrorSegmentsBranch
9.1b1x
0.6b3y
5.1b3z
Compiler

Compiled 91 to 46 computations (49.5% saved)

bsearch52.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
1.7229580673675116e-6
0.0009957184647091941
27.0ms
-19383.412398030163
-5.665377932167769e-8
Compiler

Compiled 18 to 12 computations (33.3% saved)

regimes36.0ms (0.7%)

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

3 calls:

21.0ms
y
6.0ms
x
6.0ms
z
Results
ErrorSegmentsBranch
9.1b1x
4.1b3y
9.1b1z
Compiler

Compiled 59 to 29 computations (50.8% saved)

bsearch39.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
1.7229580673675116e-6
0.0009957184647091941
19.0ms
-19383.412398030163
-5.665377932167769e-8
Compiler

Compiled 18 to 12 computations (33.3% saved)

regimes45.0ms (0.8%)

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

3 calls:

32.0ms
y
6.0ms
x
5.0ms
z
Results
ErrorSegmentsBranch
9.1b1x
7.8b3y
9.1b1z
Compiler

Compiled 52 to 27 computations (48.1% saved)

bsearch108.0ms (2%)

Algorithm
binary-search
Steps
TimeLeftRight
89.0ms
2.393034826027893e+106
1.4142000082633559e+107
19.0ms
2.282677092856716e+41
2.5053394384529237e+42
Compiler

Compiled 108 to 78 computations (27.8% saved)

regimes27.0ms (0.5%)

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

3 calls:

15.0ms
y
5.0ms
x
5.0ms
z
Results
ErrorSegmentsBranch
9.1b1x
8.1b3y
9.1b1z
Compiler

Compiled 46 to 25 computations (45.7% saved)

bsearch110.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
91.0ms
2.393034826027893e+106
1.4142000082633559e+107
19.0ms
2.282677092856716e+41
2.5053394384529237e+42
Compiler

Compiled 108 to 78 computations (27.8% saved)

regimes35.0ms (0.7%)

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

3 calls:

24.0ms
x
5.0ms
z
5.0ms
y
Results
ErrorSegmentsBranch
9.1b1x
9.1b1y
9.1b1z
Compiler

Compiled 34 to 19 computations (44.1% saved)

regimes49.0ms (0.9%)

Accuracy

Total -43.2b remaining (-232.3%)

Threshold costs -43.2b (-232.3%)

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

3 calls:

21.0ms
y
18.0ms
z
9.0ms
x
Results
ErrorSegmentsBranch
24.8b3x
18.6b3y
22.1b5z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch58.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
39.0ms
4.4635196732403896e-38
6.026751780262634e-38
19.0ms
-2.3814539032587573e-83
-3.8631150700064365e-84
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040162
160162
280162
391162
496162
597162
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 y -5328071829402911/274877906944) (*.f64 (-.f64 1 (/.f64 x z)) y) (if (<=.f64 y 8136439428726197/4722366482869645213696) (+.f64 (/.f64 x z) y) (*.f64 (-.f64 1 (/.f64 x z)) y)))
(if (<=.f64 y -5328071829402911/274877906944) (*.f64 (/.f64 y z) (-.f64 z x)) (if (<=.f64 y 8136439428726197/4722366482869645213696) (+.f64 (/.f64 x z) y) (*.f64 (/.f64 y z) (-.f64 z x))))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 (/.f64 x z) y) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (*.f64 y (neg.f64 (/.f64 x z))) y))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 (/.f64 x z) y) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (neg.f64 (/.f64 (*.f64 y x) z)) y))
(+.f64 (/.f64 x z) y)
(if (<=.f64 y -3255522984962531/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) y (if (<=.f64 y 8550404994760083/191561942608236107294793378393788647952342390272950272) (/.f64 x z) y))
y
Outputs
(if (<=.f64 y -5328071829402911/274877906944) (*.f64 (-.f64 1 (/.f64 x z)) y) (if (<=.f64 y 8136439428726197/4722366482869645213696) (+.f64 (/.f64 x z) y) (*.f64 (-.f64 1 (/.f64 x z)) y)))
(if (<=.f64 y -5328071829402911/274877906944) (*.f64 y (-.f64 1 (/.f64 x z))) (if (<=.f64 y 8136439428726197/4722366482869645213696) (+.f64 y (/.f64 x z)) (*.f64 y (-.f64 1 (/.f64 x z)))))
(if (<=.f64 y -5328071829402911/274877906944) (*.f64 (/.f64 y z) (-.f64 z x)) (if (<=.f64 y 8136439428726197/4722366482869645213696) (+.f64 (/.f64 x z) y) (*.f64 (/.f64 y z) (-.f64 z x))))
(if (<=.f64 y -5328071829402911/274877906944) (*.f64 (/.f64 y z) (-.f64 z x)) (if (<=.f64 y 8136439428726197/4722366482869645213696) (+.f64 y (/.f64 x z)) (*.f64 (/.f64 y z) (-.f64 z x))))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 (/.f64 x z) y) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (*.f64 y (neg.f64 (/.f64 x z))) y))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 y (/.f64 x z)) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (*.f64 y (/.f64 (neg.f64 x) z)) y))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 (/.f64 x z) y) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (neg.f64 (/.f64 (*.f64 y x) z)) y))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 y (/.f64 x z)) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (/.f64 (neg.f64 (*.f64 y x)) z) y))
(if (<=.f64 y 228267709285671593431305388437196475727872) (+.f64 y (/.f64 x z)) (if (<=.f64 y 24000000000000000555235196141253571236294345156709148530534382766869166439930842481664992423430504310636544) (/.f64 (*.f64 y (neg.f64 x)) z) y))
(+.f64 (/.f64 x z) y)
(+.f64 y (/.f64 x z))
(if (<=.f64 y -3255522984962531/136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940864) y (if (<=.f64 y 8550404994760083/191561942608236107294793378393788647952342390272950272) (/.f64 x z) y))
y

end75.0ms (1.4%)

Stop Event
fuel
Compiler

Compiled 250 to 126 computations (49.6% saved)

Profiling

Loading profile data...