Details

Time bar (total: 4.4s)

analyze803.0ms (18.3%)

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
3.1%96.7%0.1%8
14%84.3%1.7%9
19.5%76.5%4%10
25.4%70.6%4%11
38.8%54.2%7%12
44.4%46.6%9%13
48.8%42.2%9%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample969.0ms (22.1%)

Results
875.0ms8256×body128valid
80.0ms828×body128invalid

preprocess40.0ms (0.9%)

Algorithm
egg-herbie
Rules
786×div-sub_binary64
434×fma-def_binary64
235×distribute-neg-frac_binary64
235×times-frac_binary64
201×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
13540
28340
320940
444940
5110040
6356240
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 z)) y)
(/.f64 (*.f64 y (-.f64 x z)) x)
(/.f64 (*.f64 z (-.f64 y x)) y)
(/.f64 (*.f64 x (-.f64 z y)) z)
Outputs
(/.f64 (*.f64 x (-.f64 y z)) y)
(/.f64 x (/.f64 y (-.f64 y z)))
(*.f64 (/.f64 x y) (-.f64 y z))
(*.f64 (-.f64 y z) (/.f64 x y))
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(/.f64 (*.f64 y (-.f64 x z)) x)
(/.f64 y (/.f64 x (-.f64 x z)))
(*.f64 (/.f64 y x) (-.f64 x z))
(*.f64 (-.f64 x z) (/.f64 y x))
(/.f64 (-.f64 x z) (/.f64 x y))
(fma.f64 z (/.f64 (neg.f64 y) x) y)
(/.f64 (*.f64 z (-.f64 y x)) y)
(/.f64 z (/.f64 y (-.f64 y x)))
(*.f64 (/.f64 z y) (-.f64 y x))
(*.f64 (-.f64 y x) (/.f64 z y))
(*.f64 z (/.f64 (-.f64 y x) y))
(*.f64 z (-.f64 1 (/.f64 x y)))
(/.f64 (*.f64 x (-.f64 z y)) z)
(/.f64 x (/.f64 z (-.f64 z y)))
(*.f64 (/.f64 x z) (-.f64 z y))
(*.f64 (-.f64 z y) (/.f64 x z))
(*.f64 x (-.f64 1 (/.f64 y z)))
(-.f64 x (/.f64 x (/.f64 z y)))
Compiler

Compiled 10 to 6 computations (40% saved)

simplify19.0ms (0.4%)

Algorithm
egg-herbie
Rules
816×fma-def_binary64
463×associate-/l*_binary64
368×associate-*l/_binary64
316×associate-/r*_binary64
286×associate-/l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11210
22710
36210
413410
524210
644310
7126510
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 x (-.f64 y z)) y)
Outputs
(/.f64 (*.f64 x (-.f64 y z)) y)
(/.f64 x (/.f64 y (-.f64 y z)))
(*.f64 (/.f64 x y) (-.f64 y z))
(*.f64 (-.f64 y z) (/.f64 x y))
(*.f64 x (/.f64 (-.f64 y z) y))
(-.f64 x (/.f64 z (/.f64 y x)))

eval1.0ms (0%)

Compiler

Compiled 17 to 9 computations (47.1% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
5.3b
(-.f64 x (/.f64 z (/.f64 y x)))
12.2b
(/.f64 (*.f64 x (-.f64 y z)) y)
Compiler

Compiled 40 to 24 computations (40% saved)

localize22.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 z (/.f64 y x)))
7.0b
(/.f64 z (/.f64 y x))

series9.0ms (0.2%)

Counts
2 → 72
Calls

18 calls:

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

rewrite99.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
697×prod-diff_binary64
239×fma-def_binary64
201×egg-rr
158×expm1-udef_binary64
158×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify65.0ms (1.5%)

Algorithm
egg-herbie
Rules
380×fma-def_binary64
179×fma-neg_binary64
55×cancel-sign-sub-inv_binary64
47×associate-*r*_binary64
44×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016582
135582
266582
3116582
4224582
5410582
6777582
71053582
81243582
91362582
101376582
111381582
Stop Event
saturated
Counts
315 → 252
Calls
Call 1
Inputs
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
Outputs
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))

eval98.0ms (2.2%)

Compiler

Compiled 6726 to 2215 computations (67.1% saved)

prune707.0ms (16.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2484252
Fresh101
Picked011
Done000
Total2495254
Error
0.0b
Counts
254 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
3.7b
(-.f64 x (pow.f64 (/.f64 y (*.f64 z x)) -1))
3.6b
(-.f64 x (/.f64 (*.f64 z x) y))
5.5b
(fma.f64 z (neg.f64 (/.f64 x y)) x)
5.3b
(-.f64 x (/.f64 z (/.f64 y x)))
3.8b
(fma.f64 (neg.f64 (/.f64 z y)) x x)
Compiler

Compiled 94 to 58 computations (38.3% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 (*.f64 z x) y))
4.7b
(/.f64 (*.f64 z x) y)

series7.0ms (0.2%)

Counts
2 → 36
Calls

18 calls:

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

rewrite50.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
915×log1p-expm1-u_binary64
915×expm1-log1p-u_binary64
85×add-sqr-sqrt_binary64
84×*-un-lft-identity_binary64
84×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.9%)

Algorithm
egg-herbie
Rules
380×fma-def_binary64
179×fma-neg_binary64
54×cancel-sign-sub-inv_binary64
46×associate-*r*_binary64
44×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016330
135330
266330
3116330
4224330
5410330
6776330
71051330
81240330
91359330
101373330
111378330
Stop Event
saturated
Counts
116 → 87
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
Outputs
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(-.f64 x (/.f64 z (/.f64 y x)))
(-.f64 x (*.f64 (/.f64 z y) x))

eval16.0ms (0.4%)

Compiler

Compiled 1174 to 355 computations (69.8% saved)

prune118.0ms (2.7%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New87087
Fresh033
Picked011
Done011
Total87592
Error
0.0b
Counts
92 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
3.7b
(-.f64 x (pow.f64 (/.f64 y (*.f64 z x)) -1))
3.6b
(-.f64 x (/.f64 (*.f64 z x) y))
5.5b
(fma.f64 z (neg.f64 (/.f64 x y)) x)
5.3b
(-.f64 x (/.f64 z (/.f64 y x)))
3.8b
(fma.f64 (neg.f64 (/.f64 z y)) x x)
Compiler

Compiled 84 to 52 computations (38.1% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (pow.f64 (/.f64 y (*.f64 z x)) -1))
0.7b
(pow.f64 (/.f64 y (*.f64 z x)) -1)
4.5b
(/.f64 y (*.f64 z x))

series15.0ms (0.3%)

Counts
3 → 72
Calls

27 calls:

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

rewrite90.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
502×prod-diff_binary64
202×fma-def_binary64
179×expm1-udef_binary64
179×log1p-udef_binary64
169×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

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

simplify54.0ms (1.2%)

Algorithm
egg-herbie
Rules
380×fma-def_binary64
179×fma-neg_binary64
55×cancel-sign-sub-inv_binary64
47×associate-*r*_binary64
44×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016582
135582
266582
3116582
4224582
5410582
6777582
71053582
81243582
91362582
101376582
111381582
Stop Event
saturated
Counts
332 → 267
Calls
Call 1
Inputs
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(/.f64 (*.f64 z x) y)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
Outputs
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(/.f64 (*.f64 z x) y)
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(/.f64 x (/.f64 y z))
(/.f64 z (/.f64 y x))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 z y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z y) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 x (-.f64 1 (/.f64 z y)))
(-.f64 x (*.f64 x (/.f64 z y)))
(-.f64 x (*.f64 z (/.f64 x y)))
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (/.f64 z (/.f64 y x)))

eval74.0ms (1.7%)

Compiler

Compiled 6569 to 2115 computations (67.8% saved)

prune806.0ms (18.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2661267
Fresh112
Picked011
Done112
Total2684272
Error
0b
Counts
272 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
3.8b
(fma.f64 (neg.f64 (/.f64 z y)) x x)
3.7b
(-.f64 x (pow.f64 (/.f64 y (*.f64 z x)) -1))
5.3b
(-.f64 x (/.f64 z (/.f64 y x)))
3.8b
(-.f64 x (/.f64 x (/.f64 y z)))
Compiler

Compiled 62 to 38 computations (38.7% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.6b
(fma.f64 (neg.f64 (/.f64 z y)) x x)

series5.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite40.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
705×pow1_binary64
650×add-log-exp_binary64
649×log1p-expm1-u_binary64
649×expm1-log1p-u_binary64
77×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify35.0ms (0.8%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
178×fma-neg_binary64
63×cancel-sign-sub-inv_binary64
61×distribute-rgt-in_binary64
55×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017360
141330
290330
3168330
4314330
5617330
61187330
71414330
81420330
91434330
101460330
Stop Event
saturated
Counts
60 → 31
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
Outputs
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 (neg.f64 z) (/.f64 x y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 (neg.f64 z) (/.f64 x y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 (neg.f64 z) (/.f64 x y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 z y))) x)
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))
(*.f64 -1 (*.f64 (-.f64 (/.f64 z y) 1) x))
(fma.f64 -1 (/.f64 z (/.f64 y x)) x)
(-.f64 x (*.f64 (/.f64 z y) x))
(fma.f64 x (/.f64 (neg.f64 z) y) x)
(-.f64 x (/.f64 (*.f64 x z) y))

eval6.0ms (0.1%)

Compiler

Compiled 317 to 97 computations (69.4% saved)

prune19.0ms (0.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New31031
Fresh011
Picked011
Done022
Total31435
Error
0b
Counts
35 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
3.8b
(fma.f64 (neg.f64 (/.f64 z y)) x x)
3.7b
(-.f64 x (pow.f64 (/.f64 y (*.f64 z x)) -1))
5.3b
(-.f64 x (/.f64 z (/.f64 y x)))
3.8b
(-.f64 x (/.f64 x (/.f64 y z)))
Compiler

Compiled 42 to 26 computations (38.1% saved)

regimes67.0ms (1.5%)

Accuracy

Total -21.3b remaining (-7280.3%)

Threshold costs -21.3b (-7280.3%)

Counts
7 → 5
Calls
Call 1
Inputs
(-.f64 x (/.f64 x (/.f64 y z)))
(-.f64 x (pow.f64 (/.f64 y (*.f64 z x)) -1))
(-.f64 x (/.f64 (*.f64 z x) y))
(fma.f64 z (neg.f64 (/.f64 x y)) x)
(fma.f64 (neg.f64 (/.f64 z y)) x x)
(-.f64 x (/.f64 z (/.f64 y x)))
(/.f64 (*.f64 x (-.f64 y z)) y)
Outputs
(fma.f64 (neg.f64 (/.f64 z y)) x x)
(fma.f64 z (neg.f64 (/.f64 x y)) x)
(-.f64 x (/.f64 (*.f64 z x) y))
(-.f64 x (/.f64 z (/.f64 y x)))
(fma.f64 (neg.f64 (/.f64 z y)) x x)
Results
TimeErrorSegmentsBranch
26.0ms0.3b5x
8.0ms3.6b1y
14.0ms1.0b3z
18.0ms0.6b4(/.f64 (*.f64 x (-.f64 y z)) y)
Compiler

Compiled 76 to 40 computations (47.4% saved)

bsearch70.0ms (1.6%)

Algorithm
binary-search
Steps
TimePointRange
22.0ms
1.9913091815903685e-11
∈ [
1.9913091815903685e-11
,
4.600694079994366e-8
]
17.0ms
4.142754075651002e-166
∈ [
4.142754075651002e-166
,
1.0744240150466763e-164
]
22.0ms
8.829242912010182e-304
∈ [
8.829242912010182e-304
,
1.5280586689954532e-302
]
8.0ms
-1e+92
∈ [
-3.0362824647282483e+94
,
-1.7471130336907304e+89
]
Compiler

Compiled 38 to 25 computations (34.2% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02974
14474
26174
37774
48374
58474
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 x -100000000000000004337729697461918607329029332495193931179177378933611681288968111094132375552) (fma.f64 (neg.f64 (/.f64 z y)) x x) (if (<=.f64 x 681708778529534/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (fma.f64 z (neg.f64 (/.f64 x y)) x) (if (<=.f64 x 440074816894950912/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (-.f64 x (/.f64 (*.f64 z x) y)) (if (<=.f64 x 1577677674551884288/79228162514264337593543950336) (-.f64 x (/.f64 z (/.f64 y x))) (fma.f64 (neg.f64 (/.f64 z y)) x x)))))
Outputs
(if (<=.f64 x -100000000000000004337729697461918607329029332495193931179177378933611681288968111094132375552) (fma.f64 (neg.f64 (/.f64 z y)) x x) (if (<=.f64 x 681708778529534/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (fma.f64 z (neg.f64 (/.f64 x y)) x) (if (<=.f64 x 440074816894950912/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (-.f64 x (/.f64 (*.f64 z x) y)) (if (<=.f64 x 1577677674551884288/79228162514264337593543950336) (-.f64 x (/.f64 z (/.f64 y x))) (fma.f64 (neg.f64 (/.f64 z y)) x x)))))
(if (<=.f64 x -100000000000000004337729697461918607329029332495193931179177378933611681288968111094132375552) (fma.f64 (/.f64 (neg.f64 z) y) x x) (if (<=.f64 x 340854389264767/386051661123868214325895970762095083331216144111904370034983364157543830047598546775742309000849007597326427200921653578548066591998660043462778854257084865420374725869305346230443778499781067545394454342790117394565596548890481374012190543459242928201313126587598361115137891035519604744312911050121319319358268243968) (fma.f64 z (/.f64 (neg.f64 x) y) x) (if (<=.f64 x 859521126747951/2074757784440496479256203931845580575506223116121218449997828664845326405706454073199853524473551897144098943305650394591197575537705887653943437417056981843530590901700754761842688) (-.f64 x (/.f64 (*.f64 x z) y)) (if (<=.f64 x 3081401708109149/154742504910672534362390528) (-.f64 x (/.f64 z (/.f64 y x))) (fma.f64 (/.f64 (neg.f64 z) y) x x)))))

end26.0ms (0.6%)

Stop Event
fuel
Compiler

Compiled 108 to 54 computations (50% saved)

Profiling

Loading profile data...