Details

Time bar (total: 6.7s)

analyze527.0ms (7.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%99.9%0.1%8
2.3%94.4%3.3%9
3.5%90.1%6.4%10
4.1%89.5%6.4%11
17.1%71.1%11.8%12
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample2.8s (40.9%)

Results
1.3s6668×body256valid
566.0ms970×body1024valid
388.0ms2399×body256invalid
241.0ms611×body512valid
109.0ms232×body512invalid
102.0ms192×body1024invalid
6.0msbody2048valid

preprocess41.0ms (0.6%)

Algorithm
egg-herbie
Rules
792×times-frac_binary64
586×associate-/l/_binary64
458×associate-/r/_binary64
424×unswap-sqr_binary64
358×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03280
16264
29464
319464
448264
5118964
6321764
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (/.f64 (exp.f64 (*.f64 y (log.f64 (/.f64 y (+.f64 z y))))) y))
(+.f64 y (/.f64 (exp.f64 (*.f64 x (log.f64 (/.f64 x (+.f64 z x))))) x))
(+.f64 z (/.f64 (exp.f64 (*.f64 y (log.f64 (/.f64 y (+.f64 x y))))) y))
(+.f64 x (/.f64 (exp.f64 (*.f64 z (log.f64 (/.f64 z (+.f64 y z))))) z))
Outputs
(+.f64 x (/.f64 (exp.f64 (*.f64 y (log.f64 (/.f64 y (+.f64 z y))))) y))
(+.f64 x (/.f64 (pow.f64 (exp.f64 y) (log.f64 (/.f64 y (+.f64 y z)))) y))
(+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))
(+.f64 y (/.f64 (exp.f64 (*.f64 x (log.f64 (/.f64 x (+.f64 z x))))) x))
(+.f64 y (/.f64 (pow.f64 (exp.f64 x) (log.f64 (/.f64 x (+.f64 x z)))) x))
(+.f64 y (/.f64 (pow.f64 (/.f64 x (+.f64 x z)) x) x))
(+.f64 z (/.f64 (exp.f64 (*.f64 y (log.f64 (/.f64 y (+.f64 x y))))) y))
(+.f64 z (/.f64 (pow.f64 (exp.f64 y) (log.f64 (/.f64 y (+.f64 x y)))) y))
(+.f64 z (/.f64 (pow.f64 (/.f64 y (+.f64 x y)) y) y))
(+.f64 x (/.f64 (exp.f64 (*.f64 z (log.f64 (/.f64 z (+.f64 y z))))) z))
(+.f64 x (/.f64 (pow.f64 (exp.f64 z) (log.f64 (/.f64 z (+.f64 y z)))) z))
(+.f64 x (/.f64 (pow.f64 (/.f64 z (+.f64 y z)) z) z))
Compiler

Compiled 19 to 13 computations (31.6% saved)

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
522×unswap-sqr_binary64
448×fma-neg_binary64
363×fma-def_binary64
343×exp-sum_binary64
253×associate-*l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01120
11916
22816
35716
413816
533216
689316
7331416
8666616
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (/.f64 (exp.f64 (*.f64 y (log.f64 (/.f64 y (+.f64 z y))))) y))
Outputs
(+.f64 x (/.f64 (exp.f64 (*.f64 y (log.f64 (/.f64 y (+.f64 z y))))) y))
(+.f64 x (/.f64 (pow.f64 (exp.f64 y) (log.f64 (/.f64 y (+.f64 y z)))) y))
(+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))

eval1.0ms (0%)

Compiler

Compiled 27 to 15 computations (44.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
7.4b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
7.4b
(+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))
Compiler

Compiled 14 to 8 computations (42.9% saved)

localize14.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
8.2b
(pow.f64 (/.f64 y (+.f64 y z)) y)
0.0b
(+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))
0.0b
(/.f64 y (+.f64 y z))
0.0b
(/.f64 y (+.f64 y z))
0.0b
(+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))
8.2b
(pow.f64 (/.f64 y (+.f64 y z)) y)
Compiler

Compiled 41 to 8 computations (80.5% saved)

series29.0ms (0.4%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
8.0ms
x
@0
(+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))
3.0ms
y
@inf
(pow.f64 (/.f64 y (+.f64 y z)) y)
2.0ms
y
@-inf
(pow.f64 (/.f64 y (+.f64 y z)) y)
2.0ms
z
@inf
(pow.f64 (/.f64 y (+.f64 y z)) y)
2.0ms
y
@0
(pow.f64 (/.f64 y (+.f64 y z)) y)

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
584×log-prod_binary64
374×fma-def_binary64
308×pow2_binary64
231×pow-unpow_binary64
229×pow-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify136.0ms (2%)

Algorithm
egg-herbie
Rules
666×associate-/l*_binary64
562×associate-/r*_binary64
276×fma-def_binary64
220×associate-*l/_binary64
216×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02883163
19532771
238352394
Stop Event
node limit
Counts
207 → 218
Calls
Call 1
Inputs
1
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) 1)
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) (pow.f64 y 2))))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 z 2))) (+.f64 (*.f64 1/6 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3)) (*.f64 -1 (/.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) z)))) (pow.f64 y 3)) (+.f64 1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) (pow.f64 y 2)))))
(exp.f64 (*.f64 -1 z))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (exp.f64 (*.f64 -1 z))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/24 (+.f64 (*.f64 -12 (pow.f64 z 4)) (+.f64 (*.f64 -24 (pow.f64 z 4)) (+.f64 (*.f64 48 (pow.f64 z 4)) (*.f64 -6 (pow.f64 z 4)))))) (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 3)) (*.f64 1/12 (*.f64 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))))))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 3)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (exp.f64 (*.f64 -1 z)))))
(exp.f64 (*.f64 -1 z))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2)) (*.f64 -1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3)))))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2)) (*.f64 -1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3)))))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 1/12 (*.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3)))))) (+.f64 (*.f64 -1/24 (+.f64 (*.f64 -12 (pow.f64 z 4)) (+.f64 (*.f64 -24 (pow.f64 z 4)) (+.f64 (*.f64 48 (pow.f64 z 4)) (*.f64 -6 (pow.f64 z 4)))))) (*.f64 -1/48 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 3))))) (pow.f64 y 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z)))))
1
(+.f64 (*.f64 -1 z) 1)
(+.f64 (*.f64 -1 z) (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) 1/2) (pow.f64 z 2))))
(+.f64 (*.f64 -1 z) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 1/6 (*.f64 1/3 (/.f64 1 (pow.f64 y 2))))) (pow.f64 z 3))) (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) 1/2) (pow.f64 z 2)))))
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (pow.f64 z 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (+.f64 (*.f64 -1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 -2 (pow.f64 y 3)))))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (pow.f64 z 3)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (pow.f64 z 2)))))
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) (+.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 z 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) (+.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 2 (pow.f64 y 3)))))) (*.f64 1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (pow.f64 z 3))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 z 2)))))
(/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
x
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
x
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 (log.f64 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) y) (+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 (log.f64 y) x))))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) y) (+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 (log.f64 y) (+.f64 x (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 z 2))) (+.f64 (*.f64 1/6 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3)) (*.f64 -1 (/.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) z)))) (pow.f64 y 2)))))))
x
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) x))
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 3)) x)))
x
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) x))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2)))) (pow.f64 y 3)) (+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) x)))
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))) (pow.f64 z 2)) x)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 1/6 (*.f64 1/3 (/.f64 1 (pow.f64 y 2))))) (pow.f64 z 3)) y)) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))) (pow.f64 z 2)) x))))
(+.f64 x (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (*.f64 y (pow.f64 z 2))) (+.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y) x)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (+.f64 (*.f64 -1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 -2 (pow.f64 y 3)))))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (*.f64 y (pow.f64 z 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (*.f64 y (pow.f64 z 2))) (+.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y) x))))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) x))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (*.f64 y (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) x)))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 2 (pow.f64 y 3)))))) (*.f64 1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (*.f64 y (pow.f64 z 3)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (*.f64 y (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) x))))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (/.f64 y z))))
1
(+.f64 1 (*.f64 -1 (/.f64 z y)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 (pow.f64 z 2) (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 2) (pow.f64 y 2)))))
1
(+.f64 1 (*.f64 -1 (/.f64 z y)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 (pow.f64 z 2) (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 2) (pow.f64 y 2)))))
1
(+.f64 1 (*.f64 -1 (/.f64 z y)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 (pow.f64 z 2) (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 2) (pow.f64 y 2)))))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (/.f64 y z))))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (/.f64 y z))))
Outputs
1
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) 1)
(fma.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) y 1)
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) 1)
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) (pow.f64 y 2))))
(+.f64 (fma.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) y 1) (*.f64 (fma.f64 1/2 (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2) (neg.f64 (/.f64 1 z))) (*.f64 y y)))
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) (fma.f64 (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (*.f64 y y) 1))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 z 2))) (+.f64 (*.f64 1/6 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3)) (*.f64 -1 (/.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) z)))) (pow.f64 y 3)) (+.f64 1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) (pow.f64 y 2)))))
(fma.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) y (fma.f64 (+.f64 (/.f64 1/2 (*.f64 z z)) (fma.f64 1/6 (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 3) (neg.f64 (/.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) z)))) (pow.f64 y 3) (+.f64 1 (*.f64 (fma.f64 1/2 (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2) (neg.f64 (/.f64 1 z))) (*.f64 y y)))))
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) (fma.f64 (+.f64 (/.f64 1/2 (*.f64 z z)) (-.f64 (*.f64 1/6 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) (/.f64 (-.f64 (log.f64 y) (log.f64 z)) z))) (pow.f64 y 3) (fma.f64 (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (*.f64 y y) 1)))
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) (fma.f64 (+.f64 (-.f64 (/.f64 1/2 (*.f64 z z)) (/.f64 (-.f64 (log.f64 y) (log.f64 z)) z)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3))) (pow.f64 y 3) (fma.f64 (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (*.f64 y y) 1)))
(exp.f64 (*.f64 -1 z))
(exp.f64 (neg.f64 z))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z)))
(fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 y (*.f64 (*.f64 z z) 1))) (exp.f64 (neg.f64 z)))
(fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (*.f64 z z)) (exp.f64 (neg.f64 z)))
(fma.f64 1/2 (/.f64 z (/.f64 (*.f64 y (exp.f64 z)) z)) (exp.f64 (neg.f64 z)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (exp.f64 (*.f64 -1 z))))
(fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 y (*.f64 (*.f64 z z) 1))) (+.f64 (exp.f64 (neg.f64 z)) (/.f64 (fma.f64 1/6 (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -8)) (*.f64 1/8 (pow.f64 (*.f64 (*.f64 z z) 1) 2))) (/.f64 (*.f64 y y) (exp.f64 (neg.f64 z))))))
(+.f64 (exp.f64 (neg.f64 z)) (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (*.f64 z z)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 (pow.f64 z 3) -2) (*.f64 1/8 (pow.f64 z 4))) (*.f64 y y)) (exp.f64 (neg.f64 z)))))
(fma.f64 1/2 (/.f64 z (/.f64 (*.f64 y (exp.f64 z)) z)) (*.f64 (+.f64 (/.f64 (fma.f64 1/8 (pow.f64 z 4) (*.f64 (pow.f64 z 3) -1/3)) (*.f64 y y)) 1) (exp.f64 (neg.f64 z))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/24 (+.f64 (*.f64 -12 (pow.f64 z 4)) (+.f64 (*.f64 -24 (pow.f64 z 4)) (+.f64 (*.f64 48 (pow.f64 z 4)) (*.f64 -6 (pow.f64 z 4)))))) (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 3)) (*.f64 1/12 (*.f64 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3)))) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))))))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 3)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (exp.f64 (*.f64 -1 z)))))
(+.f64 (fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 y (*.f64 (*.f64 z z) 1))) (+.f64 (exp.f64 (neg.f64 z)) (/.f64 (fma.f64 1/6 (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -8)) (*.f64 1/8 (pow.f64 (*.f64 (*.f64 z z) 1) 2))) (/.f64 (*.f64 y y) (exp.f64 (neg.f64 z)))))) (/.f64 (fma.f64 1/24 (fma.f64 -12 (pow.f64 z 4) (fma.f64 -24 (pow.f64 z 4) (*.f64 (pow.f64 z 4) 42))) (fma.f64 1/48 (pow.f64 (*.f64 (*.f64 z z) 1) 3) (*.f64 1/12 (*.f64 (*.f64 (*.f64 z z) 1) (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -8)))))) (/.f64 (pow.f64 y 3) (exp.f64 (neg.f64 z)))))
(+.f64 (+.f64 (exp.f64 (neg.f64 z)) (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (*.f64 z z)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 (pow.f64 z 3) -2) (*.f64 1/8 (pow.f64 z 4))) (*.f64 y y)) (exp.f64 (neg.f64 z))))) (*.f64 (/.f64 (fma.f64 1/24 (fma.f64 -12 (pow.f64 z 4) (*.f64 (pow.f64 z 4) 18)) (fma.f64 1/48 (pow.f64 (*.f64 z z) 3) (*.f64 (*.f64 (pow.f64 z 3) -2) (*.f64 (*.f64 z z) 1/12)))) (pow.f64 y 3)) (exp.f64 (neg.f64 z))))
(+.f64 (fma.f64 1/2 (/.f64 z (/.f64 (*.f64 y (exp.f64 z)) z)) (/.f64 (fma.f64 1/8 (pow.f64 z 4) (*.f64 (pow.f64 z 3) -1/3)) (*.f64 (*.f64 y (exp.f64 z)) y))) (*.f64 (+.f64 (/.f64 (fma.f64 1/24 (*.f64 (pow.f64 z 4) 6) (*.f64 (*.f64 z z) (+.f64 (*.f64 1/48 (pow.f64 z 4)) (*.f64 (*.f64 (pow.f64 z 3) -2) 1/12)))) (pow.f64 y 3)) 1) (exp.f64 (neg.f64 z))))
(exp.f64 (*.f64 -1 z))
(exp.f64 (neg.f64 z))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z)))
(fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 y (*.f64 (*.f64 z z) 1))) (exp.f64 (neg.f64 z)))
(fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (*.f64 z z)) (exp.f64 (neg.f64 z)))
(fma.f64 1/2 (/.f64 z (/.f64 (*.f64 y (exp.f64 z)) z)) (exp.f64 (neg.f64 z)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2)) (*.f64 -1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3)))))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z))))
(fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 y (*.f64 (*.f64 z z) 1))) (+.f64 (exp.f64 (neg.f64 z)) (/.f64 (fma.f64 1/6 (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -8)) (*.f64 1/8 (pow.f64 (*.f64 (*.f64 z z) 1) 2))) (/.f64 (*.f64 y y) (exp.f64 (neg.f64 z))))))
(+.f64 (exp.f64 (neg.f64 z)) (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (*.f64 z z)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 (pow.f64 z 3) -2) (*.f64 1/8 (pow.f64 z 4))) (*.f64 y y)) (exp.f64 (neg.f64 z)))))
(fma.f64 1/2 (/.f64 z (/.f64 (*.f64 y (exp.f64 z)) z)) (*.f64 (+.f64 (/.f64 (fma.f64 1/8 (pow.f64 z 4) (*.f64 (pow.f64 z 3) -1/3)) (*.f64 y y)) 1) (exp.f64 (neg.f64 z))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2)) (*.f64 -1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3)))))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 1/12 (*.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3)))))) (+.f64 (*.f64 -1/24 (+.f64 (*.f64 -12 (pow.f64 z 4)) (+.f64 (*.f64 -24 (pow.f64 z 4)) (+.f64 (*.f64 48 (pow.f64 z 4)) (*.f64 -6 (pow.f64 z 4)))))) (*.f64 -1/48 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 3))))) (pow.f64 y 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) y)) (exp.f64 (*.f64 -1 z)))))
(+.f64 (/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (*.f64 z z) 1) 2) (*.f64 -1/6 (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -4)))) (/.f64 (*.f64 y y) (exp.f64 (neg.f64 z)))) (fma.f64 -1 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 (pow.f64 y 3) (fma.f64 1/12 (*.f64 (*.f64 (*.f64 z z) 1) (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -4))) (fma.f64 -1/24 (fma.f64 -12 (pow.f64 z 4) (fma.f64 -24 (pow.f64 z 4) (*.f64 (pow.f64 z 4) 42))) (*.f64 (pow.f64 (*.f64 (*.f64 z z) 1) 3) -1/48))))) (fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 y (*.f64 (*.f64 z z) 1))) (exp.f64 (neg.f64 z)))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (*.f64 z z)) (exp.f64 (neg.f64 z))) (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (/.f64 (fma.f64 -1/6 (*.f64 2 (pow.f64 z 3)) (*.f64 1/8 (pow.f64 z 4))) y)) (*.f64 (/.f64 (exp.f64 (neg.f64 z)) (pow.f64 y 3)) (fma.f64 1/12 (*.f64 (*.f64 z z) (*.f64 2 (pow.f64 z 3))) (fma.f64 (fma.f64 -12 (pow.f64 z 4) (*.f64 (pow.f64 z 4) 18)) -1/24 (*.f64 (pow.f64 (*.f64 z z) 3) -1/48))))))
(+.f64 (fma.f64 1/2 (/.f64 z (/.f64 (*.f64 y (exp.f64 z)) z)) (exp.f64 (neg.f64 z))) (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (-.f64 (/.f64 (fma.f64 1/8 (pow.f64 z 4) (*.f64 (pow.f64 z 3) -1/3)) y) (/.f64 (fma.f64 1/12 (*.f64 (*.f64 z z) (*.f64 2 (pow.f64 z 3))) (fma.f64 (*.f64 (pow.f64 z 4) 6) -1/24 (*.f64 (pow.f64 (*.f64 z z) 3) -1/48))) (*.f64 y y)))))
1
(+.f64 (*.f64 -1 z) 1)
(fma.f64 -1 z 1)
(-.f64 1 z)
(+.f64 (*.f64 -1 z) (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) 1/2) (pow.f64 z 2))))
(+.f64 (fma.f64 -1 z 1) (*.f64 (*.f64 z z) (+.f64 1/2 (/.f64 1/2 y))))
(-.f64 (fma.f64 (*.f64 z z) (+.f64 1/2 (/.f64 1/2 y)) 1) z)
(+.f64 (*.f64 -1 z) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 1/6 (*.f64 1/3 (/.f64 1 (pow.f64 y 2))))) (pow.f64 z 3))) (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) 1/2) (pow.f64 z 2)))))
(+.f64 (fma.f64 -1 z 1) (fma.f64 -1 (*.f64 (pow.f64 z 3) (+.f64 (+.f64 (/.f64 1/2 y) 1/6) (/.f64 1/3 (*.f64 y y)))) (*.f64 (*.f64 z z) (+.f64 1/2 (/.f64 1/2 y)))))
(+.f64 (-.f64 (fma.f64 (*.f64 z z) (+.f64 1/2 (/.f64 1/2 y)) 1) z) (*.f64 (pow.f64 z 3) (neg.f64 (+.f64 (/.f64 1/2 y) (+.f64 1/6 (/.f64 1/3 (*.f64 y y)))))))
(+.f64 (*.f64 (*.f64 z z) (-.f64 (+.f64 1/2 (/.f64 1/2 y)) (*.f64 z (+.f64 1/6 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1/2 y)))))) (-.f64 1 z))
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y)
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 (/.f64 1 z) y) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)))
(fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 z (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))
(-.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))))
(-.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (*.f64 (/.f64 1 z) y) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (pow.f64 z 2))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 z (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y)) (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) (/.f64 (*.f64 z z) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))))
(+.f64 (*.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) z) (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) z)) (-.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))))))
(-.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) 1) (pow.f64 (*.f64 (/.f64 1 z) y) y)) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (*.f64 (/.f64 1 z) y) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (+.f64 (*.f64 -1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 -2 (pow.f64 y 3)))))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (pow.f64 z 3)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (pow.f64 z 2)))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 z (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y)) (+.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) (/.f64 (*.f64 z z) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (/.f64 (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y) (/.f64 (pow.f64 z 3) (fma.f64 -1/6 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y (fma.f64 -6 (pow.f64 y 3) (*.f64 (pow.f64 y 3) 4))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (*.f64 (*.f64 y y) 1)))))))))
(+.f64 (+.f64 (*.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) z) (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) z)) (*.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) (pow.f64 z 3)) (fma.f64 -1/6 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y (pow.f64 y 4)) (*.f64 (*.f64 (pow.f64 y 3) -2) (*.f64 y 1/6)))))) (-.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))))))
(+.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) z) (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) z) (/.f64 (fma.f64 -1/6 (pow.f64 y 6) (fma.f64 1/6 (*.f64 (pow.f64 y 4) -2) (*.f64 -1/2 (pow.f64 y 5)))) (*.f64 z z)))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (*.f64 (/.f64 1 z) y) y))))
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))
(*.f64 (pow.f64 (neg.f64 y) y) (pow.f64 (/.f64 -1 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))))
(fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 z (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))
(-.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))))
(-.f64 (*.f64 (pow.f64 (neg.f64 y) y) (pow.f64 (/.f64 -1 z) y)) (*.f64 (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 (/.f64 z y) (pow.f64 (/.f64 -1 z) y))) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) (+.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 z 2))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 z (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))) (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) (/.f64 (*.f64 z z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))))
(+.f64 (*.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))) (-.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))))
(-.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) 1) (*.f64 (pow.f64 (neg.f64 y) y) (pow.f64 (/.f64 -1 z) y))) (*.f64 (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 (/.f64 z y) (pow.f64 (/.f64 -1 z) y))) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) (+.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 2 (pow.f64 y 3)))))) (*.f64 1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (pow.f64 z 3))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 z 2)))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (/.f64 z (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))) (fma.f64 -1 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (/.f64 (pow.f64 z 3) (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y (fma.f64 -6 (pow.f64 y 3) (*.f64 (pow.f64 y 3) 8))) (*.f64 1/2 (*.f64 (pow.f64 y 3) (*.f64 (*.f64 y y) 1))))))) (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) (/.f64 (*.f64 z z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))))))
(+.f64 (-.f64 (*.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))) (*.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (pow.f64 z 3)) (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/2 (*.f64 y (pow.f64 y 4)) (*.f64 (*.f64 2 (pow.f64 y 3)) (*.f64 y 1/6)))))) (-.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 (/.f64 (*.f64 y y) z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (neg.f64 y) y) (pow.f64 (/.f64 -1 z) y)) z) (-.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) z) (/.f64 (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/2 (pow.f64 y 5) (*.f64 1/6 (*.f64 (pow.f64 y 4) 2)))) (*.f64 z z)))) (-.f64 (*.f64 (pow.f64 (neg.f64 y) y) (pow.f64 (/.f64 -1 z) y)) (*.f64 (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 (/.f64 z y) (pow.f64 (/.f64 -1 z) y))) y)))
(/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y)
(/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
x
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
x
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(+.f64 (/.f64 (exp.f64 (*.f64 (log.f64 (/.f64 y (+.f64 y z))) y)) y) x)
(+.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 z y)) y) y) x)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 (log.f64 y) x)))
(+.f64 (/.f64 1 y) (+.f64 (neg.f64 (log.f64 z)) (+.f64 (log.f64 y) x)))
(+.f64 (-.f64 (log.f64 y) (log.f64 z)) (+.f64 (/.f64 1 y) x))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) y) (+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 (log.f64 y) x))))
(fma.f64 (fma.f64 1/2 (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2) (neg.f64 (/.f64 1 z))) y (+.f64 (/.f64 1 y) (+.f64 (neg.f64 (log.f64 z)) (+.f64 (log.f64 y) x))))
(+.f64 (+.f64 (-.f64 (log.f64 y) (log.f64 z)) x) (fma.f64 y (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (/.f64 1 y)))
(fma.f64 y (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (+.f64 (-.f64 (log.f64 y) (log.f64 z)) (+.f64 (/.f64 1 y) x)))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)) (/.f64 1 z)) y) (+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 (log.f64 y) (+.f64 x (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 z 2))) (+.f64 (*.f64 1/6 (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3)) (*.f64 -1 (/.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) z)))) (pow.f64 y 2)))))))
(fma.f64 (fma.f64 1/2 (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2) (neg.f64 (/.f64 1 z))) y (+.f64 (+.f64 (/.f64 1 y) (neg.f64 (log.f64 z))) (+.f64 (+.f64 (log.f64 y) x) (*.f64 (*.f64 y y) (+.f64 (/.f64 1/2 (*.f64 z z)) (fma.f64 1/6 (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 3) (neg.f64 (/.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) z))))))))
(+.f64 (+.f64 (-.f64 (log.f64 y) (log.f64 z)) (fma.f64 (*.f64 y y) (+.f64 (/.f64 1/2 (*.f64 z z)) (-.f64 (*.f64 1/6 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) (/.f64 (-.f64 (log.f64 y) (log.f64 z)) z))) x)) (fma.f64 y (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (/.f64 1 y)))
(+.f64 (+.f64 (log.f64 y) (-.f64 (fma.f64 (*.f64 y y) (+.f64 (-.f64 (/.f64 1/2 (*.f64 z z)) (/.f64 (-.f64 (log.f64 y) (log.f64 z)) z)) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3))) x) (log.f64 z))) (fma.f64 y (fma.f64 1/2 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (/.f64 -1 z)) (/.f64 1 y)))
x
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) x)
(+.f64 x (/.f64 (exp.f64 (neg.f64 z)) y))
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 (*.f64 y y) (*.f64 (*.f64 z z) 1))) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (/.f64 (*.f64 z z) y)) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (/.f64 (*.f64 z z) (*.f64 (*.f64 y (exp.f64 z)) y)) x))
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -2 (pow.f64 z 3)) (*.f64 -6 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2))) (exp.f64 (*.f64 -1 z))) (pow.f64 y 3)) x)))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 (*.f64 y y) (*.f64 (*.f64 z z) 1))) (+.f64 x (/.f64 (fma.f64 1/6 (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -8)) (*.f64 1/8 (pow.f64 (*.f64 (*.f64 z z) 1) 2))) (/.f64 (pow.f64 y 3) (exp.f64 (neg.f64 z)))))))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (+.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (/.f64 (*.f64 z z) y)) x) (/.f64 (fma.f64 1/6 (*.f64 (pow.f64 z 3) -2) (*.f64 1/8 (pow.f64 z 4))) (/.f64 (pow.f64 y 3) (exp.f64 (neg.f64 z))))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 z z) (*.f64 (*.f64 y (exp.f64 z)) y)) x) (*.f64 (+.f64 (/.f64 (fma.f64 1/8 (pow.f64 z 4) (*.f64 (pow.f64 z 3) -1/3)) (*.f64 y y)) 1) (/.f64 (exp.f64 (neg.f64 z)) y)))
x
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) x)
(+.f64 x (/.f64 (exp.f64 (neg.f64 z)) y))
(+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 (*.f64 y y) (*.f64 (*.f64 z z) 1))) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (/.f64 (*.f64 z z) y)) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (/.f64 (*.f64 z z) (*.f64 (*.f64 y (exp.f64 z)) y)) x))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1/6 (+.f64 (*.f64 6 (pow.f64 z 3)) (+.f64 (*.f64 -6 (pow.f64 z 3)) (*.f64 2 (pow.f64 z 3))))) (*.f64 1/8 (pow.f64 (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2))) 2)))) (pow.f64 y 3)) (+.f64 (/.f64 (exp.f64 (*.f64 -1 z)) y) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (exp.f64 (*.f64 -1 z)) (+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 2 (pow.f64 z 2)))) (pow.f64 y 2))) x)))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (fma.f64 1/2 (/.f64 (exp.f64 (neg.f64 z)) (/.f64 (*.f64 y y) (*.f64 (*.f64 z z) 1))) (+.f64 x (/.f64 (fma.f64 1/6 (fma.f64 6 (pow.f64 z 3) (*.f64 (pow.f64 z 3) -8)) (*.f64 1/8 (pow.f64 (*.f64 (*.f64 z z) 1) 2))) (/.f64 (pow.f64 y 3) (exp.f64 (neg.f64 z)))))))
(+.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (+.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 (neg.f64 z)) y) (/.f64 (*.f64 z z) y)) x) (/.f64 (fma.f64 1/6 (*.f64 (pow.f64 z 3) -2) (*.f64 1/8 (pow.f64 z 4))) (/.f64 (pow.f64 y 3) (exp.f64 (neg.f64 z))))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 z z) (*.f64 (*.f64 y (exp.f64 z)) y)) x) (*.f64 (+.f64 (/.f64 (fma.f64 1/8 (pow.f64 z 4) (*.f64 (pow.f64 z 3) -1/3)) (*.f64 y y)) 1) (/.f64 (exp.f64 (neg.f64 z)) y)))
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (fma.f64 -1 (/.f64 z y) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))) (pow.f64 z 2)) x)))
(+.f64 (/.f64 1 y) (fma.f64 -1 (/.f64 z y) (fma.f64 (+.f64 (/.f64 1/2 y) (/.f64 1/2 (*.f64 y y))) (*.f64 z z) x)))
(+.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1/2 y) (/.f64 1/2 (*.f64 y y))) x) (-.f64 (/.f64 1 y) (/.f64 z y)))
(+.f64 (/.f64 1 y) (-.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1/2 y) (/.f64 1/2 (*.f64 y y))) x) (/.f64 z y)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (+.f64 1/6 (*.f64 1/3 (/.f64 1 (pow.f64 y 2))))) (pow.f64 z 3)) y)) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 y)) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))) (pow.f64 z 2)) x))))
(+.f64 (/.f64 1 y) (fma.f64 -1 (/.f64 (+.f64 (+.f64 (/.f64 1/2 y) 1/6) (/.f64 1/3 (*.f64 y y))) (/.f64 y (pow.f64 z 3))) (fma.f64 -1 (/.f64 z y) (fma.f64 (+.f64 (/.f64 1/2 y) (/.f64 1/2 (*.f64 y y))) (*.f64 z z) x))))
(+.f64 (/.f64 1 y) (-.f64 (-.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1/2 y) (/.f64 1/2 (*.f64 y y))) x) (/.f64 z y)) (/.f64 (*.f64 (pow.f64 z 3) (+.f64 (/.f64 1/2 y) (+.f64 1/6 (/.f64 1/3 (*.f64 y y))))) y)))
(+.f64 (/.f64 1 y) (-.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1/2 y) (/.f64 1/2 (*.f64 y y))) x) (+.f64 (*.f64 (/.f64 (pow.f64 z 3) y) (+.f64 1/6 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1/2 y)))) (/.f64 z y))))
(+.f64 x (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y))
(+.f64 x (/.f64 (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y) y))
(+.f64 x (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y))
(+.f64 x (/.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y) x))
(fma.f64 -1 (/.f64 y (/.f64 z (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (+.f64 x (/.f64 (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y) y)))
(-.f64 (+.f64 x (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)) (*.f64 (/.f64 y z) (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))))
(+.f64 x (-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) y) (*.f64 (/.f64 y z) (pow.f64 (*.f64 (/.f64 1 z) y) y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (*.f64 y (pow.f64 z 2))) (+.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y) x)))
(fma.f64 -1 (/.f64 y (/.f64 z (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (+.f64 (+.f64 x (/.f64 (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y) y)) (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) (/.f64 (*.f64 y (*.f64 z z)) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y)))))
(-.f64 (+.f64 x (fma.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) y) (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) (*.f64 z z)) (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y))) (*.f64 (/.f64 y z) (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))))
(+.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) 1) (/.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) y)) (-.f64 x (*.f64 (/.f64 y z) (pow.f64 (*.f64 (/.f64 1 z) y) y))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) (+.f64 (*.f64 -1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 -2 (pow.f64 y 3)))))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (*.f64 y (pow.f64 z 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) z)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))) (*.f64 y (pow.f64 z 2))) (+.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y) x))))
(+.f64 (fma.f64 -1 (/.f64 y (/.f64 z (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))) (+.f64 (+.f64 x (/.f64 (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y) y)) (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) (/.f64 (*.f64 y (*.f64 z z)) (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y))))) (*.f64 (/.f64 (pow.f64 (exp.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))) y) y) (/.f64 (fma.f64 -1/6 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y (fma.f64 -6 (pow.f64 y 3) (*.f64 (pow.f64 y 3) 4))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (*.f64 (*.f64 y y) 1))))) (pow.f64 z 3))))
(fma.f64 (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y) (/.f64 (fma.f64 -1/6 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y (pow.f64 y 4)) (*.f64 (*.f64 (pow.f64 y 3) -2) (*.f64 y 1/6)))) (pow.f64 z 3)) (-.f64 (+.f64 x (fma.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) y) (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) (*.f64 z z)) (/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y))) (*.f64 (/.f64 y z) (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))))))
(fma.f64 (/.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) y) (/.f64 (fma.f64 -1/6 (pow.f64 y 6) (fma.f64 1/6 (*.f64 (pow.f64 y 4) -2) (*.f64 -1/2 (pow.f64 y 5)))) (pow.f64 z 3)) (+.f64 (*.f64 (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) 1) (/.f64 (pow.f64 (*.f64 (/.f64 1 z) y) y) y)) (-.f64 x (*.f64 (/.f64 y z) (pow.f64 (*.f64 (/.f64 1 z) y) y)))))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) x)
(+.f64 x (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y))
(+.f64 x (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 y (pow.f64 (/.f64 -1 z) y))))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) x))
(+.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (fma.f64 -1 (/.f64 y (/.f64 z (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))) x))
(+.f64 x (-.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (*.f64 (/.f64 y z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))))
(+.f64 x (-.f64 (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 y (pow.f64 (/.f64 -1 z) y))) (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 (/.f64 z y) (pow.f64 (/.f64 -1 z) y)))))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (*.f64 y (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) x)))
(+.f64 (+.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) y) (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 z z)))) (fma.f64 -1 (/.f64 y (/.f64 z (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))) x))
(+.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (fma.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) y) (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 z z)) (-.f64 x (*.f64 (/.f64 y z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))))))
(+.f64 (-.f64 x (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 (/.f64 z y) (pow.f64 (/.f64 -1 z) y)))) (*.f64 (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) 1) (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 y (pow.f64 (/.f64 -1 z) y)))))
(+.f64 (/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) (+.f64 (*.f64 1/6 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (*.f64 y (+.f64 (*.f64 -6 (pow.f64 y 3)) (+.f64 (*.f64 6 (pow.f64 y 3)) (*.f64 2 (pow.f64 y 3)))))) (*.f64 1/2 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2)))))))) (*.f64 y (pow.f64 z 3)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 y (+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 2 (pow.f64 y 2))))) (*.f64 1/2 (pow.f64 y 4))) (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) (*.f64 y (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 y (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))) z)) x))))
(+.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (fma.f64 -1 (*.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (/.f64 (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y (fma.f64 -6 (pow.f64 y 3) (*.f64 (pow.f64 y 3) 8))) (*.f64 1/2 (*.f64 (pow.f64 y 3) (*.f64 (*.f64 y y) 1))))) (pow.f64 z 3))) (+.f64 (fma.f64 -1 (/.f64 y (/.f64 z (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))))) x) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 y (*.f64 (*.f64 y y) 1)) (pow.f64 y 4))) y) (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 z z))))))
(+.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (-.f64 (fma.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) y) (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) (*.f64 z z)) (-.f64 x (*.f64 (/.f64 y z) (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z))))))) (*.f64 (/.f64 (pow.f64 (exp.f64 y) (+.f64 (log.f64 (neg.f64 y)) (log.f64 (/.f64 -1 z)))) y) (/.f64 (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/2 (*.f64 y (pow.f64 y 4)) (*.f64 (*.f64 2 (pow.f64 y 3)) (*.f64 y 1/6)))) (pow.f64 z 3)))))
(+.f64 (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 y (pow.f64 (/.f64 -1 z) y))) (+.f64 (-.f64 x (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 (/.f64 z y) (pow.f64 (/.f64 -1 z) y)))) (*.f64 (/.f64 (pow.f64 (neg.f64 y) y) (/.f64 y (pow.f64 (/.f64 -1 z) y))) (+.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 y 3) (pow.f64 y 4))) (*.f64 z z)) (/.f64 (neg.f64 (fma.f64 1/6 (pow.f64 y 6) (fma.f64 1/2 (pow.f64 y 5) (*.f64 1/6 (*.f64 (pow.f64 y 4) 2))))) (pow.f64 z 3))))))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z))
(fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (/.f64 y z))
(-.f64 (/.f64 y z) (*.f64 (/.f64 y z) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z)))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (/.f64 y z)) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (/.f64 y z) (-.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (/.f64 y z) (-.f64 (pow.f64 (/.f64 y z) 3) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (fma.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4)) (/.f64 y z))))
(+.f64 (-.f64 (/.f64 y z) (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (-.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (pow.f64 (/.f64 y z) 3) (-.f64 (-.f64 (/.f64 y z) (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (*.f64 (/.f64 y z) (/.f64 y z))))
1
(+.f64 1 (*.f64 -1 (/.f64 z y)))
(+.f64 1 (neg.f64 (/.f64 z y)))
(-.f64 1 (/.f64 z y))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 (pow.f64 z 2) (pow.f64 y 2))))
(+.f64 1 (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 z z) (*.f64 y y))))
(+.f64 1 (-.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 z y)))
(+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 2) (pow.f64 y 2)))))
(+.f64 1 (fma.f64 -1 (/.f64 z y) (fma.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 (*.f64 z z) (*.f64 y y)))))
(+.f64 1 (-.f64 (-.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 z y)))
(+.f64 1 (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))) (pow.f64 (/.f64 z y) 3)))
1
(+.f64 1 (*.f64 -1 (/.f64 z y)))
(+.f64 1 (neg.f64 (/.f64 z y)))
(-.f64 1 (/.f64 z y))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 (pow.f64 z 2) (pow.f64 y 2))))
(+.f64 1 (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 z z) (*.f64 y y))))
(+.f64 1 (-.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 z y)))
(+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 2) (pow.f64 y 2)))))
(+.f64 1 (fma.f64 -1 (/.f64 z y) (fma.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 (*.f64 z z) (*.f64 y y)))))
(+.f64 1 (-.f64 (-.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 z y)))
(+.f64 1 (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))) (pow.f64 (/.f64 z y) 3)))
1
(+.f64 1 (*.f64 -1 (/.f64 z y)))
(+.f64 1 (neg.f64 (/.f64 z y)))
(-.f64 1 (/.f64 z y))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 (pow.f64 z 2) (pow.f64 y 2))))
(+.f64 1 (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 z z) (*.f64 y y))))
(+.f64 1 (-.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 z y)))
(+.f64 1 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 (pow.f64 z 2) (pow.f64 y 2)))))
(+.f64 1 (fma.f64 -1 (/.f64 z y) (fma.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 3)) (/.f64 (*.f64 z z) (*.f64 y y)))))
(+.f64 1 (-.f64 (-.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))) (/.f64 z y)))
(+.f64 1 (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 z y))) (pow.f64 (/.f64 z y) 3)))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z))
(fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (/.f64 y z))
(-.f64 (/.f64 y z) (*.f64 (/.f64 y z) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z)))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (/.f64 y z)) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (/.f64 y z) (-.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (/.f64 y z) (-.f64 (pow.f64 (/.f64 y z) 3) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (fma.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4)) (/.f64 y z))))
(+.f64 (-.f64 (/.f64 y z) (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (-.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (pow.f64 (/.f64 y z) 3) (-.f64 (-.f64 (/.f64 y z) (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (*.f64 (/.f64 y z) (/.f64 y z))))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z))
(fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (/.f64 y z))
(-.f64 (/.f64 y z) (*.f64 (/.f64 y z) (/.f64 y z)))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (/.f64 y z)))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (/.f64 y z)) (/.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (/.f64 y z) (-.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (/.f64 y z) (-.f64 (pow.f64 (/.f64 y z) 3) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (/.f64 y z))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 -1 (/.f64 (*.f64 y y) (*.f64 z z)) (fma.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 z 4)) (/.f64 y z))))
(+.f64 (-.f64 (/.f64 y z) (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (-.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 (/.f64 y z) (/.f64 y z))))
(+.f64 (pow.f64 (/.f64 y z) 3) (-.f64 (-.f64 (/.f64 y z) (/.f64 (pow.f64 y 4) (pow.f64 z 4))) (*.f64 (/.f64 y z) (/.f64 y z))))

eval164.0ms (2.4%)

Compiler

Compiled 5973 to 3020 computations (49.4% saved)

prune59.0ms (0.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2108218
Fresh000
Picked101
Done000
Total2118219
Error
0b
Counts
219 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
15.2b
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
34.6b
(/.f64 1 y)
8.6b
(pow.f64 (cbrt.f64 (+.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y))) 3)
15.2b
(+.f64 x (/.f64 (-.f64 1 z) y))
33.4b
(+.f64 x (/.f64 (pow.f64 (/.f64 y z) y) y))
41.8b
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y) 3)) (+.f64 (pow.f64 (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y) 2) (-.f64 (*.f64 x x) (*.f64 x (/.f64 (pow.f64 (/.f64 y (+.f64 y z)) y) y)))))
28.7b
x
1.4b
(+.f64 (/.f64 1 y) x)
Compiler

Compiled 226 to 129 computations (42.9% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0%)

Counts
1 → 6
Calls

6 calls:

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

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
665×pow1_binary64
620×add-log-exp_binary64
620×log1p-expm1-u_binary64
620×expm1-log1p-u_binary64
606×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0512
1712
Stop Event
saturated
Counts
39 → 35
Calls
Call 1
Inputs
(/.f64 1 y)
x
x
(/.f64 1 y)
x
x
Outputs
(/.f64 1 y)
x
x
(/.f64 1 y)
x
x

localize4.0ms (0.1%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 22 to 13 computations (40.9% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

15 calls:

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

rewrite73.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
964×prod-diff_binary64
446×log-prod_binary64
280×pow-prod-down_binary64
262×fma-def_binary64
249×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.6%)

Algorithm
egg-herbie
Rules
259×fma-neg_binary64
195×fma-def_binary64
79×cancel-sign-sub-inv_binary64
46×sub-neg_binary64
37×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017467
136386
251386
382386
4125386
5224386
6399386
7666386
8933386
91130386
101177386
Stop Event
saturated
Counts
187 → 149
Calls
Call 1
Inputs
(-.f64 (/.f64 1 y) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(/.f64 (-.f64 1 z) y)
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
Outputs
(-.f64 (/.f64 1 y) (/.f64 z y))
(/.f64 (-.f64 1 z) y)
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(/.f64 (-.f64 1 z) y)
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 x (/.f64 (-.f64 1 z) y))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 27 to 11 computations (59.3% saved)

series5.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite102.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
497×log-prod_binary64
430×fma-def_binary64
364×pow-prod-down_binary64
276×pow2_binary64
229×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify54.0ms (0.8%)

Algorithm
egg-herbie
Rules
259×fma-neg_binary64
195×fma-def_binary64
79×cancel-sign-sub-inv_binary64
46×sub-neg_binary64
37×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
016633
134525
249525
382525
4125525
5224525
6398525
7664525
8931525
91127525
101174525
Stop Event
saturated
Counts
262 → 202
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(/.f64 (-.f64 1 z) y)
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(-.f64 (/.f64 1 y) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
Outputs
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
x
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 z y)) x)
(fma.f64 -1 (/.f64 z y) x)
(-.f64 x (/.f64 z y))
(/.f64 (-.f64 1 z) y)
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (/.f64 1 y) (/.f64 z y))
(/.f64 (-.f64 1 z) y)
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
x
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(-.f64 (+.f64 (/.f64 1 y) x) (/.f64 z y))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) x)
(+.f64 x (/.f64 1 y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (/.f64 z y)) x))
(+.f64 (/.f64 1 y) (-.f64 x (/.f64 z y)))
(+.f64 x (/.f64 (-.f64 1 z) y))

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.5b
(pow.f64 (/.f64 y z) y)
0.0b
(/.f64 (pow.f64 (/.f64 y z) y) y)
0.0b
(/.f64 (pow.f64 (/.f64 y z) y) y)
7.5b
(pow.f64 (/.f64 y z) y)
Compiler

Compiled 30 to 7 computations (76.7% saved)

series68.0ms (1%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
34.0ms
z
@0
(pow.f64 (/.f64 y z) y)
21.0ms
z
@-inf
(pow.f64 (/.f64 y z) y)
7.0ms
z
@inf
(pow.f64 (/.f64 y z) y)
1.0ms
y
@-inf
(/.f64 (pow.f64 (/.f64 y z) y) y)
1.0ms
y
@0
(pow.f64 (/.f64 y z) y)

rewrite52.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
580×cancel-sign-sub-inv_binary64
440×fma-neg_binary64
375×*-commutative_binary64
326×unsub-neg_binary64
255×unswap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
053621
1143547
2418473
32321396
44822395
Stop Event
node limit
Counts
79 → 69
Calls
Call 1
Inputs
1
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) 1)
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)))))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2))) (*.f64 1/6 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3))))))
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (*.f64 y (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2))) (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (*.f64 y (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2))) (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)))))
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
Outputs
1
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) 1)
(fma.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) y 1)
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) 1)
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2)))))
(+.f64 (fma.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) y 1) (*.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2))))
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) (fma.f64 1/2 (*.f64 y (*.f64 y (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2))) 1))
(+.f64 1 (*.f64 y (-.f64 (fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 y 1/2) (log.f64 y)) (log.f64 z))))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2))) (*.f64 1/6 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3))))))
(+.f64 (fma.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) y 1) (fma.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 3)))))
(+.f64 (fma.f64 1/6 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) (*.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 1/2 (*.f64 y y)))) (fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) 1))
(fma.f64 y (-.f64 (log.f64 y) (log.f64 z)) (fma.f64 1/2 (*.f64 y (*.f64 y (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2))) (fma.f64 1/6 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) 1)))
(+.f64 (*.f64 y (-.f64 (fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 y 1/2) (log.f64 y)) (log.f64 z))) (fma.f64 1/6 (pow.f64 (*.f64 y (-.f64 (log.f64 y) (log.f64 z))) 3) 1))
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z)))))
(exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z)))
(pow.f64 (*.f64 y (/.f64 1 z)) y)
(pow.f64 (/.f64 y z) y)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)))
(+.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) (/.f64 1 y))
(+.f64 (-.f64 (log.f64 y) (log.f64 z)) (/.f64 1 y))
(+.f64 (log.f64 y) (-.f64 (/.f64 1 y) (log.f64 z)))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (*.f64 y (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2))) (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y))))
(+.f64 (/.f64 1 y) (fma.f64 1/2 (*.f64 y (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2)) (+.f64 (neg.f64 (log.f64 z)) (log.f64 y))))
(+.f64 (/.f64 1 y) (fma.f64 1/2 (*.f64 y (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2)) (-.f64 (log.f64 y) (log.f64 z))))
(fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 y 1/2) (+.f64 (log.f64 y) (-.f64 (/.f64 1 y) (log.f64 z))))
(+.f64 (/.f64 1 y) (-.f64 (fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 y 1/2) (log.f64 y)) (log.f64 z)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 3))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (*.f64 y (pow.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) 2))) (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)))))
(fma.f64 1/6 (*.f64 (*.f64 y y) (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 3)) (+.f64 (/.f64 1 y) (fma.f64 1/2 (*.f64 y (pow.f64 (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)) 2)) (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))))
(+.f64 (fma.f64 1/2 (*.f64 y (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2)) (-.f64 (log.f64 y) (log.f64 z))) (fma.f64 1/6 (*.f64 (*.f64 y y) (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) (/.f64 1 y)))
(fma.f64 (*.f64 y y) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) (fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 y 1/2) (+.f64 (log.f64 y) (-.f64 (/.f64 1 y) (log.f64 z)))))
(+.f64 (/.f64 1 y) (fma.f64 (*.f64 y y) (*.f64 1/6 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 3)) (-.f64 (fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (*.f64 y 1/2) (log.f64 y)) (log.f64 z))))
(fma.f64 (pow.f64 (-.f64 (log.f64 y) (log.f64 z)) 2) (+.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 z)) (*.f64 y (*.f64 y 1/6))) (*.f64 y 1/2)) (+.f64 (log.f64 y) (-.f64 (/.f64 1 y) (log.f64 z))))
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 z))) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 z)) (log.f64 y)) y)) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (log.f64 (*.f64 -1 y)) (log.f64 (/.f64 -1 z))))) y)
(/.f64 (exp.f64 (*.f64 y (+.f64 (neg.f64 (log.f64 z)) (log.f64 y)))) y)
(/.f64 (pow.f64 (exp.f64 y) (-.f64 (log.f64 y) (log.f64 z))) y)
(/.f64 (pow.f64 (*.f64 y (/.f64 1 z)) y) y)
(/.f64 (pow.f64 (/.f64 y z) y) y)

eval180.0ms (2.7%)

Compiler

Compiled 8089 to 3852 computations (52.4% saved)

prune138.0ms (2.1%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New4523455
Fresh213
Picked011
Done224
Total4567463
Error
0b
Counts
463 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
44.3b
(-.f64 (/.f64 1 y) (/.f64 z y))
28.1b
(/.f64 (-.f64 (pow.f64 y -2) (*.f64 x x)) (-.f64 (/.f64 1 y) x))
33.4b
(+.f64 x (/.f64 (pow.f64 (/.f64 y z) y) y))
44.3b
(/.f64 (-.f64 1 z) y)
34.6b
(/.f64 1 y)
28.7b
x
1.4b
(+.f64 (/.f64 1 y) x)
Compiler

Compiled 64 to 45 computations (29.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 14 to 9 computations (35.7% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify68.0ms (1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize18.0ms (0.3%)

Local error

Found 6 expressions with local error:

NewErrorProgram
25.1b
(/.f64 (-.f64 (pow.f64 y -2) (*.f64 x x)) (-.f64 (/.f64 1 y) x))
3.2b
(-.f64 (pow.f64 y -2) (*.f64 x x))
0.0b
(-.f64 (/.f64 1 y) x)
0.0b
(-.f64 (/.f64 1 y) x)
3.2b
(-.f64 (pow.f64 y -2) (*.f64 x x))
25.1b
(/.f64 (-.f64 (pow.f64 y -2) (*.f64 x x)) (-.f64 (/.f64 1 y) x))
Compiler

Compiled 41 to 23 computations (43.9% saved)

series9.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite101.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
584×log-prod_binary64
428×fma-def_binary64
317×pow2_binary64
222×fma-neg_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify70.0ms (1%)

Algorithm
egg-herbie
Rules
617×associate-*l*_binary64
538×distribute-neg-frac_binary64
514×fma-neg_binary64
428×fma-def_binary64
418×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
015628
131556
249556
397556
4238556
5737556
62620556
75450556
Stop Event
node limit
Counts
350 → 290
Calls
Call 1
Inputs
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(/.f64 1 (pow.f64 y 2))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(/.f64 1 (pow.f64 y 2))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (*.f64 -1 x))
Outputs
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
x
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) x)
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 -1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 y y)) (neg.f64 (*.f64 x x)))
(-.f64 (/.f64 1 (*.f64 y y)) (*.f64 x x))
(fma.f64 x (neg.f64 x) (/.f64 1 (*.f64 y y)))
(neg.f64 (fma.f64 x x (/.f64 -1 (*.f64 y y))))
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (*.f64 -1 x))
(+.f64 (/.f64 1 y) (neg.f64 x))
(-.f64 (/.f64 1 y) x)

localize45.0ms (0.7%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 10 computations (47.4% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
949×pow1_binary64
889×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
82×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify21.0ms (0.3%)

Algorithm
egg-herbie
Rules
135×fma-def_binary64
118×fma-neg_binary64
27×div-sub_binary64
25×cancel-sign-sub-inv_binary64
22×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014163
126163
235163
348163
468163
599163
6164163
7295163
8524163
9669163
10715163
Stop Event
saturated
Counts
80 → 61
Calls
Call 1
Inputs
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
Outputs
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (-.f64 1 z) y)
(/.f64 (+.f64 (*.f64 -1 z) 1) y)
(/.f64 (-.f64 1 z) y)
(/.f64 1 y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(*.f64 -1 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)
(+.f64 (/.f64 1 y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 1 z) y)

eval272.0ms (4%)

Compiler

Compiled 8240 to 4701 computations (42.9% saved)

prune116.0ms (1.7%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New4251426
Fresh011
Picked011
Done055
Total4258433
Error
0b
Counts
433 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
44.3b
(-.f64 (/.f64 1 y) (/.f64 z y))
28.1b
(/.f64 (-.f64 (pow.f64 y -2) (*.f64 x x)) (-.f64 (/.f64 1 y) x))
46.4b
(/.f64 (/.f64 1 (*.f64 y y)) (-.f64 (/.f64 1 y) x))
33.4b
(+.f64 x (/.f64 (pow.f64 (/.f64 y z) y) y))
44.3b
(/.f64 (-.f64 1 z) y)
34.6b
(/.f64 1 y)
28.7b
x
1.4b
(+.f64 (/.f64 1 y) x)
Compiler

Compiled 78 to 55 computations (29.5% saved)

localize17.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
15.3b
(/.f64 (/.f64 1 (*.f64 y y)) (-.f64 (/.f64 1 y) x))
0.3b
(/.f64 1 (*.f64 y y))
0.0b
(-.f64 (/.f64 1 y) x)
0.0b
(-.f64 (/.f64 1 y) x)
0.3b
(/.f64 1 (*.f64 y y))
15.3b
(/.f64 (/.f64 1 (*.f64 y y)) (-.f64 (/.f64 1 y) x))
Compiler

Compiled 33 to 18 computations (45.5% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
576×prod-diff_binary64
474×log-prod_binary64
307×pow-prod-down_binary64
267×fma-def_binary64
249×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
717×fma-def_binary64
696×associate-/r*_binary64
683×fma-neg_binary64
655×distribute-neg-frac_binary64
597×associate-*l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
043734
1121702
2357702
31372692
44481656
Stop Event
node limit
Counts
124 → 104
Calls
Call 1
Inputs
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 x (*.f64 y (pow.f64 x 2))))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 x 3)) (+.f64 x (*.f64 y (pow.f64 x 2)))))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 x (*.f64 y (pow.f64 x 2))))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 x 3)) (+.f64 x (*.f64 y (pow.f64 x 2)))))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
Outputs
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 x (*.f64 y (pow.f64 x 2))))
(+.f64 (/.f64 1 y) (+.f64 x (*.f64 y (*.f64 x x))))
(+.f64 (/.f64 1 y) (fma.f64 y (*.f64 x x) x))
(fma.f64 (fma.f64 y x 1) x (/.f64 1 y))
(fma.f64 x (fma.f64 y x 1) (/.f64 1 y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 x 3)) (+.f64 x (*.f64 y (pow.f64 x 2)))))
(+.f64 (/.f64 1 y) (fma.f64 (*.f64 y y) (pow.f64 x 3) (+.f64 x (*.f64 y (*.f64 x x)))))
(+.f64 (/.f64 1 y) (fma.f64 (*.f64 y y) (pow.f64 x 3) (fma.f64 y (*.f64 x x) x)))
(+.f64 (/.f64 1 y) (fma.f64 y (*.f64 x x) (fma.f64 y (*.f64 y (pow.f64 x 3)) x)))
(+.f64 x (fma.f64 y (*.f64 x (*.f64 x (fma.f64 y x 1))) (/.f64 1 y)))
(+.f64 (/.f64 1 y) (fma.f64 (fma.f64 y x 1) (*.f64 y (*.f64 x x)) x))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(/.f64 -1 (*.f64 x (*.f64 y y)))
(/.f64 (/.f64 -1 y) (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3)))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(-.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 x (*.f64 y y))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 4)))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (+.f64 (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3)) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))) (/.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))
(+.f64 (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)) (+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 5)) (pow.f64 x 4))))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(/.f64 -1 (*.f64 x (*.f64 y y)))
(/.f64 (/.f64 -1 y) (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3)))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(-.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 x (*.f64 y y))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 4)))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (+.f64 (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3)) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))) (/.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))
(+.f64 (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)) (+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 5)) (pow.f64 x 4))))
(/.f64 1 y)
(+.f64 (/.f64 1 y) x)
(+.f64 (/.f64 1 y) (+.f64 x (*.f64 y (pow.f64 x 2))))
(+.f64 (/.f64 1 y) (+.f64 x (*.f64 y (*.f64 x x))))
(+.f64 (/.f64 1 y) (fma.f64 y (*.f64 x x) x))
(fma.f64 (fma.f64 y x 1) x (/.f64 1 y))
(fma.f64 x (fma.f64 y x 1) (/.f64 1 y))
(+.f64 (/.f64 1 y) (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 x 3)) (+.f64 x (*.f64 y (pow.f64 x 2)))))
(+.f64 (/.f64 1 y) (fma.f64 (*.f64 y y) (pow.f64 x 3) (+.f64 x (*.f64 y (*.f64 x x)))))
(+.f64 (/.f64 1 y) (fma.f64 (*.f64 y y) (pow.f64 x 3) (fma.f64 y (*.f64 x x) x)))
(+.f64 (/.f64 1 y) (fma.f64 y (*.f64 x x) (fma.f64 y (*.f64 y (pow.f64 x 3)) x)))
(+.f64 x (fma.f64 y (*.f64 x (*.f64 x (fma.f64 y x 1))) (/.f64 1 y)))
(+.f64 (/.f64 1 y) (fma.f64 (fma.f64 y x 1) (*.f64 y (*.f64 x x)) x))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(/.f64 -1 (*.f64 x (*.f64 y y)))
(/.f64 (/.f64 -1 y) (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3)))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(-.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 x (*.f64 y y))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 4)))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (+.f64 (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3)) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))) (/.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))
(+.f64 (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)) (+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 5)) (pow.f64 x 4))))
(/.f64 -1 (*.f64 (pow.f64 y 2) x))
(/.f64 -1 (*.f64 x (*.f64 y y)))
(/.f64 (/.f64 -1 y) (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3)))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(-.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 x (*.f64 y y))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))))
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 4)))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))))
(+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))) (/.f64 1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))))
(-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 (/.f64 1 (*.f64 x x)) (pow.f64 y 3)) (+.f64 (/.f64 (/.f64 1 (pow.f64 y 4)) (pow.f64 x 3)) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))) (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 y 4))))
(+.f64 (/.f64 (/.f64 -1 y) (*.f64 y x)) (+.f64 (+.f64 (/.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3))) (/.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))))
(+.f64 (/.f64 (/.f64 -1 (pow.f64 y 4)) (pow.f64 x 3)) (+.f64 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y x)) (+.f64 -1 (/.f64 -1 (*.f64 y x)))) (/.f64 (/.f64 -1 (pow.f64 y 5)) (pow.f64 x 4))))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (*.f64 y y))

eval123.0ms (1.8%)

Compiler

Compiled 3448 to 2155 computations (37.5% saved)

prune53.0ms (0.8%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New2060206
Fresh011
Picked011
Done066
Total2068214
Error
0b
Counts
214 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
44.3b
(-.f64 (/.f64 1 y) (/.f64 z y))
28.1b
(/.f64 (-.f64 (pow.f64 y -2) (*.f64 x x)) (-.f64 (/.f64 1 y) x))
46.4b
(/.f64 (/.f64 1 (*.f64 y y)) (-.f64 (/.f64 1 y) x))
33.4b
(+.f64 x (/.f64 (pow.f64 (/.f64 y z) y) y))
44.3b
(/.f64 (-.f64 1 z) y)
34.6b
(/.f64 1 y)
28.7b
x
1.4b
(+.f64 (/.f64 1 y) x)
Compiler

Compiled 78 to 55 computations (29.5% saved)

regimes24.0ms (0.4%)

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

3 calls:

8.0ms
x
7.0ms
z
6.0ms
y
Results
ErrorSegmentsBranch
1.4b1x
1.4b1y
1.4b1z
Compiler

Compiled 69 to 43 computations (37.7% saved)

regimes76.0ms (1.1%)

Accuracy

Total -50.6b remaining (-449.2%)

Threshold costs -50.6b (-449.2%)

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

3 calls:

27.0ms
y
26.0ms
z
22.0ms
x
Results
ErrorSegmentsBranch
16.8b5x
11.3b7y
19.6b7z
Compiler

Compiled 19 to 14 computations (26.3% saved)

bsearch759.0ms (11.3%)

Algorithm
binary-search
Steps
TimeLeftRight
296.0ms
2.1525770661524718e-78
2.6362283042868488e-46
154.0ms
1.398242355667516e-106
1.8784165859983605e-101
101.0ms
1.0530179797896805e-138
1.3084382757461772e-136
41.0ms
-3.1877400472574574e-54
-1.705630562949239e-54
37.0ms
-1.9400761648083173
-0.767553467207634
129.0ms
-1.1340785064916068e+80
-2.31773442609651e+79
Compiler

Compiled 526 to 435 computations (17.3% saved)

simplify19.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02560
12860
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (/.f64 1 y) x)
(if (<=.f64 y -23500000000000001125196417184886418651668608416580533526321403332404400422387712) x (if (<=.f64 y -4278419646001971/2251799813685248) (/.f64 1 y) (if (<=.f64 y -6039028053441743/3450873173395281893717377931138512726225554486085193277581262111899648) x (if (<=.f64 y 1743015030892537600/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (/.f64 1 y) (if (<=.f64 y 5784239726914675/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) x (if (<=.f64 y 5928554968950589/1852673427797059126777135760139006525652319754650249024631321344126610074238976) (/.f64 1 y) x))))))
x
Outputs
(+.f64 (/.f64 1 y) x)
(if (<=.f64 y -23500000000000001125196417184886418651668608416580533526321403332404400422387712) x (if (<=.f64 y -4278419646001971/2251799813685248) (/.f64 1 y) (if (<=.f64 y -6039028053441743/3450873173395281893717377931138512726225554486085193277581262111899648) x (if (<=.f64 y 1743015030892537600/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (/.f64 1 y) (if (<=.f64 y 5784239726914675/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) x (if (<=.f64 y 5928554968950589/1852673427797059126777135760139006525652319754650249024631321344126610074238976) (/.f64 1 y) x))))))
(if (<=.f64 y -23500000000000001125196417184886418651668608416580533526321403332404400422387712) x (if (<=.f64 y -4278419646001971/2251799813685248) (/.f64 1 y) (if (<=.f64 y -6039028053441743/3450873173395281893717377931138512726225554486085193277581262111899648) x (if (<=.f64 y 6808652464423975/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 1 y) (if (<=.f64 y 5784239726914675/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) x (if (<=.f64 y 5928554968950589/1852673427797059126777135760139006525652319754650249024631321344126610074238976) (/.f64 1 y) x))))))
x

end57.0ms (0.8%)

Stop Event
fuel
Compiler

Compiled 98 to 66 computations (32.7% saved)

Profiling

Loading profile data...