Details

Time bar (total: 6.5s)

analyze221.0ms (3.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
8.3%6.2%68.6%0.1%0%25%0%7
12.5%9.4%65.5%0.1%0%25%0%8
18.8%14%60.8%0.1%0%25%0%9
33.8%21.1%41.3%0.1%0%37.4%0%10
39.4%24.6%37.8%0.1%0%37.4%0%11
45.9%28.7%33.7%0.1%0%37.4%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample2.1s (33.2%)

Results
1.7s8256×body256valid
307.0ms2226×body256invalid
75.0ms537×body256infinite
Bogosity

preprocess26.0ms (0.4%)

Algorithm
egg-herbie
Rules
40×fma-def_binary64
18×*-commutative_binary64
12×associate-*r*_binary64
12×associate-*l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02348
15940
211340
314940
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 z (sqrt.f64 y))))
Outputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
(*.f64 (/.f64 1 2) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 1/2 (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 1/2 (fma.f64 x (sqrt.f64 z) y))
(*.f64 (/.f64 1 2) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 1/2 (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 1/2 (fma.f64 y (sqrt.f64 x) z))
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 z (sqrt.f64 y))))
(*.f64 1/2 (+.f64 x (*.f64 z (sqrt.f64 y))))
(*.f64 1/2 (fma.f64 z (sqrt.f64 y) x))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01212
12310
23810
34810
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
Outputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))

eval1.0ms (0%)

Compiler

Compiled 20 to 13 computations (35% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
0.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
Compiler

Compiled 23 to 17 computations (26.1% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (sqrt.f64 z) x)
Compiler

Compiled 21 to 8 computations (61.9% saved)

series6.0ms (0.1%)

Counts
1 → 25
Calls

9 calls:

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

rewrite107.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
544×pow1_binary64
519×add-sqr-sqrt_binary64
499×add-log-exp_binary64
499×log1p-expm1-u_binary64
499×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07148
110148
211148
Stop Event
saturated
Counts
46 → 24
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
Outputs
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)

localize20.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 15 computations (54.5% saved)

series10.0ms (0.2%)

Counts
2 → 25
Calls

15 calls:

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

rewrite69.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
786×pow1_binary64
729×add-log-exp_binary64
729×log1p-expm1-u_binary64
729×expm1-log1p-u_binary64
711×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07148
110148
211148
Stop Event
saturated
Counts
71 → 49
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
Outputs
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x

eval25.0ms (0.4%)

Compiler

Compiled 1029 to 452 computations (56.1% saved)

prune67.0ms (1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New631073
Fresh000
Picked101
Done011
Total641175
Error
0.0b
Counts
75 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y))))))
25.9b
(*.f64 (/.f64 1 2) (+.f64 x (sqrt.f64 (*.f64 z (*.f64 y y)))))
32.4b
(*.f64 (/.f64 1 2) (/.f64 (-.f64 (*.f64 z (*.f64 y y)) (*.f64 x x)) (-.f64 (*.f64 y (sqrt.f64 z)) x)))
1.4b
(*.f64 1/2 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2) (cbrt.f64 (fma.f64 y (sqrt.f64 z) x))))
40.7b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (sqrt.f64 z)) (-.f64 (*.f64 y (sqrt.f64 z)) x))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (sqrt.f64 z)) 3)))))
28.2b
(*.f64 (/.f64 1 2) (+.f64 x (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 2)))
33.1b
(*.f64 1/2 (*.f64 y (sqrt.f64 z)))
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
0.1b
(*.f64 1/2 (+.f64 (*.f64 y (sqrt.f64 z)) x))
30.4b
(*.f64 1/2 x)
18.7b
(*.f64 (/.f64 1 2) (fma.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) (cbrt.f64 (*.f64 y (sqrt.f64 z))) x))
Compiler

Compiled 368 to 249 computations (32.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 9 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 7
Calls

9 calls:

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

rewrite58.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0622
1722
Stop Event
saturated
Counts
42 → 37
Calls
Call 1
Inputs
x
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
x
(*.f64 y (sqrt.f64 z))
x
x
Outputs
x
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
x
(*.f64 y (sqrt.f64 z))
x
x

localize4.0ms (0.1%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
8.7b
(*.f64 z (*.f64 y y))
19.7b
(sqrt.f64 (*.f64 z (*.f64 y y)))
Compiler

Compiled 45 to 16 computations (64.4% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

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

rewrite51.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
537×pow1_binary64
511×add-sqr-sqrt_binary64
496×add-log-exp_binary64
496×log1p-expm1-u_binary64
496×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0616
112113
2144813
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 z (*.f64 y y)))
(*.f64 z (*.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (sqrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (sqrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) (cbrt.f64 (*.f64 z (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) (cbrt.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) (sqrt.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 y (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z y) 1/2) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 y y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 y (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (sqrt.f64 z))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 z z) (pow.f64 y 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (*.f64 y y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 z z) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (*.f64 y y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (*.f64 y y))))))))

simplify95.0ms (1.5%)

Algorithm
egg-herbie
Rules
974×fma-def_binary64
404×distribute-rgt-neg-out_binary64
365×fma-neg_binary64
337×distribute-rgt-neg-in_binary64
318×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010248
121248
244248
386248
4204248
5634248
6988248
71635248
82039248
92929248
103766248
114633248
125763248
Stop Event
node limit
Counts
72 → 40
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
Outputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))))
2.0b
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
8.7b
(*.f64 z (*.f64 y y))
26.4b
(/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y))))
Compiler

Compiled 99 to 24 computations (75.8% saved)

series25.0ms (0.4%)

Counts
3 → 86
Calls

27 calls:

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

rewrite137.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
849×log-prod_binary64
709×fma-def_binary64
294×fma-neg_binary64
268×expm1-udef_binary64
268×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify96.0ms (1.5%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
521×associate-/l/_binary64
418×associate-/r/_binary64
337×sub-neg_binary64
312×times-frac_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0551371
11591281
25311260
327021236
469001230
Stop Event
node limit
Counts
436 → 373
Calls
Call 1
Inputs
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (+.f64 (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))) (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (pow.f64 z 2)))))))
(/.f64 1 x)
(+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z)))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(/.f64 1 x)
(+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z)))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(/.f64 1 x)
(+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z)))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (+.f64 (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))) (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (pow.f64 z 2)))))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (+.f64 (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))) (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (pow.f64 z 2)))))))
(/.f64 1 x)
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
Outputs
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y)))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x (*.f64 y y)) z))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))))
(fma.f64 (/.f64 (*.f64 x x) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))))
(fma.f64 (/.f64 x (/.f64 (pow.f64 y 3) x)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y))))
(-.f64 (fma.f64 (*.f64 (/.f64 x (pow.f64 y 3)) x) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 (sqrt.f64 (/.f64 1 z)) y)) (/.f64 (/.f64 x z) (*.f64 y y)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (+.f64 (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))) (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (pow.f64 z 2)))))))
(fma.f64 (/.f64 (*.f64 x x) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (*.f64 -1 (+.f64 (/.f64 x (*.f64 z (*.f64 y y))) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))))))
(fma.f64 (/.f64 x (/.f64 (pow.f64 y 3) x)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (-.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y))) (/.f64 (pow.f64 x 3) (*.f64 z (*.f64 z (pow.f64 y 4))))))
(-.f64 (fma.f64 (*.f64 (/.f64 x (pow.f64 y 3)) x) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 (sqrt.f64 (/.f64 1 z)) y)) (+.f64 (/.f64 (/.f64 x z) (*.f64 y y)) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))))
(+.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(+.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 4)) (*.f64 z z))) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(/.f64 1 x)
(+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))))
(+.f64 (/.f64 1 x) (neg.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z))))
(-.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)))
(-.f64 (/.f64 1 x) (/.f64 (*.f64 y (sqrt.f64 z)) (*.f64 x x)))
(-.f64 (/.f64 1 x) (*.f64 y (/.f64 (sqrt.f64 z) (*.f64 x x))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z)))))
(+.f64 (+.f64 (/.f64 1 x) (neg.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)))) (/.f64 (*.f64 z (*.f64 y y)) (pow.f64 x 3)))
(+.f64 (-.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z))) (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z))
(fma.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z (-.f64 (/.f64 1 x) (/.f64 (*.f64 y (sqrt.f64 z)) (*.f64 x x))))
(+.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (-.f64 (/.f64 (*.f64 y z) x) (sqrt.f64 z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(+.f64 (/.f64 (*.f64 z (*.f64 y y)) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (+.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(+.f64 (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z) (fma.f64 -1 (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (fabs.f64 (pow.f64 z 3/2)))) (/.f64 1 x)))
(-.f64 (fma.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z (/.f64 1 x)) (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (pow.f64 z 3/2))))
(+.f64 (/.f64 1 x) (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (neg.f64 (pow.f64 z 3/2)) (*.f64 (/.f64 y (*.f64 x x)) (-.f64 (/.f64 (*.f64 y z) x) (sqrt.f64 z)))))
(-.f64 (/.f64 1 x) (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (*.f64 (/.f64 y (pow.f64 x 3)) y) (-.f64 (/.f64 (*.f64 y (pow.f64 z 3/2)) x) z))))
(/.f64 1 x)
(+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))))
(+.f64 (/.f64 1 x) (neg.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z))))
(-.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)))
(-.f64 (/.f64 1 x) (/.f64 (*.f64 y (sqrt.f64 z)) (*.f64 x x)))
(-.f64 (/.f64 1 x) (*.f64 y (/.f64 (sqrt.f64 z) (*.f64 x x))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z)))))
(+.f64 (+.f64 (/.f64 1 x) (neg.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)))) (/.f64 (*.f64 z (*.f64 y y)) (pow.f64 x 3)))
(+.f64 (-.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z))) (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z))
(fma.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z (-.f64 (/.f64 1 x) (/.f64 (*.f64 y (sqrt.f64 z)) (*.f64 x x))))
(+.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (-.f64 (/.f64 (*.f64 y z) x) (sqrt.f64 z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(+.f64 (/.f64 (*.f64 z (*.f64 y y)) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (+.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(+.f64 (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z) (fma.f64 -1 (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (fabs.f64 (pow.f64 z 3/2)))) (/.f64 1 x)))
(-.f64 (fma.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z (/.f64 1 x)) (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (pow.f64 z 3/2))))
(+.f64 (/.f64 1 x) (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (neg.f64 (pow.f64 z 3/2)) (*.f64 (/.f64 y (*.f64 x x)) (-.f64 (/.f64 (*.f64 y z) x) (sqrt.f64 z)))))
(-.f64 (/.f64 1 x) (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (*.f64 (/.f64 y (pow.f64 x 3)) y) (-.f64 (/.f64 (*.f64 y (pow.f64 z 3/2)) x) z))))
(/.f64 1 x)
(+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))))
(+.f64 (/.f64 1 x) (neg.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z))))
(-.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)))
(-.f64 (/.f64 1 x) (/.f64 (*.f64 y (sqrt.f64 z)) (*.f64 x x)))
(-.f64 (/.f64 1 x) (*.f64 y (/.f64 (sqrt.f64 z) (*.f64 x x))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z)))))
(+.f64 (+.f64 (/.f64 1 x) (neg.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)))) (/.f64 (*.f64 z (*.f64 y y)) (pow.f64 x 3)))
(+.f64 (-.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z))) (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z))
(fma.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z (-.f64 (/.f64 1 x) (/.f64 (*.f64 y (sqrt.f64 z)) (*.f64 x x))))
(+.f64 (/.f64 1 x) (*.f64 (/.f64 y (*.f64 x x)) (-.f64 (/.f64 (*.f64 y z) x) (sqrt.f64 z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (*.f64 (/.f64 y (pow.f64 x 2)) (sqrt.f64 z))) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(+.f64 (/.f64 (*.f64 z (*.f64 y y)) (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1 (+.f64 (*.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z)) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 3)))))))
(+.f64 (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z) (fma.f64 -1 (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (fabs.f64 (pow.f64 z 3/2)))) (/.f64 1 x)))
(-.f64 (fma.f64 (/.f64 (*.f64 y y) (pow.f64 x 3)) z (/.f64 1 x)) (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (pow.f64 z 3/2))))
(+.f64 (/.f64 1 x) (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 4)) (neg.f64 (pow.f64 z 3/2)) (*.f64 (/.f64 y (*.f64 x x)) (-.f64 (/.f64 (*.f64 y z) x) (sqrt.f64 z)))))
(-.f64 (/.f64 1 x) (fma.f64 (/.f64 y (*.f64 x x)) (sqrt.f64 z) (*.f64 (*.f64 (/.f64 y (pow.f64 x 3)) y) (-.f64 (/.f64 (*.f64 y (pow.f64 z 3/2)) x) z))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y)))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x (*.f64 y y)) z))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))))
(fma.f64 (/.f64 (*.f64 x x) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))))
(fma.f64 (/.f64 x (/.f64 (pow.f64 y 3) x)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y))))
(-.f64 (fma.f64 (*.f64 (/.f64 x (pow.f64 y 3)) x) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 (sqrt.f64 (/.f64 1 z)) y)) (/.f64 (/.f64 x z) (*.f64 y y)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (+.f64 (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))) (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (pow.f64 z 2)))))))
(fma.f64 (/.f64 (*.f64 x x) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (*.f64 -1 (+.f64 (/.f64 x (*.f64 z (*.f64 y y))) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))))))
(fma.f64 (/.f64 x (/.f64 (pow.f64 y 3) x)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (-.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y))) (/.f64 (pow.f64 x 3) (*.f64 z (*.f64 z (pow.f64 y 4))))))
(-.f64 (fma.f64 (*.f64 (/.f64 x (pow.f64 y 3)) x) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 (sqrt.f64 (/.f64 1 z)) y)) (+.f64 (/.f64 (/.f64 x z) (*.f64 y y)) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))))
(+.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(+.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 4)) (*.f64 z z))) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y)))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x (*.f64 y y)) z))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))))
(fma.f64 (/.f64 (*.f64 x x) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))))
(fma.f64 (/.f64 x (/.f64 (pow.f64 y 3) x)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y))))
(-.f64 (fma.f64 (*.f64 (/.f64 x (pow.f64 y 3)) x) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 (sqrt.f64 (/.f64 1 z)) y)) (/.f64 (/.f64 x z) (*.f64 y y)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (+.f64 (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))) (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (pow.f64 z 2)))))))
(fma.f64 (/.f64 (*.f64 x x) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (*.f64 -1 (+.f64 (/.f64 x (*.f64 z (*.f64 y y))) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))))))
(fma.f64 (/.f64 x (/.f64 (pow.f64 y 3) x)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (-.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 x z) (*.f64 y y))) (/.f64 (pow.f64 x 3) (*.f64 z (*.f64 z (pow.f64 y 4))))))
(-.f64 (fma.f64 (*.f64 (/.f64 x (pow.f64 y 3)) x) (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 (sqrt.f64 (/.f64 1 z)) y)) (+.f64 (/.f64 (/.f64 x z) (*.f64 y y)) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))))
(+.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 4) (*.f64 z z)))) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(+.f64 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 4)) (*.f64 z z))) (*.f64 (/.f64 x (*.f64 y y)) (+.f64 (/.f64 -1 z) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (/.f64 x y)))))
(/.f64 1 x)
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (pow.f64 x 2))
(fma.f64 -1 (*.f64 z (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 y y)))
(fma.f64 z (*.f64 y (neg.f64 y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 y (*.f64 y z)))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x

localize23.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (sqrt.f64 z))
4.9b
(cbrt.f64 (*.f64 y (sqrt.f64 z)))
8.7b
(*.f64 z (*.f64 y y))
24.7b
(cbrt.f64 (*.f64 z (*.f64 y y)))
Compiler

Compiled 66 to 19 computations (71.2% saved)

series51.0ms (0.8%)

Counts
2 → 12
Calls

12 calls:

TimeVariablePointExpression
34.0ms
z
@0
(cbrt.f64 (*.f64 y (sqrt.f64 z)))
7.0ms
z
@inf
(cbrt.f64 (*.f64 y (sqrt.f64 z)))
2.0ms
z
@-inf
(cbrt.f64 (*.f64 y (sqrt.f64 z)))
2.0ms
z
@-inf
(cbrt.f64 (*.f64 z (*.f64 y y)))
1.0ms
y
@0
(cbrt.f64 (*.f64 y (sqrt.f64 z)))

rewrite78.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
730×pow1_binary64
676×add-log-exp_binary64
676×log1p-expm1-u_binary64
676×expm1-log1p-u_binary64
655×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
117717
2208417
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 z (*.f64 y y)))
(cbrt.f64 (*.f64 y (sqrt.f64 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 z (*.f64 y y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) (cbrt.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 z (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))) (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) (pow.f64 (*.f64 y (sqrt.f64 z)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 1/6) (*.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 1/6) (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z y)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 z (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z y) 1/3) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y))))) (cbrt.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) (cbrt.f64 y)) (cbrt.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 y y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 z)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 y (sqrt.f64 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))) (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) (cbrt.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (cbrt.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 1/6) (pow.f64 (*.f64 y (sqrt.f64 z)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 z)) (sqrt.f64 (cbrt.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y)))) 2)) (sqrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 1/3) (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 y y)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 y y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 z)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (*.f64 z (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 y (sqrt.f64 z)))))))))

simplify160.0ms (2.5%)

Algorithm
egg-herbie
Rules
1984×unswap-sqr_binary64
924×sqr-pow_binary64
334×pow-sqr_binary64
317×*-commutative_binary64
277×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019136
147136
297136
3254136
41018136
51970136
62055136
72201136
82382136
92563136
102791136
113081136
123412136
133809136
144246136
154708136
164848136
174968136
185040136
195124136
205148136
Stop Event
node limit
Counts
64 → 56
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
Outputs
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 y 1/3) (pow.f64 z 1/6)))
(*.f64 (cbrt.f64 y) (pow.f64 z 1/6))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (*.f64 y (sqrt.f64 -1))))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (*.f64 y (sqrt.f64 -1))))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (*.f64 y (sqrt.f64 -1))))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) (*.f64 1 y)) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (*.f64 y (sqrt.f64 -1))))

eval211.0ms (3.3%)

Compiler

Compiled 15419 to 5363 computations (65.2% saved)

prune131.0ms (2%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New54610556
Fresh505
Picked101
Done235
Total55413567
Error
0b
Counts
567 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x))
0.1b
(*.f64 1/2 (+.f64 (*.f64 y (sqrt.f64 z)) x))
25.9b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 z (*.f64 y y))) x))
44.0b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (*.f64 y (*.f64 y (neg.f64 z))))))
32.4b
(*.f64 1/2 (/.f64 (-.f64 (*.f64 z (*.f64 y y)) (*.f64 x x)) (-.f64 (*.f64 y (sqrt.f64 z)) x)))
33.1b
(*.f64 1/2 (*.f64 y (sqrt.f64 z)))
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
30.5b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 1 x)))
30.4b
(*.f64 1/2 x)
0.7b
(*.f64 (/.f64 1 2) (fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (sqrt.f64 z)) x))
28.1b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (fma.f64 (*.f64 (neg.f64 z) y) y (*.f64 x x)))))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (sqrt.f64 (/.f64 1 z)) y)))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))))
Compiler

Compiled 363 to 272 computations (25.1% saved)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
0.3b
(*.f64 y (cbrt.f64 z))
0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 (sqrt.f64 z))
Compiler

Compiled 44 to 17 computations (61.4% saved)

series20.0ms (0.3%)

Counts
4 → 51
Calls

21 calls:

TimeVariablePointExpression
3.0ms
y
@0
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
3.0ms
x
@0
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
2.0ms
y
@0
(*.f64 y (cbrt.f64 z))
2.0ms
y
@inf
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
2.0ms
z
@-inf
(cbrt.f64 (sqrt.f64 z))

rewrite82.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
762×pow1_binary64
701×add-log-exp_binary64
701×log1p-expm1-u_binary64
701×expm1-log1p-u_binary64
680×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0928
117322
2199622
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(cbrt.f64 (sqrt.f64 z))
(cbrt.f64 z)
(*.f64 y (cbrt.f64 z))
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 z 1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 z)) (cbrt.f64 (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 z 1/6)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 z) 1/6) (pow.f64 (sqrt.f64 z) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 z z)))) (sqrt.f64 (cbrt.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 z 1/4) 1/3) (pow.f64 (pow.f64 z 1/4) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 z) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 z 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 z) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 z 1/6)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 z)) (cbrt.f64 (cbrt.f64 (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 z)) (*.f64 (cbrt.f64 (pow.f64 z 1/6)) (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z z))) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/4) (pow.f64 (sqrt.f64 z) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 z) 1/6) (*.f64 (pow.f64 (sqrt.f64 z) 1/6) (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z z)) 1/3) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 z 1/6) (cbrt.f64 (cbrt.f64 z))) (cbrt.f64 (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 z) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (*.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 z)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 z) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 z) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 z) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 z (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 z) y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 y (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (sqrt.f64 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (sqrt.f64 z)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 x (*.f64 y (sqrt.f64 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (sqrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))) (pow.f64 (cbrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))) 2) (cbrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))) (sqrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (*.f64 y (sqrt.f64 z)) (*.f64 y (sqrt.f64 z))) (-.f64 (*.f64 x x) (*.f64 (*.f64 y (sqrt.f64 z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y (sqrt.f64 z)) (*.f64 y (sqrt.f64 z))) (*.f64 x x)) (-.f64 (*.f64 y (sqrt.f64 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y (sqrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 x (*.f64 y (sqrt.f64 z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 x (*.f64 y (sqrt.f64 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 x (*.f64 y (sqrt.f64 z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 x (*.f64 y (sqrt.f64 z)))))))))

simplify177.0ms (2.7%)

Algorithm
egg-herbie
Rules
2124×unswap-sqr_binary64
1124×sqr-pow_binary64
478×pow-sqr_binary64
469×fabs-mul_binary64
462×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021306
148306
286306
3186306
4697306
51331306
61413306
71538306
81704306
91903306
102168306
112506306
122919306
133432306
144061306
154445306
164715306
174917306
185115306
195209306
205786306
Stop Event
node limit
Counts
128 → 84
Calls
Call 1
Inputs
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
x
x
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
Outputs
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(pow.f64 z 1/6)
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 z) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 z) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
(*.f64 (pow.f64 (*.f64 1 z) 1/3) y)
(*.f64 (cbrt.f64 z) y)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
x
x
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
x
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)

localize11.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 1 x))
Compiler

Compiled 26 to 22 computations (15.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite46.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
348×pow1_binary64
336×add-sqr-sqrt_binary64
328×*-un-lft-identity_binary64
323×add-log-exp_binary64
323×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051
11051
29971
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(/.f64 1 (/.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 x))) (log.f64 (sqrt.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) x))) (log.f64 (cbrt.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (neg.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/4) (sqrt.f64 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x 5/2)) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 x) 5)) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 x 3/2)) (pow.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 x (cbrt.f64 x)) 2) 1/3) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x 5/2) 1/3) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 x)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (neg.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2)) (cbrt.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 x))) (sqrt.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 x)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 x)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) 2))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112
Stop Event
saturated
Counts
59 → 48
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
Outputs
x
x
x
x
x
x
x
x
x
x
x
x

localize12.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
8.7b
(*.f64 z (*.f64 y y))
19.7b
(sqrt.f64 (*.f64 z (*.f64 y y)))
Compiler

Compiled 39 to 10 computations (74.4% saved)

localize22.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (/.f64 1 z))
0.3b
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
0.6b
(/.f64 1 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))))
Compiler

Compiled 52 to 41 computations (21.2% saved)

series8.0ms (0.1%)

Counts
3 → 12
Calls

15 calls:

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

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
853×pow1_binary64
787×add-log-exp_binary64
787×log1p-expm1-u_binary64
787×expm1-log1p-u_binary64
766×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0572
1672
Stop Event
saturated
Counts
96 → 84
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
Outputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))

localize24.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (*.f64 y (neg.f64 z)))
0.2b
(*.f64 y (sqrt.f64 z))
0.4b
(/.f64 1 (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (*.f64 y (*.f64 y (neg.f64 z)))))
12.8b
(/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (*.f64 y (*.f64 y (neg.f64 z))))
Compiler

Compiled 82 to 23 computations (72% saved)

series21.0ms (0.3%)

Counts
3 → 74
Calls

24 calls:

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

rewrite94.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
786×log-prod_binary64
327×fma-def_binary64
234×pow1/3_binary64
225×expm1-udef_binary64
225×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify90.0ms (1.4%)

Algorithm
egg-herbie
Rules
527×associate-/r/_binary64
506×associate-/l/_binary64
423×distribute-neg-frac_binary64
388×distribute-rgt-out--_binary64
306×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0591470
11821383
25721335
327991293
463911293
Stop Event
node limit
Counts
238 → 187
Calls
Call 1
Inputs
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) x))
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 2) z)))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) x))
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 2) z)))))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) x))
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 2) z)))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
Outputs
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))
(/.f64 (neg.f64 x) (*.f64 y (*.f64 y z)))
(neg.f64 (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))
(/.f64 (neg.f64 x) (*.f64 y (*.f64 y z)))
(neg.f64 (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))
(/.f64 (neg.f64 x) (*.f64 y (*.f64 y z)))
(neg.f64 (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(+.f64 (*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z))))
(fma.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)) (neg.f64 (/.f64 x (*.f64 z (*.f64 y y)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 -1 (/.f64 x (*.f64 (pow.f64 y 2) z)))
(neg.f64 (/.f64 x (*.f64 z (*.f64 y y))))
(/.f64 (neg.f64 x) (*.f64 y (*.f64 y z)))
(neg.f64 (/.f64 x (*.f64 y (*.f64 y z))))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (/.f64 (*.f64 x x) y) (sqrt.f64 (/.f64 1 z)) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (/.f64 y x)) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 (/.f64 x y) x) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 x (/.f64 x y)) x))
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 2) z)))))
(fma.f64 y (sqrt.f64 z) (fma.f64 (/.f64 (*.f64 x x) y) (sqrt.f64 (/.f64 1 z)) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 z (*.f64 y y))))))
(+.f64 (fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (/.f64 y x)) x)) (/.f64 (pow.f64 x 3) (*.f64 y (*.f64 y z))))
(+.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 (/.f64 x y) x) (/.f64 (pow.f64 x 3) (*.f64 y (*.f64 y z)))))
(+.f64 (fma.f64 y (sqrt.f64 z) x) (*.f64 (*.f64 x (/.f64 x y)) (+.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (*.f64 y z)))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))
(/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x)
(*.f64 (/.f64 y (/.f64 x y)) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 y) (/.f64 x y)))
(*.f64 z (neg.f64 (/.f64 (*.f64 y y) x)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (neg.f64 (/.f64 (*.f64 y y) (/.f64 x z))))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (fabs.f64 (pow.f64 z 3/2)) (*.f64 (/.f64 (*.f64 y y) x) z)))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (*.f64 (/.f64 z x) (*.f64 y y))))
(*.f64 (*.f64 (/.f64 y x) y) (-.f64 (neg.f64 z) (/.f64 (*.f64 y (pow.f64 z 3/2)) x)))
(neg.f64 (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (fma.f64 -1 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z))) (neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))))
(-.f64 (-.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x) (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z)))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 x x) (fabs.f64 (pow.f64 z 3/2)))))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (fma.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 z z) (*.f64 (/.f64 z x) (*.f64 y y)))))
(-.f64 (*.f64 (*.f64 (/.f64 y x) y) (-.f64 (neg.f64 z) (/.f64 (*.f64 y (pow.f64 z 3/2)) x))) (*.f64 z (*.f64 z (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(-.f64 (*.f64 (*.f64 z z) (/.f64 (neg.f64 (pow.f64 y 4)) (pow.f64 x 3))) (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (fma.f64 -1 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z))) (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 x z)) (neg.f64 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x) (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z)))) (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 x x) (fabs.f64 (pow.f64 z 3/2)))))
(-.f64 (neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (fma.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 z z) (*.f64 (/.f64 z x) (*.f64 y y))))) (/.f64 (pow.f64 y 5) (/.f64 (pow.f64 x 4) (pow.f64 z 5/2))))
(-.f64 (*.f64 (/.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z z)) (/.f64 (*.f64 (pow.f64 y 5) (pow.f64 z 5/2)) x))) (*.f64 (*.f64 (/.f64 y x) y) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(-.f64 (*.f64 (/.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z z)) (/.f64 (*.f64 (pow.f64 y 5) (pow.f64 z 5/2)) x))) (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))
(/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x)
(*.f64 (/.f64 y (/.f64 x y)) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 y) (/.f64 x y)))
(*.f64 z (neg.f64 (/.f64 (*.f64 y y) x)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (neg.f64 (/.f64 (*.f64 y y) (/.f64 x z))))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (fabs.f64 (pow.f64 z 3/2)) (*.f64 (/.f64 (*.f64 y y) x) z)))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (*.f64 (/.f64 z x) (*.f64 y y))))
(*.f64 (*.f64 (/.f64 y x) y) (-.f64 (neg.f64 z) (/.f64 (*.f64 y (pow.f64 z 3/2)) x)))
(neg.f64 (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (fma.f64 -1 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z))) (neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))))
(-.f64 (-.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x) (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z)))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 x x) (fabs.f64 (pow.f64 z 3/2)))))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (fma.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 z z) (*.f64 (/.f64 z x) (*.f64 y y)))))
(-.f64 (*.f64 (*.f64 (/.f64 y x) y) (-.f64 (neg.f64 z) (/.f64 (*.f64 y (pow.f64 z 3/2)) x))) (*.f64 z (*.f64 z (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(-.f64 (*.f64 (*.f64 z z) (/.f64 (neg.f64 (pow.f64 y 4)) (pow.f64 x 3))) (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (fma.f64 -1 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z))) (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 x z)) (neg.f64 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x) (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z)))) (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 x x) (fabs.f64 (pow.f64 z 3/2)))))
(-.f64 (neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (fma.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 z z) (*.f64 (/.f64 z x) (*.f64 y y))))) (/.f64 (pow.f64 y 5) (/.f64 (pow.f64 x 4) (pow.f64 z 5/2))))
(-.f64 (*.f64 (/.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z z)) (/.f64 (*.f64 (pow.f64 y 5) (pow.f64 z 5/2)) x))) (*.f64 (*.f64 (/.f64 y x) y) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(-.f64 (*.f64 (/.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z z)) (/.f64 (*.f64 (pow.f64 y 5) (pow.f64 z 5/2)) x))) (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))
(/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x)
(*.f64 (/.f64 y (/.f64 x y)) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 y) (/.f64 x y)))
(*.f64 z (neg.f64 (/.f64 (*.f64 y y) x)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (neg.f64 (/.f64 (*.f64 y y) (/.f64 x z))))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (fabs.f64 (pow.f64 z 3/2)) (*.f64 (/.f64 (*.f64 y y) x) z)))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (*.f64 (/.f64 z x) (*.f64 y y))))
(*.f64 (*.f64 (/.f64 y x) y) (-.f64 (neg.f64 z) (/.f64 (*.f64 y (pow.f64 z 3/2)) x)))
(neg.f64 (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (fma.f64 -1 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z))) (neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))))
(-.f64 (-.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x) (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z)))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 x x) (fabs.f64 (pow.f64 z 3/2)))))
(neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (fma.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 z z) (*.f64 (/.f64 z x) (*.f64 y y)))))
(-.f64 (*.f64 (*.f64 (/.f64 y x) y) (-.f64 (neg.f64 z) (/.f64 (*.f64 y (pow.f64 z 3/2)) x))) (*.f64 z (*.f64 z (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(-.f64 (*.f64 (*.f64 z z) (/.f64 (neg.f64 (pow.f64 y 4)) (pow.f64 x 3))) (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 2)) (sqrt.f64 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 4) (pow.f64 z 2)) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (sqrt.f64 (pow.f64 z 3))) (fma.f64 -1 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z))) (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 x z)) (neg.f64 (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))))))
(-.f64 (-.f64 (-.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x) (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 3) (*.f64 z z)))) (*.f64 (/.f64 (pow.f64 y 5) (pow.f64 x 4)) (sqrt.f64 (pow.f64 z 5)))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 x x) (fabs.f64 (pow.f64 z 3/2)))))
(-.f64 (neg.f64 (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 x x)) (pow.f64 z 3/2) (fma.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) (*.f64 z z) (*.f64 (/.f64 z x) (*.f64 y y))))) (/.f64 (pow.f64 y 5) (/.f64 (pow.f64 x 4) (pow.f64 z 5/2))))
(-.f64 (*.f64 (/.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z z)) (/.f64 (*.f64 (pow.f64 y 5) (pow.f64 z 5/2)) x))) (*.f64 (*.f64 (/.f64 y x) y) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(-.f64 (*.f64 (/.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z z)) (/.f64 (*.f64 (pow.f64 y 5) (pow.f64 z 5/2)) x))) (*.f64 (/.f64 (*.f64 y y) x) (+.f64 z (/.f64 (*.f64 y (pow.f64 z 3/2)) x))))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (/.f64 (*.f64 x x) y) (sqrt.f64 (/.f64 1 z)) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (/.f64 y x)) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 (/.f64 x y) x) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 x (/.f64 x y)) x))
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 2) z)))))
(fma.f64 y (sqrt.f64 z) (fma.f64 (/.f64 (*.f64 x x) y) (sqrt.f64 (/.f64 1 z)) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 z (*.f64 y y))))))
(+.f64 (fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (/.f64 y x)) x)) (/.f64 (pow.f64 x 3) (*.f64 y (*.f64 y z))))
(+.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 (/.f64 x y) x) (/.f64 (pow.f64 x 3) (*.f64 y (*.f64 y z)))))
(+.f64 (fma.f64 y (sqrt.f64 z) x) (*.f64 (*.f64 x (/.f64 x y)) (+.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (*.f64 y z)))))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (sqrt.f64 z)) x)
(fma.f64 y (sqrt.f64 z) x)
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (/.f64 (*.f64 x x) y) (sqrt.f64 (/.f64 1 z)) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (/.f64 y x)) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 (/.f64 x y) x) x))
(fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 x (/.f64 x y)) x))
(+.f64 (*.f64 y (sqrt.f64 z)) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) (sqrt.f64 (/.f64 1 z))) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 y 2) z)))))
(fma.f64 y (sqrt.f64 z) (fma.f64 (/.f64 (*.f64 x x) y) (sqrt.f64 (/.f64 1 z)) (+.f64 x (/.f64 (pow.f64 x 3) (*.f64 z (*.f64 y y))))))
(+.f64 (fma.f64 y (sqrt.f64 z) (fma.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (/.f64 y x)) x)) (/.f64 (pow.f64 x 3) (*.f64 y (*.f64 y z))))
(+.f64 (fma.f64 y (sqrt.f64 z) x) (fma.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 (/.f64 x y) x) (/.f64 (pow.f64 x 3) (*.f64 y (*.f64 y z)))))
(+.f64 (fma.f64 y (sqrt.f64 z) x) (*.f64 (*.f64 x (/.f64 x y)) (+.f64 (sqrt.f64 (/.f64 1 z)) (/.f64 x (*.f64 y z)))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 y y) (/.f64 x z)))
(/.f64 (*.f64 (*.f64 y y) (neg.f64 z)) x)
(*.f64 (/.f64 y (/.f64 x y)) (neg.f64 z))
(*.f64 z (/.f64 (neg.f64 y) (/.f64 x y)))
(*.f64 z (neg.f64 (/.f64 (*.f64 y y) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(neg.f64 (*.f64 z (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 y (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 y (neg.f64 z)))

eval157.0ms (2.4%)

Compiler

Compiled 8351 to 4162 computations (50.2% saved)

prune88.0ms (1.4%)

Pruning

17 alts after pruning (12 fresh and 5 done)

PrunedKeptTotal
New4459454
Fresh235
Picked101
Done257
Total45017467
Error
0b
Counts
467 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
34.0b
(*.f64 (/.f64 1 2) (/.f64 1 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))))
37.0b
(*.f64 (/.f64 1 2) (*.f64 -1 (/.f64 y (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (*.f64 y z)))))
62.7b
(*.f64 (/.f64 1 2) (*.f64 z (neg.f64 (/.f64 (*.f64 y y) x))))
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
22.2b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 y (*.f64 y z))) x))
62.4b
(*.f64 (/.f64 1 2) (neg.f64 x))
25.9b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 z (*.f64 y y))) x))
38.4b
(*.f64 (/.f64 1 2) (-.f64 (+.f64 1 x) 1))
32.4b
(*.f64 1/2 (/.f64 (-.f64 (*.f64 z (*.f64 y y)) (*.f64 x x)) (-.f64 (*.f64 y (sqrt.f64 z)) x)))
33.1b
(*.f64 1/2 (*.f64 y (sqrt.f64 z)))
30.5b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 1 x)))
0.1b
(*.f64 1/2 (+.f64 (*.f64 y (sqrt.f64 z)) x))
30.4b
(*.f64 1/2 x)
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (pow.f64 z -1/2) y)))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (/.f64 1 y) (sqrt.f64 z))))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (sqrt.f64 (/.f64 1 z)) y)))
62.6b
(*.f64 (/.f64 1 2) (/.f64 1 (neg.f64 (/.f64 x (*.f64 y (*.f64 y z))))))
Compiler

Compiled 420 to 324 computations (22.9% saved)

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (*.f64 y z))
19.7b
(sqrt.f64 (*.f64 y (*.f64 y z)))
Compiler

Compiled 39 to 10 computations (74.4% saved)

series4.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

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

rewrite54.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
551×pow1_binary64
507×add-log-exp_binary64
507×log1p-expm1-u_binary64
507×expm1-log1p-u_binary64
494×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify94.0ms (1.5%)

Algorithm
egg-herbie
Rules
974×fma-def_binary64
404×distribute-rgt-neg-out_binary64
365×fma-neg_binary64
337×distribute-rgt-neg-in_binary64
318×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010248
121248
244248
386248
4204248
5634248
6988248
71635248
82039248
92929248
103766248
114633248
125763248
Stop Event
node limit
Counts
72 → 40
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
(*.f64 (pow.f64 y 2) z)
Outputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))
(*.f64 (pow.f64 y 2) z)
(*.f64 z (*.f64 y y))
(*.f64 y (*.f64 y z))

localize8.0ms (0.1%)

Compiler

Compiled 17 to 13 computations (23.5% saved)

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 1 2) (*.f64 z (neg.f64 (/.f64 (*.f64 y y) x))))
6.9b
(/.f64 (*.f64 y y) x)
7.3b
(*.f64 z (neg.f64 (/.f64 (*.f64 y y) x)))
Compiler

Compiled 45 to 16 computations (64.4% saved)

series13.0ms (0.2%)

Counts
3 → 96
Calls

24 calls:

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

rewrite81.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
529×log-prod_binary64
413×exp-prod_binary64
306×pow-prod-down_binary64
270×pow2_binary64
264×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify95.0ms (1.5%)

Algorithm
egg-herbie
Rules
924×fma-def_binary64
563×distribute-rgt-neg-in_binary64
551×distribute-lft-neg-in_binary64
396×associate-*r*_binary64
382×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131068
1281068
2711068
32121068
47471068
529511068
642881068
760001068
Stop Event
node limit
Counts
219 → 129
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(/.f64 (pow.f64 y 2) x)
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
Outputs
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(neg.f64 (/.f64 (*.f64 (*.f64 y y) z) x))
(/.f64 (neg.f64 (*.f64 y (*.f64 y z))) x)
(*.f64 (/.f64 (*.f64 y (neg.f64 y)) x) z)
(*.f64 z (*.f64 (/.f64 y x) (neg.f64 y)))
(*.f64 z (/.f64 (*.f64 y (neg.f64 y)) x))
(*.f64 y (*.f64 y (/.f64 (neg.f64 z) x)))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(/.f64 (pow.f64 y 2) x)
(/.f64 (*.f64 y y) x)
(/.f64 y (/.f64 x y))
(*.f64 (/.f64 y x) y)
(*.f64 y (/.f64 y x))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 2) z) x))
(*.f64 (/.f64 (*.f64 (*.f64 y y) z) x) -1/2)
(*.f64 (/.f64 y (/.f64 (/.f64 x z) y)) -1/2)
(*.f64 (/.f64 (*.f64 y y) (/.f64 x z)) -1/2)
(*.f64 z (/.f64 (*.f64 y y) (/.f64 x -1/2)))
(*.f64 y (*.f64 (*.f64 -1/2 (/.f64 z x)) y))
(*.f64 y (*.f64 (/.f64 z x) (*.f64 y -1/2)))
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (sqrt.f64 z))
Compiler

Compiled 18 to 8 computations (55.6% saved)

localize19.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (/.f64 1 z))
0.3b
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
0.6b
(/.f64 1 (/.f64 (sqrt.f64 (/.f64 1 z)) y))
Compiler

Compiled 43 to 33 computations (23.3% saved)

series4.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
796×pow1_binary64
737×add-log-exp_binary64
737×log1p-expm1-u_binary64
737×expm1-log1p-u_binary64
717×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify18.0ms (0.3%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
010216
116180
221180
332180
432180
533180
636180
743180
843180
Stop Event
saturated
Counts
92 → 70
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
Outputs
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 y (sqrt.f64 z))
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)
(*.f64 (/.f64 1 y) (sqrt.f64 (/.f64 1 z)))
(/.f64 (sqrt.f64 (/.f64 1 z)) y)

eval137.0ms (2.1%)

Compiler

Compiled 3968 to 2393 computations (39.7% saved)

prune92.0ms (1.4%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New2679276
Fresh077
Picked011
Done279
Total26924293
Error
0b
Counts
293 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
34.0b
(*.f64 (/.f64 1 2) (/.f64 1 (-.f64 (/.f64 (sqrt.f64 (/.f64 1 z)) y) (/.f64 x (*.f64 y (*.f64 y z))))))
37.0b
(*.f64 (/.f64 1 2) (*.f64 -1 (/.f64 y (/.f64 (-.f64 x (*.f64 y (sqrt.f64 z))) (*.f64 y z)))))
62.6b
(*.f64 (/.f64 1 2) (*.f64 z (neg.f64 (*.f64 (/.f64 y x) y))))
62.3b
(*.f64 (/.f64 1 2) (/.f64 (*.f64 z (*.f64 y y)) x))
33.1b
(*.f64 1/2 (*.f64 y (sqrt.f64 z)))
62.1b
(*.f64 (/.f64 1 2) (/.f64 (*.f64 z y) (/.f64 x y)))
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
62.3b
(*.f64 (/.f64 1 2) (*.f64 z (neg.f64 (*.f64 (*.f64 y (neg.f64 y)) (/.f64 1 x)))))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (pow.f64 z -1/2) y)))
22.2b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 y (*.f64 y z))) x))
62.4b
(*.f64 (/.f64 1 2) (neg.f64 x))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (/.f64 1 y) (sqrt.f64 z))))
55.1b
(*.f64 1/2 (sqrt.f64 (*.f64 z (*.f64 y y))))
62.1b
(+.f64 0 (*.f64 z (*.f64 (/.f64 y (/.f64 x y)) 1/2)))
38.4b
(*.f64 (/.f64 1 2) (-.f64 (+.f64 1 x) 1))
62.5b
(*.f64 y (*.f64 z (/.f64 y (/.f64 x -1/2))))
33.2b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 (sqrt.f64 (/.f64 1 z)) y)))
62.6b
(neg.f64 (*.f64 z (*.f64 (/.f64 y (/.f64 x y)) 1/2)))
62.6b
(*.f64 (/.f64 1 2) (*.f64 y (*.f64 y (/.f64 (neg.f64 z) x))))
32.4b
(*.f64 1/2 (/.f64 (-.f64 (*.f64 z (*.f64 y y)) (*.f64 x x)) (-.f64 (*.f64 y (sqrt.f64 z)) x)))
30.5b
(*.f64 (/.f64 1 2) (/.f64 1 (/.f64 1 x)))
0.1b
(*.f64 1/2 (+.f64 (*.f64 y (sqrt.f64 z)) x))
30.4b
(*.f64 1/2 x)
62.6b
(*.f64 (/.f64 1 2) (/.f64 1 (neg.f64 (/.f64 x (*.f64 y (*.f64 y z))))))
Compiler

Compiled 334 to 253 computations (24.3% saved)

regimes223.0ms (3.4%)

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

8 calls:

39.0ms
(*.f64 y (sqrt.f64 z))
25.0ms
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
24.0ms
(sqrt.f64 z)
24.0ms
(*.f64 y (sqrt.f64 z))
24.0ms
z
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.1b1(+.f64 x (*.f64 y (sqrt.f64 z)))
0.1b1(*.f64 y (sqrt.f64 z))
0.1b1(*.f64 y (sqrt.f64 z))
0.1b1(sqrt.f64 z)
Compiler

Compiled 571 to 318 computations (44.3% saved)

regimes169.0ms (2.6%)

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

7 calls:

32.0ms
(*.f64 y (sqrt.f64 z))
27.0ms
(+.f64 x (*.f64 y (sqrt.f64 z)))
23.0ms
y
19.0ms
(sqrt.f64 z)
19.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.1b1(+.f64 x (*.f64 y (sqrt.f64 z)))
0.1b1(*.f64 y (sqrt.f64 z))
0.1b1(sqrt.f64 z)
Compiler

Compiled 429 to 249 computations (42% saved)

regimes258.0ms (4%)

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

5 calls:

51.0ms
(sqrt.f64 z)
51.0ms
z
51.0ms
x
51.0ms
(*.f64 y (sqrt.f64 z))
45.0ms
y
Results
ErrorSegmentsBranch
13.2b5x
15.3b5y
23.0b6z
15.6b5(*.f64 y (sqrt.f64 z))
23.0b6(sqrt.f64 z)
Compiler

Compiled 191 to 126 computations (34% saved)

bsearch92.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
4.657007809774987e-27
2.1961858867783822e-16
21.0ms
-1.3997484259358803e-59
-2.1971940777090502e-60
25.0ms
-0.00024383560997425361
-1.908362917969629e-6
21.0ms
-1.7908716044931952e+68
-9.743016199120032e+59
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes33.0ms (0.5%)

Accuracy

Total -33.0b remaining (-108.5%)

Threshold costs -33.0b (-108.5%)

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

3 calls:

11.0ms
z
9.0ms
x
8.0ms
y
Results
ErrorSegmentsBranch
30.4b1x
30.4b1y
30.4b1z
Compiler

Compiled 159 to 108 computations (32.1% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02680
13280
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
(*.f64 1/2 (+.f64 (*.f64 y (sqrt.f64 z)) x))
(if (<=.f64 x -179087160449319515119945242094045728467756272236713837594002063360000) (*.f64 1/2 x) (if (<=.f64 x -8995946186503833/36893488147419103232) (*.f64 1/2 (*.f64 y (sqrt.f64 z))) (if (<=.f64 x -6331241978350013/452312848583266388373324160190187140051835877600158453279131187530910662656) (*.f64 1/2 x) (if (<=.f64 x 6490921534584947/1393796574908163946345982392040522594123776) (*.f64 1/2 (*.f64 y (sqrt.f64 z))) (*.f64 1/2 x)))))
(*.f64 1/2 x)
Outputs
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
(*.f64 1/2 (+.f64 (*.f64 y (sqrt.f64 z)) x))
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
(if (<=.f64 x -179087160449319515119945242094045728467756272236713837594002063360000) (*.f64 1/2 x) (if (<=.f64 x -8995946186503833/36893488147419103232) (*.f64 1/2 (*.f64 y (sqrt.f64 z))) (if (<=.f64 x -6331241978350013/452312848583266388373324160190187140051835877600158453279131187530910662656) (*.f64 1/2 x) (if (<=.f64 x 6490921534584947/1393796574908163946345982392040522594123776) (*.f64 1/2 (*.f64 y (sqrt.f64 z))) (*.f64 1/2 x)))))
(*.f64 1/2 x)
Compiler

Compiled 67 to 47 computations (29.9% saved)

soundness12.0ms (0.2%)

Algorithm
egg-herbie
Rules
10×fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01212
12310
23810
34810
Stop Event
saturated
Compiler

Compiled 48 to 36 computations (25% saved)

end37.0ms (0.6%)

Compiler

Compiled 58 to 35 computations (39.7% saved)

Profiling

Loading profile data...