Details

Time bar (total: 6.2s)

analyze105.0ms (1.7%)

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
12.5%87.4%0.1%5
31.2%68.7%0.1%6
40.6%59.3%0.1%7
57.8%42.1%0.1%8
63.2%36.7%0.1%9
72.2%25.8%2%10
75.1%21.7%3.2%11
79.7%14.2%6%12
Compiler

Compiled 14 to 10 computations (28.6% saved)

sample1.1s (18.2%)

Results
1.1s8256×body256valid
68.0ms619×body256invalid

preprocess93.0ms (1.5%)

Algorithm
egg-herbie
Rules
1036×fma-def_binary64
830×cube-prod_binary64
485×distribute-rgt-in_binary64
438×distribute-lft-in_binary64
422×swap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01432
13828
26628
317028
436528
582028
6123528
7154428
8272128
9346828
10434428
11489528
12571128
13627028
14712728
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (*.f64 x (+.f64 (/.f64 x y) 1)) (+.f64 x 1))
(/.f64 (*.f64 y (+.f64 (/.f64 y x) 1)) (+.f64 y 1))
Outputs
(/.f64 (*.f64 x (+.f64 (/.f64 x y) 1)) (+.f64 x 1))
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))
(/.f64 (*.f64 y (+.f64 (/.f64 y x) 1)) (+.f64 y 1))
(/.f64 y (/.f64 (+.f64 y 1) (+.f64 1 (/.f64 y x))))
(/.f64 (fma.f64 y (/.f64 y x) y) (+.f64 y 1))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify59.0ms (0.9%)

Algorithm
egg-herbie
Rules
971×fma-def_binary64
687×distribute-rgt-in_binary64
632×distribute-lft-in_binary64
546×associate-/l*_binary64
494×associate-/l/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
12214
23614
38114
414314
528714
674214
7108114
8160514
9183214
10226214
11292614
12325514
13379414
14756314
15788014
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 x (+.f64 (/.f64 x y) 1)) (+.f64 x 1))
Outputs
(/.f64 (*.f64 x (+.f64 (/.f64 x y) 1)) (+.f64 x 1))
(/.f64 x (/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1)))
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))

eval1.0ms (0%)

Compiler

Compiled 23 to 13 computations (43.5% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 25 to 16 computations (36% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.7b
(/.f64 (*.f64 x (+.f64 (/.f64 x y) 1)) (+.f64 x 1))
0.1b
(*.f64 x (+.f64 (/.f64 x y) 1))
0.1b
(*.f64 x (+.f64 (/.f64 x y) 1))
8.7b
(/.f64 (*.f64 x (+.f64 (/.f64 x y) 1)) (+.f64 x 1))
Compiler

Compiled 34 to 17 computations (50% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite70.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
574×log-prod_binary64
475×prod-diff_binary64
279×pow2_binary64
271×fma-def_binary64
207×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify56.0ms (0.9%)

Algorithm
egg-herbie
Rules
659×associate--l+_binary64
650×associate-+l-_binary64
504×unsub-neg_binary64
416×+-commutative_binary64
361×associate--r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
057699
1153699
2446625
32041596
47415590
Stop Event
node limit
Counts
156 → 135
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
Outputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) x)
(fma.f64 x (+.f64 (/.f64 x y) (neg.f64 x)) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (pow.f64 x 3) (-.f64 1 (/.f64 1 y)) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) x))
(+.f64 x (*.f64 x (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 (+.f64 (neg.f64 x) 1) x))))
(+.f64 x (*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (*.f64 x x) (pow.f64 x 3))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (pow.f64 x 3) (-.f64 1 (/.f64 1 y)) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) x)))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (+.f64 (/.f64 1 y) -1) (*.f64 (+.f64 (/.f64 x y) (neg.f64 x)) (+.f64 x -1)))))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (+.f64 (/.f64 1 y) -1) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1)))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(+.f64 (/.f64 x y) (-.f64 1 (/.f64 1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 1 (-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (-.f64 1 (/.f64 1 y)) (-.f64 (/.f64 x y) (/.f64 1 x))))
(+.f64 1 (+.f64 (/.f64 x y) (-.f64 (/.f64 (+.f64 (/.f64 1 y) -1) x) (/.f64 1 y))))
(+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 -1 y) (/.f64 (+.f64 (/.f64 1 y) -1) x))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x))))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 y) (/.f64 1 x))) 1))
(+.f64 (/.f64 x y) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 (/.f64 1 y) -1) x)) (+.f64 (/.f64 1 y) -1)))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(+.f64 (/.f64 x y) (-.f64 1 (/.f64 1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(+.f64 1 (-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (-.f64 1 (/.f64 1 y)) (-.f64 (/.f64 x y) (/.f64 1 x))))
(+.f64 1 (+.f64 (/.f64 x y) (-.f64 (/.f64 (+.f64 (/.f64 1 y) -1) x) (/.f64 1 y))))
(+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 -1 y) (/.f64 (+.f64 (/.f64 1 y) -1) x))))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x))))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 y) (/.f64 1 x))) 1))
(+.f64 (/.f64 x y) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 (/.f64 1 y) -1) x)) (+.f64 (/.f64 1 y) -1)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(+.f64 x (*.f64 x (/.f64 x y)))

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.7b
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))
0.1b
(fma.f64 x (/.f64 x y) x)
0.1b
(fma.f64 x (/.f64 x y) x)
8.7b
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))
Compiler

Compiled 27 to 10 computations (63% saved)

series6.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite64.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
642×unpow-prod-down_binary64
447×log-prod_binary64
263×pow-prod-down_binary64
235×pow2_binary64
199×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify59.0ms (0.9%)

Algorithm
egg-herbie
Rules
630×associate--l+_binary64
569×associate-+l-_binary64
403×+-commutative_binary64
378×unsub-neg_binary64
319×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
059699
1158699
2446643
31907607
46504603
Stop Event
node limit
Counts
161 → 139
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x)))) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 1 (pow.f64 x 2)) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x))))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
Outputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) x)
(fma.f64 x (+.f64 (/.f64 x y) (neg.f64 x)) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) x))
(+.f64 x (*.f64 (*.f64 x x) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 -1 x))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) x)))
(+.f64 (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) x) (*.f64 (+.f64 (/.f64 x y) (neg.f64 x)) (+.f64 x (pow.f64 x 3))))
(+.f64 (fma.f64 (*.f64 x x) (-.f64 x (/.f64 x y)) x) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x (pow.f64 x 3))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 1 (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (+.f64 1 (/.f64 -1 y)) (/.f64 -1 x))))
(+.f64 (/.f64 x y) (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x))))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (+.f64 1 (/.f64 1 (*.f64 x x))) (+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 x (*.f64 x y)))) (/.f64 -1 x))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 1 (*.f64 x (*.f64 x y)))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 -1 (*.f64 x (*.f64 x y)))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x)))) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 1 (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (+.f64 1 (/.f64 -1 y)) (/.f64 -1 x))))
(+.f64 (/.f64 x y) (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 1 (pow.f64 x 2)) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x))))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x))))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (+.f64 1 (/.f64 1 (*.f64 x x))) (+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 x (*.f64 x y)))) (/.f64 -1 x))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 1 (*.f64 x (*.f64 x y)))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 -1 (*.f64 x (*.f64 x y)))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))

eval81.0ms (1.3%)

Compiler

Compiled 4627 to 2165 computations (53.2% saved)

prune55.0ms (0.9%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New25915274
Fresh000
Picked101
Done101
Total26115276
Error
0b
Counts
276 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(/.f64 (*.f64 x (/.f64 x y)) (+.f64 x 1))
9.4b
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
20.9b
(/.f64 (/.f64 (*.f64 x (+.f64 1 (pow.f64 (/.f64 x y) 3))) (+.f64 (pow.f64 (/.f64 x y) 2) (-.f64 1 (/.f64 x y)))) (+.f64 x 1))
36.0b
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
37.5b
x
30.1b
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (+.f64 (/.f64 1 y) -1) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1)))))
45.1b
(/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 x (/.f64 x y)) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 x (/.f64 x y)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 x (/.f64 x y)) x)))) (+.f64 x 1))
9.3b
(/.f64 (+.f64 (*.f64 x (/.f64 x y)) x) (+.f64 x 1))
30.6b
(/.f64 x (+.f64 x 1))
42.3b
(/.f64 x y)
0.1b
(*.f64 (+.f64 (/.f64 x y) 1) (*.f64 x (/.f64 1 (+.f64 x 1))))
38.2b
(/.f64 x (/.f64 (fma.f64 x y y) x))
33.8b
(/.f64 (fma.f64 (*.f64 x (sqrt.f64 (/.f64 x y))) (sqrt.f64 (/.f64 x y)) x) (+.f64 x 1))
30.2b
(+.f64 x (*.f64 (*.f64 x x) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 -1 x))))
18.1b
(/.f64 (/.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 x y) 2) -1)) (+.f64 (/.f64 x y) -1)) (+.f64 x 1))
Compiler

Compiled 461 to 286 computations (38% saved)

localize17.0ms (0.3%)

Local error

Found 6 expressions with local error:

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

Compiled 41 to 25 computations (39% saved)

series5.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite81.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
587×log-prod_binary64
331×prod-diff_binary64
300×fma-def_binary64
290×pow2_binary64
231×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify67.0ms (1.1%)

Algorithm
egg-herbie
Rules
434×associate--r+_binary64
416×associate-*l*_binary64
400×sub-neg_binary64
317×associate-*r*_binary64
313×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079810
1232798
2683719
32739693
47724693
Stop Event
node limit
Counts
205 → 206
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (pow.f64 x 3) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 x 4)) (+.f64 (pow.f64 x 3) x)))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
1
(+.f64 1 (*.f64 -1 x))
(+.f64 1 (+.f64 (*.f64 -1 x) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 -1 x) (pow.f64 x 2))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (/.f64 1 (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (/.f64 1 (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
Outputs
x
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(fma.f64 -1 (*.f64 x x) x)
(-.f64 x (*.f64 x x))
(*.f64 (-.f64 1 x) x)
(*.f64 x (-.f64 1 x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (pow.f64 x 3) x))
(fma.f64 -1 (*.f64 x x) (+.f64 x (pow.f64 x 3)))
(-.f64 (+.f64 x (pow.f64 x 3)) (*.f64 x x))
(*.f64 x (fma.f64 x x (-.f64 1 x)))
(*.f64 x (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 x 4)) (+.f64 (pow.f64 x 3) x)))
(fma.f64 -1 (*.f64 x x) (fma.f64 -1 (pow.f64 x 4) (+.f64 x (pow.f64 x 3))))
(-.f64 (-.f64 (+.f64 x (pow.f64 x 3)) (pow.f64 x 4)) (*.f64 x x))
(-.f64 (+.f64 x (pow.f64 x 3)) (fma.f64 x x (pow.f64 x 4)))
(*.f64 (fma.f64 x x 1) (*.f64 x (-.f64 1 x)))
1
(-.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 -1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 x)))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 -1 x)))
(-.f64 (/.f64 (/.f64 1 x) x) (-.f64 (/.f64 1 x) 1))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 (/.f64 1 x) x) (-.f64 1 (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (+.f64 (/.f64 -1 x) (/.f64 -1 (pow.f64 x 3)))))
1
(-.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 -1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 x)))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 -1 x)))
(-.f64 (/.f64 (/.f64 1 x) x) (-.f64 (/.f64 1 x) 1))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(+.f64 (/.f64 -1 x) (+.f64 (/.f64 (/.f64 1 x) x) (-.f64 1 (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (+.f64 (/.f64 -1 x) (/.f64 -1 (pow.f64 x 3)))))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) (fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x))
(fma.f64 x (*.f64 x (+.f64 -1 (/.f64 1 y))) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) x))
(+.f64 x (*.f64 (*.f64 x x) (*.f64 (-.f64 1 x) (+.f64 -1 (/.f64 1 y)))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (pow.f64 x 4) (+.f64 -1 (/.f64 1 y)) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) (fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x)))
(fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) (fma.f64 (pow.f64 x 4) (+.f64 -1 (/.f64 1 y)) (fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x)))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1)) (+.f64 -1 (/.f64 1 y)))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 (+.f64 1 (/.f64 1 (*.f64 x y))) (/.f64 x y)) (+.f64 (/.f64 1 x) (/.f64 1 y)))
(+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y))) (/.f64 -1 x)))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 -1 y)) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 (+.f64 -1 (/.f64 1 y)) x) (/.f64 -1 y))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(+.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 (*.f64 x x) y))))))
(+.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 y) (/.f64 (/.f64 1 (*.f64 x y)) x)))))
(+.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 (/.f64 1 x) y))) (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 y))))
(+.f64 (/.f64 (/.f64 1 x) y) (+.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 (-.f64 1 (/.f64 1 y)) (*.f64 x x)) (-.f64 (/.f64 -1 x) (/.f64 1 y)))) 1))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(-.f64 (+.f64 (+.f64 1 (/.f64 1 (*.f64 x y))) (/.f64 x y)) (+.f64 (/.f64 1 x) (/.f64 1 y)))
(+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y))) (/.f64 -1 x)))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 -1 y)) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 (+.f64 -1 (/.f64 1 y)) x) (/.f64 -1 y))))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(-.f64 (fma.f64 -1 (/.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)) (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (neg.f64 (+.f64 (/.f64 1 y) -1)))) (/.f64 1 x))
(+.f64 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))) (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (/.f64 1 x)))
(+.f64 (/.f64 (+.f64 -1 (/.f64 1 y)) x) (+.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (/.f64 x y)) (+.f64 1 (/.f64 -1 y))))
(+.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y))) (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
1
(+.f64 1 (*.f64 -1 x))
(+.f64 1 (neg.f64 x))
(-.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 x) (pow.f64 x 2)))
(+.f64 1 (fma.f64 -1 x (*.f64 x x)))
(+.f64 (*.f64 x x) (-.f64 1 x))
(fma.f64 x x (-.f64 1 x))
(-.f64 (fma.f64 x x 1) x)
(+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 -1 x) (pow.f64 x 2))))
(fma.f64 -1 (pow.f64 x 3) (+.f64 1 (fma.f64 -1 x (*.f64 x x))))
(-.f64 (+.f64 (*.f64 x x) (-.f64 1 x)) (pow.f64 x 3))
(-.f64 1 (*.f64 x (fma.f64 x x (-.f64 1 x))))
(-.f64 (-.f64 (fma.f64 x x 1) x) (pow.f64 x 3))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))
(-.f64 (/.f64 1 x) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (/.f64 (/.f64 -1 x) x))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (/.f64 1 (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 (/.f64 -1 x) x)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 -1 (*.f64 x x))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(-.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 4))) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 (/.f64 -1 x) x)) (/.f64 -1 (pow.f64 x 4))))
(+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (-.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 (/.f64 1 x) x))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 2)))
(-.f64 (/.f64 1 x) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (/.f64 -1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (/.f64 (/.f64 -1 x) x))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (/.f64 1 (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 (/.f64 -1 x) x)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 -1 (*.f64 x x))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)) (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(-.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 4))) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 (/.f64 -1 x) x)) (/.f64 -1 (pow.f64 x 4))))
(+.f64 (/.f64 1 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (-.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 (/.f64 1 x) x))))

localize3.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.8b
(/.f64 (*.f64 x (/.f64 x y)) (+.f64 x 1))
0.2b
(*.f64 x (/.f64 x y))
0.2b
(*.f64 x (/.f64 x y))
8.8b
(/.f64 (*.f64 x (/.f64 x y)) (+.f64 x 1))
Compiler

Compiled 25 to 10 computations (60% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite61.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
501×log-prod_binary64
383×exp-prod_binary64
307×pow-prod-down_binary64
235×pow2_binary64
179×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify72.0ms (1.2%)

Algorithm
egg-herbie
Rules
638×difference-of-squares_binary64
435×sub-neg_binary64
296×div-sub_binary64
273×times-frac_binary64
270×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038538
1101534
2237510
3726497
43476489
56712489
Stop Event
node limit
Counts
147 → 116
Calls
Call 1
Inputs
(/.f64 (pow.f64 x 2) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y)))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 5) y)) (/.f64 (pow.f64 x 2) y))))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
Outputs
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y))
(fma.f64 -1 (/.f64 (pow.f64 x 3) y) (/.f64 (*.f64 x x) y))
(-.f64 (/.f64 x (/.f64 y x)) (/.f64 (pow.f64 x 3) y))
(-.f64 (*.f64 (/.f64 x y) x) (/.f64 (pow.f64 x 3) y))
(*.f64 (/.f64 x y) (-.f64 x (*.f64 x x)))
(*.f64 x (*.f64 (-.f64 1 x) (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y)))
(+.f64 (fma.f64 -1 (/.f64 (pow.f64 x 3) y) (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 4) y))
(+.f64 (/.f64 x (/.f64 y x)) (-.f64 (/.f64 (pow.f64 x 4) y) (/.f64 (pow.f64 x 3) y)))
(+.f64 (*.f64 (/.f64 x y) x) (-.f64 (/.f64 (pow.f64 x 4) y) (/.f64 (pow.f64 x 3) y)))
(fma.f64 x (/.f64 x y) (*.f64 (/.f64 (pow.f64 x 3) y) (+.f64 -1 x)))
(*.f64 (*.f64 x (/.f64 x y)) (-.f64 (+.f64 1 (*.f64 x x)) x))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 5) y)) (/.f64 (pow.f64 x 2) y))))
(+.f64 (/.f64 (pow.f64 x 4) y) (fma.f64 -1 (/.f64 (pow.f64 x 3) y) (fma.f64 -1 (/.f64 (pow.f64 x 5) y) (/.f64 (*.f64 x x) y))))
(+.f64 (-.f64 (/.f64 x (/.f64 y x)) (/.f64 (pow.f64 x 5) y)) (-.f64 (/.f64 (pow.f64 x 4) y) (/.f64 (pow.f64 x 3) y)))
(+.f64 (*.f64 (/.f64 x y) x) (-.f64 (-.f64 (/.f64 (pow.f64 x 4) y) (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 5) y)))
(fma.f64 x (/.f64 x y) (-.f64 (*.f64 (/.f64 (pow.f64 x 3) y) (+.f64 -1 x)) (/.f64 (pow.f64 x 5) y)))
(-.f64 (*.f64 (*.f64 x (/.f64 x y)) (-.f64 (+.f64 1 (*.f64 x x)) x)) (/.f64 (pow.f64 x 5) y))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(+.f64 (/.f64 x y) (/.f64 -1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(+.f64 (/.f64 1 (*.f64 x y)) (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 -1 y)))
(+.f64 (/.f64 (/.f64 1 x) y) (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (/.f64 -1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(+.f64 (/.f64 1 (*.f64 x y)) (-.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 (*.f64 x x) y)))))
(+.f64 (/.f64 x y) (-.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 (*.f64 x x) y)))))
(-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 x (*.f64 x y)))))
(+.f64 (+.f64 (/.f64 (/.f64 1 x) y) (-.f64 (/.f64 x y) (/.f64 1 y))) (/.f64 (/.f64 -1 y) (*.f64 x x)))
(+.f64 (-.f64 (/.f64 x y) (/.f64 1 y)) (*.f64 (+.f64 (/.f64 -1 x) 1) (/.f64 1 (*.f64 x y))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 -1 y)) (*.f64 (+.f64 (/.f64 -1 x) 1) (/.f64 1 (*.f64 x y))))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(+.f64 (/.f64 x y) (/.f64 -1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(+.f64 (/.f64 1 (*.f64 x y)) (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 -1 y)))
(+.f64 (/.f64 (/.f64 1 x) y) (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (/.f64 -1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(+.f64 (/.f64 1 (*.f64 x y)) (-.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 (*.f64 x x) y)))))
(+.f64 (/.f64 x y) (-.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 (*.f64 x x) y)))))
(-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 x (*.f64 x y)))))
(+.f64 (+.f64 (/.f64 (/.f64 1 x) y) (-.f64 (/.f64 x y) (/.f64 1 y))) (/.f64 (/.f64 -1 y) (*.f64 x x)))
(+.f64 (-.f64 (/.f64 x y) (/.f64 1 y)) (*.f64 (+.f64 (/.f64 -1 x) 1) (/.f64 1 (*.f64 x y))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 -1 y)) (*.f64 (+.f64 (/.f64 -1 x) 1) (/.f64 1 (*.f64 x y))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (/.f64 (*.f64 x x) y) (+.f64 x 1))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(/.f64 (*.f64 x x) (fma.f64 x y y))
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))

localize30.0ms (0.5%)

Local error

Found 8 expressions with local error:

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

Compiled 92 to 45 computations (51.1% saved)

series11.0ms (0.2%)

Counts
4 → 96
Calls

24 calls:

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

rewrite108.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
833×log-prod_binary64
468×fma-neg_binary64
290×log1p-udef_binary64
289×expm1-udef_binary64
248×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify84.0ms (1.4%)

Algorithm
egg-herbie
Rules
324×fma-def_binary64
316×distribute-rgt-in_binary64
313×div-sub_binary64
284×associate-+l+_binary64
268×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0672049
11961891
26011384
323561225
470951225
Stop Event
node limit
Counts
287 → 241
Calls
Call 1
Inputs
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y)
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)) y)) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)) y)) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)) y)) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(/.f64 (*.f64 (-.f64 x 1) x) y)
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(*.f64 -1 (*.f64 (-.f64 x 1) x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(*.f64 -1 (*.f64 (-.f64 x 1) x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(/.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) y)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1) y))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1) y))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1) y))) 1)
(-.f64 (/.f64 1 y) 1)
(-.f64 (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x))) 1)
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))) 1)
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))) 1)
Outputs
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (-.f64 x (*.f64 x x)))
(*.f64 x (*.f64 (+.f64 x -1) (-.f64 x (/.f64 x y))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4))
(*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (*.f64 x x) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1)))
(*.f64 (*.f64 x x) (*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4)))
(*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (*.f64 x x) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1)))
(*.f64 (*.f64 x x) (*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y)
(/.f64 (+.f64 1 (*.f64 x (+.f64 x -1))) (/.f64 y (*.f64 x x)))
(/.f64 (fma.f64 x (+.f64 x -1) 1) (/.f64 y (*.f64 x x)))
(*.f64 (*.f64 x (/.f64 x y)) (fma.f64 x (+.f64 x -1) 1))
(*.f64 x (/.f64 (-.f64 (fma.f64 x x 1) x) (/.f64 y x)))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1))
(*.f64 (*.f64 x x) (fma.f64 -1 (*.f64 x (+.f64 x -1)) -1))
(*.f64 (*.f64 x x) (fma.f64 (+.f64 (neg.f64 x) 1) x -1))
(*.f64 (*.f64 x x) (fma.f64 x (fma.f64 x -1 1) -1))
(*.f64 (*.f64 x x) (fma.f64 x (-.f64 1 x) -1))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (/.f64 (*.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) (pow.f64 x 2)) y) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1))
(*.f64 (*.f64 x x) (fma.f64 -1 (*.f64 x (+.f64 x -1)) -1))
(*.f64 (*.f64 x x) (fma.f64 (+.f64 (neg.f64 x) 1) x -1))
(*.f64 (*.f64 x x) (fma.f64 x (fma.f64 x -1 1) -1))
(*.f64 (*.f64 x x) (fma.f64 x (-.f64 1 x) -1))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)) y)) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)) y)) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)) y)) (*.f64 (pow.f64 x 2) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)) (*.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (pow.f64 x 4) (*.f64 x x))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 (*.f64 x x) (pow.f64 x 4)) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 3)))
(*.f64 (*.f64 x (-.f64 (/.f64 x y) x)) (-.f64 (fma.f64 x x 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x))
(neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) x))
(*.f64 x (+.f64 1 (/.f64 -1 y)))
(neg.f64 (-.f64 (/.f64 x y) x))
(-.f64 x (/.f64 x y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(/.f64 (*.f64 (-.f64 x 1) x) y)
(/.f64 (+.f64 x -1) (/.f64 y x))
(*.f64 (/.f64 (+.f64 x -1) y) x)
(*.f64 (/.f64 x y) (+.f64 x -1))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(*.f64 -1 (*.f64 (-.f64 x 1) x))
(neg.f64 (*.f64 x (+.f64 x -1)))
(*.f64 x (+.f64 (neg.f64 x) 1))
(*.f64 x (fma.f64 x -1 1))
(-.f64 x (*.f64 x x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(*.f64 -1 (*.f64 (-.f64 x 1) x))
(neg.f64 (*.f64 x (+.f64 x -1)))
(*.f64 x (+.f64 (neg.f64 x) 1))
(*.f64 x (fma.f64 x -1 1))
(-.f64 x (*.f64 x x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(-.f64 (/.f64 x y) x)
(/.f64 (+.f64 1 (*.f64 (-.f64 x 1) x)) y)
(/.f64 (+.f64 1 (*.f64 x (+.f64 x -1))) y)
(/.f64 (fma.f64 x (+.f64 x -1) 1) y)
(/.f64 (-.f64 (fma.f64 x x 1) x) y)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)
(fma.f64 -1 (*.f64 x (+.f64 x -1)) -1)
(fma.f64 (+.f64 (neg.f64 x) 1) x -1)
(fma.f64 x (fma.f64 x -1 1) -1)
(fma.f64 x (-.f64 1 x) -1)
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 x 1) x) y) (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 x 1) x)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)
(fma.f64 -1 (*.f64 x (+.f64 x -1)) -1)
(fma.f64 (+.f64 (neg.f64 x) 1) x -1)
(fma.f64 x (fma.f64 x -1 1) -1)
(fma.f64 x (-.f64 1 x) -1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1) y))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1) y))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1) y))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (/.f64 1 y) 1)
(+.f64 (/.f64 1 y) -1)
(-.f64 (+.f64 (/.f64 1 y) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x))) 1)
(+.f64 (/.f64 1 y) (-.f64 (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) x)) 1))
(+.f64 (/.f64 1 y) (fma.f64 (+.f64 1 (/.f64 -1 y)) x -1))
(*.f64 (fma.f64 x -1 1) (+.f64 (/.f64 1 y) -1))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 1 x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) x)) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 y) -1) x) (*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) (*.f64 x (+.f64 1 (/.f64 -1 y))))
(*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1))
(*.f64 (-.f64 x (/.f64 x y)) (-.f64 1 x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))
(-.f64 (+.f64 (/.f64 1 y) (+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) (*.f64 (-.f64 1 (/.f64 1 y)) x))) 1)
(+.f64 (/.f64 (+.f64 x -1) (/.f64 y x)) (-.f64 (+.f64 (/.f64 1 y) (neg.f64 (*.f64 x (+.f64 x -1)))) 1))
(+.f64 (*.f64 (/.f64 (+.f64 x -1) y) x) (+.f64 (-.f64 (/.f64 1 y) (*.f64 x (+.f64 x -1))) -1))
(fma.f64 (/.f64 (+.f64 x -1) y) x (-.f64 (/.f64 1 y) (fma.f64 x (+.f64 x -1) 1)))
(*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 (fma.f64 x x 1) x))

localize14.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
8.8b
(/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x))
0.2b
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
0.1b
(fma.f64 x (/.f64 x y) x)
0.1b
(fma.f64 x (/.f64 x y) x)
0.2b
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
8.8b
(/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x))
Compiler

Compiled 40 to 16 computations (60% saved)

series21.0ms (0.3%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
8.0ms
y
@inf
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
4.0ms
x
@inf
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
2.0ms
y
@0
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
1.0ms
y
@-inf
(pow.f64 (/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x)) -1)
1.0ms
x
@inf
(/.f64 (+.f64 x 1) (fma.f64 x (/.f64 x y) x))

rewrite65.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
511×log-prod_binary64
393×exp-prod_binary64
308×pow-prod-down_binary64
277×pow2_binary64
199×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify60.0ms (1%)

Algorithm
egg-herbie
Rules
667×associate-/l*_binary64
592×associate-/r*_binary64
486×distribute-rgt-in_binary64
450×distribute-lft-in_binary64
389×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02052201
16812029
227961804
Stop Event
node limit
Counts
151 → 166
Calls
Call 1
Inputs
(/.f64 1 x)
(-.f64 (+.f64 1 (/.f64 1 x)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 y)) x) (/.f64 1 x))) (/.f64 1 y))
(-.f64 (+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 (pow.f64 y 3))) (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 y)) x) (/.f64 1 x)))) (/.f64 1 y))
(/.f64 y x)
(-.f64 (+.f64 (/.f64 y x) (/.f64 y (pow.f64 x 2))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (pow.f64 y 2))) (pow.f64 x 4)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3)))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(/.f64 y x)
(-.f64 (+.f64 (/.f64 y x) (/.f64 y (pow.f64 x 2))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (pow.f64 y 2))) (pow.f64 x 4)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3)))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(/.f64 (*.f64 y (+.f64 1 x)) (pow.f64 x 2))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) y) (pow.f64 x 2)) (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))))))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) y) (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))) x) (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (pow.f64 y 4))) (+.f64 (/.f64 (*.f64 (+.f64 1 x) y) (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))) x) (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))))))))
(/.f64 (+.f64 1 x) x)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x)))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x))))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 x) (pow.f64 x 2)) (pow.f64 y 3))) (/.f64 1 x)))))
(/.f64 (+.f64 1 x) x)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x)))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x))))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 x) (pow.f64 x 2)) (pow.f64 y 3))) (/.f64 1 x)))))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 1 (/.f64 1 y))))) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (/.f64 1 (pow.f64 y 2)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 1 (/.f64 1 y)))))) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 y)))))) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 1 (/.f64 1 y))))) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 y (pow.f64 y 2)) y)) (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)) x)) (+.f64 1 (/.f64 x y))) (/.f64 1 y))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 y (pow.f64 y 2)) y)) (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)) x)) (+.f64 1 (+.f64 (/.f64 x y) (/.f64 (pow.f64 y 2) (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 y (pow.f64 y 2)) (+.f64 (*.f64 -1 (/.f64 (-.f64 y (pow.f64 y 2)) y)) (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y))) (*.f64 y (pow.f64 x 2)))) (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) (pow.f64 x 2)))))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (-.f64 y (+.f64 1 (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)))) x)))) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) (*.f64 -1 (/.f64 (-.f64 y (+.f64 1 (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)))) x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 y (+.f64 1 (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)))) (-.f64 y (pow.f64 y 2))) (*.f64 y (pow.f64 x 2)))) (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) (pow.f64 x 2)))))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 6)) (pow.f64 (+.f64 1 x) 3))) (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 3)) (pow.f64 (+.f64 1 x) 2))))) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 5)) (pow.f64 (+.f64 1 x) 3)) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 6)) (pow.f64 (+.f64 1 x) 3))) (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 3)) (pow.f64 (+.f64 1 x) 2))) (pow.f64 x 2))) (+.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2))))))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 6)) (pow.f64 (+.f64 1 x) 3))) (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 3)) (pow.f64 (+.f64 1 x) 2))))) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (+.f64 (/.f64 x (+.f64 1 x)) (*.f64 -1 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 4) (+.f64 1 x))) (/.f64 (pow.f64 x 4) (+.f64 1 x)))) (pow.f64 y 3))))))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (/.f64 x (+.f64 1 x))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x)))) (+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (+.f64 (/.f64 x (+.f64 1 x)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) x) (pow.f64 y 3))) (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x))))))))
Outputs
(/.f64 1 x)
(-.f64 (+.f64 1 (/.f64 1 x)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 1 x) (/.f64 1 y)))
(+.f64 (+.f64 1 (/.f64 1 x)) (/.f64 -1 y))
(+.f64 1 (+.f64 (/.f64 1 x) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 y)) x) (/.f64 1 x))) (/.f64 1 y))
(+.f64 1 (-.f64 (fma.f64 (-.f64 (/.f64 1 (*.f64 y y)) (/.f64 1 y)) x (/.f64 1 x)) (/.f64 1 y)))
(+.f64 (fma.f64 x (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 -1 y)) (/.f64 1 x)) (+.f64 1 (/.f64 -1 y)))
(-.f64 (+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 (pow.f64 y 3))) (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 y)) x) (/.f64 1 x)))) (/.f64 1 y))
(-.f64 (fma.f64 (-.f64 (/.f64 1 (*.f64 y y)) (/.f64 1 (pow.f64 y 3))) (*.f64 x x) (+.f64 1 (fma.f64 (-.f64 (/.f64 1 (*.f64 y y)) (/.f64 1 y)) x (/.f64 1 x)))) (/.f64 1 y))
(fma.f64 (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 -1 (pow.f64 y 3))) (*.f64 x x) (+.f64 (fma.f64 x (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 -1 y)) (/.f64 1 x)) (+.f64 1 (/.f64 -1 y))))
(+.f64 (+.f64 1 (fma.f64 x (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 -1 y)) (/.f64 1 x))) (fma.f64 x (+.f64 (/.f64 x (*.f64 y y)) (*.f64 (/.f64 -1 (pow.f64 y 3)) x)) (/.f64 -1 y)))
(/.f64 y x)
(-.f64 (+.f64 (/.f64 y x) (/.f64 y (pow.f64 x 2))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (/.f64 y x) (-.f64 (/.f64 y (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 (/.f64 y x) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x)))
(+.f64 (/.f64 y x) (/.f64 (*.f64 y (-.f64 1 y)) (*.f64 x x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (/.f64 y x) (-.f64 (+.f64 (/.f64 y (*.f64 x x)) (neg.f64 (/.f64 (*.f64 y (-.f64 y (*.f64 y y))) (pow.f64 x 3)))) (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (neg.f64 y) (/.f64 (pow.f64 x 3) (-.f64 y (*.f64 y y)))) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (*.f64 (/.f64 y (pow.f64 x 3)) (*.f64 y (neg.f64 (-.f64 1 y)))) (/.f64 (*.f64 y (-.f64 1 y)) (*.f64 x x))))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (pow.f64 y 2))) (pow.f64 x 4)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3)))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (/.f64 y x) (-.f64 (+.f64 (/.f64 y (*.f64 x x)) (+.f64 (neg.f64 (/.f64 (*.f64 y (-.f64 y (*.f64 y y))) (pow.f64 x 3))) (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (-.f64 y (*.f64 y y)))))) (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (-.f64 (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 4)) (-.f64 y (*.f64 y y))) (*.f64 (/.f64 y (pow.f64 x 3)) (-.f64 y (*.f64 y y)))) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (*.f64 (*.f64 y (-.f64 1 y)) (-.f64 (/.f64 y (/.f64 (pow.f64 x 4) y)) (/.f64 y (pow.f64 x 3)))) (/.f64 (*.f64 y (-.f64 1 y)) (*.f64 x x))))
(/.f64 y x)
(-.f64 (+.f64 (/.f64 y x) (/.f64 y (pow.f64 x 2))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (/.f64 y x) (-.f64 (/.f64 y (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 (/.f64 y x) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x)))
(+.f64 (/.f64 y x) (/.f64 (*.f64 y (-.f64 1 y)) (*.f64 x x)))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (/.f64 y x) (-.f64 (+.f64 (/.f64 y (*.f64 x x)) (neg.f64 (/.f64 (*.f64 y (-.f64 y (*.f64 y y))) (pow.f64 x 3)))) (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (neg.f64 y) (/.f64 (pow.f64 x 3) (-.f64 y (*.f64 y y)))) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (*.f64 (/.f64 y (pow.f64 x 3)) (*.f64 y (neg.f64 (-.f64 1 y)))) (/.f64 (*.f64 y (-.f64 1 y)) (*.f64 x x))))
(-.f64 (+.f64 (/.f64 y x) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 y (pow.f64 y 2))) (pow.f64 x 4)) (*.f64 -1 (/.f64 (*.f64 y (-.f64 y (pow.f64 y 2))) (pow.f64 x 3)))))) (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (/.f64 y x) (-.f64 (+.f64 (/.f64 y (*.f64 x x)) (+.f64 (neg.f64 (/.f64 (*.f64 y (-.f64 y (*.f64 y y))) (pow.f64 x 3))) (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (-.f64 y (*.f64 y y)))))) (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (-.f64 (*.f64 (/.f64 (*.f64 y y) (pow.f64 x 4)) (-.f64 y (*.f64 y y))) (*.f64 (/.f64 y (pow.f64 x 3)) (-.f64 y (*.f64 y y)))) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x))))
(+.f64 (/.f64 y x) (+.f64 (*.f64 (*.f64 y (-.f64 1 y)) (-.f64 (/.f64 y (/.f64 (pow.f64 x 4) y)) (/.f64 y (pow.f64 x 3)))) (/.f64 (*.f64 y (-.f64 1 y)) (*.f64 x x))))
(/.f64 (*.f64 y (+.f64 1 x)) (pow.f64 x 2))
(/.f64 (+.f64 1 x) (/.f64 (*.f64 x x) y))
(*.f64 (/.f64 (/.f64 y x) x) (+.f64 1 x))
(*.f64 (/.f64 y (*.f64 x x)) (+.f64 1 x))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) y) (pow.f64 x 2)) (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))))))
(+.f64 (/.f64 (+.f64 1 x) (/.f64 (*.f64 x x) y)) (neg.f64 (*.f64 (*.f64 y y) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))))))
(-.f64 (*.f64 (/.f64 (/.f64 y x) x) (+.f64 1 x)) (*.f64 y (*.f64 y (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))))))
(-.f64 (*.f64 (/.f64 y (*.f64 x x)) (+.f64 1 x)) (*.f64 y (+.f64 (/.f64 y (*.f64 x x)) (/.f64 y (pow.f64 x 3)))))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) y) (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))) x) (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))))))
(+.f64 (/.f64 (+.f64 1 x) (/.f64 (*.f64 x x) y)) (+.f64 (neg.f64 (*.f64 (*.f64 y y) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))))) (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3)))) x)))
(+.f64 (*.f64 (/.f64 (/.f64 y x) x) (+.f64 1 x)) (-.f64 (*.f64 (/.f64 (pow.f64 y 3) x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3)))) (*.f64 y (*.f64 y (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3)))))))
(+.f64 (*.f64 (/.f64 y (*.f64 x x)) (+.f64 1 x)) (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (-.f64 (/.f64 (pow.f64 y 3) x) (*.f64 y y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (pow.f64 y 4))) (+.f64 (/.f64 (*.f64 (+.f64 1 x) y) (pow.f64 x 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3)))) x) (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))))))))
(fma.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (pow.f64 y 4)) (+.f64 (/.f64 (+.f64 1 x) (/.f64 (*.f64 x x) y)) (+.f64 (neg.f64 (*.f64 (*.f64 y y) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))))) (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3)))) x))))
(+.f64 (-.f64 (*.f64 (/.f64 (pow.f64 y 3) x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3)))) (*.f64 y (*.f64 y (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3)))))) (fma.f64 (neg.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4)))) (pow.f64 y 4) (*.f64 (/.f64 (/.f64 y x) x) (+.f64 1 x))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (-.f64 (/.f64 (pow.f64 y 3) x) (*.f64 y y))) (fma.f64 (+.f64 (/.f64 -1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 4))) (pow.f64 y 4) (*.f64 (/.f64 y (*.f64 x x)) (+.f64 1 x))))
(/.f64 (+.f64 1 x) x)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x)))
(+.f64 1 (fma.f64 -1 (/.f64 (+.f64 1 x) y) (/.f64 1 x)))
(+.f64 1 (-.f64 (/.f64 1 x) (/.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x))))
(+.f64 (+.f64 1 (fma.f64 -1 (/.f64 (+.f64 1 x) y) (/.f64 1 x))) (/.f64 (+.f64 1 x) (/.f64 (*.f64 y y) x)))
(+.f64 1 (+.f64 (-.f64 (/.f64 1 x) (/.f64 (+.f64 1 x) y)) (/.f64 x (/.f64 (*.f64 y y) (+.f64 1 x)))))
(+.f64 1 (+.f64 (-.f64 (/.f64 1 x) (/.f64 (+.f64 1 x) y)) (*.f64 (/.f64 (+.f64 1 x) y) (/.f64 x y))))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 x) (pow.f64 x 2)) (pow.f64 y 3))) (/.f64 1 x)))))
(+.f64 (/.f64 (+.f64 1 x) (/.f64 (*.f64 y y) x)) (+.f64 1 (fma.f64 -1 (/.f64 (+.f64 1 x) y) (fma.f64 -1 (/.f64 (+.f64 1 x) (/.f64 (pow.f64 y 3) (*.f64 x x))) (/.f64 1 x)))))
(+.f64 (-.f64 (-.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 1 x) (pow.f64 y 3)) (*.f64 x x))) (/.f64 (+.f64 1 x) y)) (+.f64 1 (/.f64 x (/.f64 (*.f64 y y) (+.f64 1 x)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 1 x) y) (-.f64 -1 (/.f64 x (*.f64 (/.f64 y x) y))))) (*.f64 (/.f64 (+.f64 1 x) y) (/.f64 x y))))
(/.f64 (+.f64 1 x) x)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x)))
(+.f64 1 (fma.f64 -1 (/.f64 (+.f64 1 x) y) (/.f64 1 x)))
(+.f64 1 (-.f64 (/.f64 1 x) (/.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (/.f64 1 x))))
(+.f64 (+.f64 1 (fma.f64 -1 (/.f64 (+.f64 1 x) y) (/.f64 1 x))) (/.f64 (+.f64 1 x) (/.f64 (*.f64 y y) x)))
(+.f64 1 (+.f64 (-.f64 (/.f64 1 x) (/.f64 (+.f64 1 x) y)) (/.f64 x (/.f64 (*.f64 y y) (+.f64 1 x)))))
(+.f64 1 (+.f64 (-.f64 (/.f64 1 x) (/.f64 (+.f64 1 x) y)) (*.f64 (/.f64 (+.f64 1 x) y) (/.f64 x y))))
(+.f64 (/.f64 (*.f64 (+.f64 1 x) x) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 1 x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 x) (pow.f64 x 2)) (pow.f64 y 3))) (/.f64 1 x)))))
(+.f64 (/.f64 (+.f64 1 x) (/.f64 (*.f64 y y) x)) (+.f64 1 (fma.f64 -1 (/.f64 (+.f64 1 x) y) (fma.f64 -1 (/.f64 (+.f64 1 x) (/.f64 (pow.f64 y 3) (*.f64 x x))) (/.f64 1 x)))))
(+.f64 (-.f64 (-.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 1 x) (pow.f64 y 3)) (*.f64 x x))) (/.f64 (+.f64 1 x) y)) (+.f64 1 (/.f64 x (/.f64 (*.f64 y y) (+.f64 1 x)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 1 x) (*.f64 (/.f64 (+.f64 1 x) y) (-.f64 -1 (/.f64 x (*.f64 (/.f64 y x) y))))) (*.f64 (/.f64 (+.f64 1 x) y) (/.f64 x y))))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 (*.f64 x x) (+.f64 (/.f64 1 y) -1) x)
(+.f64 (*.f64 (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 1 (/.f64 1 y))))) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 1 (/.f64 1 y))))) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (pow.f64 x 3) (-.f64 (/.f64 1 y) (fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 1 (/.f64 -1 y)) (/.f64 1 (*.f64 y y)))) (fma.f64 (*.f64 x x) (+.f64 (/.f64 1 y) -1) x))
(fma.f64 (pow.f64 x 3) (+.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 1 (/.f64 -1 y)))) (fma.f64 (*.f64 x x) (+.f64 (/.f64 1 y) -1) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (/.f64 1 (pow.f64 y 2)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 1 (/.f64 1 y)))))) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 y)))))) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (*.f64 (-.f64 (/.f64 1 y) 1) (-.f64 1 (/.f64 1 y))))) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (-.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (fma.f64 (-.f64 1 (/.f64 1 y)) (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 1 (/.f64 1 y))))) (*.f64 (-.f64 (/.f64 1 (*.f64 y y)) (/.f64 1 y)) (+.f64 (/.f64 1 y) -1))))) (pow.f64 x 4) (fma.f64 (-.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 1 (/.f64 1 y))))) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (pow.f64 x 4) (-.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (/.f64 1 (*.f64 y y)) (fma.f64 (+.f64 1 (/.f64 -1 y)) (-.f64 (/.f64 1 y) (fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 1 (/.f64 -1 y)) (/.f64 1 (*.f64 y y)))) (*.f64 (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 -1 y)) (+.f64 (/.f64 1 y) -1))))) (fma.f64 (pow.f64 x 3) (-.f64 (/.f64 1 y) (fma.f64 (+.f64 (/.f64 1 y) -1) (+.f64 1 (/.f64 -1 y)) (/.f64 1 (*.f64 y y)))) (fma.f64 (*.f64 x x) (+.f64 (/.f64 1 y) -1) x)))
(fma.f64 (pow.f64 x 4) (+.f64 (/.f64 1 (pow.f64 y 3)) (-.f64 (/.f64 -1 (*.f64 y y)) (fma.f64 (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 -1 y)) (+.f64 (/.f64 1 y) -1) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 1 (/.f64 -1 y)))))))) (fma.f64 (pow.f64 x 3) (+.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 1 (/.f64 -1 y)))) (fma.f64 (*.f64 x x) (+.f64 (/.f64 1 y) -1) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 y (pow.f64 y 2)) y)) (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)) x)) (+.f64 1 (/.f64 x y))) (/.f64 1 y))
(-.f64 (fma.f64 -1 (/.f64 (fma.f64 -1 (/.f64 (-.f64 y (*.f64 y y)) y) (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 y (-.f64 y (*.f64 y y))))) x) (+.f64 1 (/.f64 x y))) (/.f64 1 y))
(+.f64 (-.f64 (+.f64 1 (/.f64 x y)) (/.f64 (-.f64 (*.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (-.f64 y (*.f64 y y))) (-.f64 1 (/.f64 y 1))) x)) (/.f64 -1 y))
(+.f64 (-.f64 (+.f64 1 (/.f64 x y)) (/.f64 (-.f64 (*.f64 (-.f64 1 y) (+.f64 1 (/.f64 -1 y))) (-.f64 1 y)) x)) (/.f64 -1 y))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 y (pow.f64 y 2)) y)) (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)) x)) (+.f64 1 (+.f64 (/.f64 x y) (/.f64 (pow.f64 y 2) (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 y (pow.f64 y 2)) (+.f64 (*.f64 -1 (/.f64 (-.f64 y (pow.f64 y 2)) y)) (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y))) (*.f64 y (pow.f64 x 2)))) (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) (pow.f64 x 2)))))))
(-.f64 (-.f64 (fma.f64 -1 (/.f64 (fma.f64 -1 (/.f64 (-.f64 y (*.f64 y y)) y) (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 y (-.f64 y (*.f64 y y))))) x) (+.f64 1 (+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (/.f64 x y)))) (/.f64 1 y)) (+.f64 (/.f64 y (*.f64 x x)) (fma.f64 -1 (*.f64 (/.f64 (-.f64 y (*.f64 y y)) y) (/.f64 (fma.f64 -1 (/.f64 (-.f64 y (*.f64 y y)) y) (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 y (-.f64 y (*.f64 y y))))) (*.f64 x x))) (neg.f64 (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 (*.f64 x x) (-.f64 y (*.f64 y y))))))))
(-.f64 (+.f64 (-.f64 (+.f64 1 (/.f64 x y)) (/.f64 (-.f64 (*.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (-.f64 y (*.f64 y y))) (-.f64 1 (/.f64 y 1))) x)) (*.f64 (/.f64 y x) (/.f64 y x))) (+.f64 (/.f64 1 y) (fma.f64 -1 (fma.f64 (-.f64 1 (/.f64 y 1)) (/.f64 (-.f64 (*.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (-.f64 y (*.f64 y y))) (-.f64 1 (/.f64 y 1))) (*.f64 x x)) (*.f64 (/.f64 (-.f64 y (*.f64 y y)) x) (/.f64 (+.f64 1 (/.f64 -1 y)) x))) (/.f64 (/.f64 y x) x))))
(-.f64 (+.f64 (+.f64 1 (/.f64 x y)) (fma.f64 (/.f64 y x) (/.f64 y x) (-.f64 (/.f64 -1 y) (-.f64 (/.f64 y (*.f64 x x)) (fma.f64 (-.f64 1 y) (/.f64 (-.f64 (*.f64 (-.f64 1 y) (+.f64 1 (/.f64 -1 y))) (-.f64 1 y)) (*.f64 x x)) (/.f64 (+.f64 (*.f64 y (-.f64 1 y)) (neg.f64 (-.f64 1 y))) (*.f64 x x))))))) (/.f64 (-.f64 (*.f64 (-.f64 1 y) (+.f64 1 (/.f64 -1 y))) (-.f64 1 y)) x))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (-.f64 y (+.f64 1 (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)))) x)))) (/.f64 1 y))
(+.f64 1 (-.f64 (+.f64 (/.f64 x y) (neg.f64 (/.f64 (-.f64 y (+.f64 1 (neg.f64 (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 y (-.f64 y (*.f64 y y))))))) x))) (/.f64 1 y)))
(+.f64 (-.f64 (/.f64 x y) (/.f64 (-.f64 y (-.f64 1 (*.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (-.f64 y (*.f64 y y))))) x)) (+.f64 1 (/.f64 -1 y)))
(+.f64 (-.f64 (/.f64 x y) (/.f64 (+.f64 y (+.f64 -1 (*.f64 (-.f64 1 y) (+.f64 1 (/.f64 -1 y))))) x)) (+.f64 1 (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 (pow.f64 y 2) (pow.f64 x 2)) (*.f64 -1 (/.f64 (-.f64 y (+.f64 1 (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)))) x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 y (pow.f64 x 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 y (+.f64 1 (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) y)))) (-.f64 y (pow.f64 y 2))) (*.f64 y (pow.f64 x 2)))) (*.f64 -1 (/.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (-.f64 y (pow.f64 y 2))) (pow.f64 x 2)))))))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (neg.f64 (/.f64 (-.f64 y (+.f64 1 (neg.f64 (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 y (-.f64 y (*.f64 y y))))))) x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 y (*.f64 x x)) (*.f64 -1 (+.f64 (*.f64 (/.f64 (-.f64 y (+.f64 1 (neg.f64 (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 y (-.f64 y (*.f64 y y))))))) y) (/.f64 (-.f64 y (*.f64 y y)) (*.f64 x x))) (/.f64 (-.f64 1 (/.f64 1 y)) (/.f64 (*.f64 x x) (-.f64 y (*.f64 y y)))))))))
(+.f64 1 (+.f64 (-.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 (-.f64 y (-.f64 1 (*.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (-.f64 y (*.f64 y y))))) x)) (-.f64 (/.f64 x y) (+.f64 (/.f64 1 y) (-.f64 (-.f64 (/.f64 (/.f64 y x) x) (/.f64 (-.f64 y (-.f64 1 (*.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) y) (-.f64 y (*.f64 y y))))) (/.f64 (*.f64 x x) (-.f64 1 (/.f64 y 1))))) (*.f64 (/.f64 (-.f64 y (*.f64 y y)) x) (/.f64 (+.f64 1 (/.f64 -1 y)) x)))))))
(+.f64 (-.f64 (+.f64 (+.f64 1 (/.f64 x y)) (-.f64 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 (+.f64 y (+.f64 -1 (*.f64 (-.f64 1 y) (+.f64 1 (/.f64 -1 y))))) x))) (+.f64 (/.f64 1 y) (/.f64 y (*.f64 x x)))) (*.f64 (*.f64 y (-.f64 1 y)) (+.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (/.f64 (+.f64 y (+.f64 -1 (*.f64 (-.f64 1 y) (+.f64 1 (/.f64 -1 y))))) (*.f64 x (*.f64 x y))))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 4))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 6)) (pow.f64 (+.f64 1 x) 3))) (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 3)) (pow.f64 (+.f64 1 x) 2))))) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y))))
(fma.f64 -1 (*.f64 y (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 6))) (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 3))))) (+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 4)))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (fma.f64 (neg.f64 y) (-.f64 (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 3)) (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 6)))) (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 4))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (fma.f64 (neg.f64 y) (-.f64 (/.f64 (+.f64 1 (*.f64 (/.f64 1 (*.f64 x x)) (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 (+.f64 1 x) 3)) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2))) (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 4))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 5)) (pow.f64 (+.f64 1 x) 3)) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 6)) (pow.f64 (+.f64 1 x) 3))) (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 3)) (pow.f64 (+.f64 1 x) 2))) (pow.f64 x 2))) (+.f64 1 x)) (*.f64 -1 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2))))))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) 2) (pow.f64 x 6)) (pow.f64 (+.f64 1 x) 3))) (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 3)) (pow.f64 (+.f64 1 x) 2))))) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 3))) (pow.f64 x 4)) (pow.f64 (+.f64 1 x) 2)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))))
(fma.f64 -1 (*.f64 (*.f64 y y) (+.f64 (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 5))) (+.f64 (/.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 x x) (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 6))) (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 3)))))) (+.f64 1 x)) (neg.f64 (/.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 4))))))) (fma.f64 -1 (*.f64 y (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 6))) (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 3))))) (+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (pow.f64 (+.f64 1 x) 2) (pow.f64 x 4))))))
(-.f64 (+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (fma.f64 (neg.f64 y) (-.f64 (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 3)) (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 6)))) (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 4)))) (*.f64 (*.f64 y y) (+.f64 (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 5))) (-.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (/.f64 (+.f64 1 x) (*.f64 x x)) (-.f64 (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 3)) (/.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2) (/.f64 (pow.f64 (+.f64 1 x) 3) (pow.f64 x 6)))))) (*.f64 (/.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 4))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 4))))))
(-.f64 (+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (pow.f64 x 4))) (*.f64 y (+.f64 (*.f64 (+.f64 (-.f64 (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 (+.f64 1 x) 3)) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2)) (/.f64 (+.f64 1 (*.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 x 4))) (pow.f64 (+.f64 1 x) 2))) (*.f64 (/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) (/.f64 (+.f64 1 x) (*.f64 x x))) (-.f64 (/.f64 (+.f64 1 (*.f64 (/.f64 1 (*.f64 x x)) (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 (+.f64 1 x) 3)) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2))))) y) (-.f64 (/.f64 (+.f64 1 (*.f64 (/.f64 1 (*.f64 x x)) (pow.f64 x 3))) (pow.f64 (+.f64 1 x) 2)) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 (+.f64 1 x) 3)) (pow.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 3))) 2))))))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (/.f64 x (+.f64 1 x)))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (/.f64 x (+.f64 1 x)))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 1 x)))
(+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (fma.f64 -1 (/.f64 (*.f64 0 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (*.f64 y y)) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (+.f64 (/.f64 x (+.f64 1 x)) (/.f64 0 (*.f64 y y))))
(+.f64 0 (*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (+.f64 (/.f64 x (+.f64 1 x)) (*.f64 -1 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 4) (+.f64 1 x))) (/.f64 (pow.f64 x 4) (+.f64 1 x)))) (pow.f64 y 3))))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (fma.f64 -1 (/.f64 (*.f64 0 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (*.f64 y y)) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (+.f64 (/.f64 x (+.f64 1 x)) (/.f64 0 (*.f64 y y))))
(+.f64 0 (*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 1 x))))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (/.f64 x (+.f64 1 x)))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (/.f64 x (+.f64 1 x)))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 1 x)))
(+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (fma.f64 -1 (/.f64 (*.f64 0 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (*.f64 y y)) (/.f64 x (+.f64 1 x))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (+.f64 (/.f64 x (+.f64 1 x)) (/.f64 0 (*.f64 y y))))
(+.f64 0 (*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 1 x))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x)))) (+.f64 (/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) (pow.f64 y 2))) (+.f64 (/.f64 x (+.f64 1 x)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 x 3) (+.f64 1 x))) x) (pow.f64 y 3))) (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x))))))))
(fma.f64 -1 (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x))) (+.f64 (/.f64 (*.f64 x x) (*.f64 y (+.f64 1 x))) (+.f64 (fma.f64 -1 (/.f64 (*.f64 0 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (*.f64 y y)) (/.f64 x (+.f64 1 x))) (fma.f64 -1 (/.f64 (*.f64 0 (/.f64 (pow.f64 x 3) (+.f64 1 x))) (/.f64 (pow.f64 y 3) x)) (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x)))))))
(-.f64 (+.f64 (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))) (+.f64 (/.f64 x (+.f64 1 x)) (+.f64 (/.f64 0 (*.f64 y y)) (+.f64 (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x))) (/.f64 x (/.f64 (pow.f64 y 3) 0)))))) (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x))))
(-.f64 (+.f64 (+.f64 0 (*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 1 x)))) (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x)))) (/.f64 (pow.f64 x 4) (*.f64 (pow.f64 y 3) (+.f64 1 x))))

eval325.0ms (5.2%)

Compiler

Compiled 17238 to 9637 computations (44.1% saved)

prune120.0ms (1.9%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New76013773
Fresh9110
Picked101
Done314
Total77315788
Error
0b
Counts
788 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(*.f64 (+.f64 (/.f64 x y) 1) x)
42.3b
(/.f64 x y)
52.5b
(*.f64 x (/.f64 x y))
32.4b
(pow.f64 (*.f64 (/.f64 y x) (/.f64 (+.f64 x 1) x)) -1)
35.7b
(*.f64 (+.f64 (/.f64 x y) 1) 1)
27.6b
(+.f64 x (+.f64 (*.f64 (*.f64 (*.f64 x x) (+.f64 x -1)) (-.f64 (/.f64 x y) x)) (*.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)))))
0.1b
(*.f64 (+.f64 (/.f64 x y) 1) (/.f64 1 (/.f64 (+.f64 x 1) x)))
41.6b
(/.f64 (/.f64 x (/.f64 y x)) (+.f64 x 1))
37.5b
x
27.8b
(+.f64 x (*.f64 x (/.f64 (-.f64 (fma.f64 x x 1) x) (/.f64 y x))))
37.9b
(+.f64 x (*.f64 (*.f64 x x) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
42.9b
(+.f64 (/.f64 x y) (/.f64 -1 y))
30.6b
(/.f64 x (+.f64 x 1))
43.0b
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
28.1b
(+.f64 x (*.f64 x (-.f64 (/.f64 x y) x)))
Compiler

Compiled 332 to 215 computations (35.2% saved)

localize17.0ms (0.3%)

Local error

Found 6 expressions with local error:

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

Compiled 41 to 24 computations (41.5% saved)

series4.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite81.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
610×log-prod_binary64
349×prod-diff_binary64
296×pow2_binary64
294×fma-def_binary64
236×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify58.0ms (0.9%)

Algorithm
egg-herbie
Rules
627×unsub-neg_binary64
486×+-commutative_binary64
387×associate--r+_binary64
376×associate-*l*_binary64
337×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
068706
1196702
2574624
32440586
47220586
Stop Event
node limit
Counts
235 → 225
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (pow.f64 x 3) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 x 4)) (+.f64 (pow.f64 x 3) x)))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 1 x)
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
Outputs
x
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(fma.f64 -1 (*.f64 x x) x)
(-.f64 x (*.f64 x x))
(fma.f64 x (neg.f64 x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (pow.f64 x 3) x))
(fma.f64 -1 (*.f64 x x) (+.f64 x (pow.f64 x 3)))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 -1 x)))
(fma.f64 (*.f64 x x) (+.f64 x -1) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 x 4)) (+.f64 (pow.f64 x 3) x)))
(fma.f64 -1 (*.f64 x x) (fma.f64 -1 (pow.f64 x 4) (+.f64 x (pow.f64 x 3))))
(-.f64 (-.f64 (+.f64 x (pow.f64 x 3)) (pow.f64 x 4)) (*.f64 x x))
(-.f64 (+.f64 x (pow.f64 x 3)) (fma.f64 x x (pow.f64 x 4)))
(*.f64 (fma.f64 x x 1) (-.f64 x (*.f64 x x)))
1
(-.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 -1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 x)))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 1 (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 (/.f64 1 x) x) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (+.f64 (/.f64 -1 x) (/.f64 -1 (pow.f64 x 3)))))
1
(-.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 -1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 x)))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(-.f64 (+.f64 1 (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 (/.f64 1 x) x) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (+.f64 (/.f64 -1 x) (/.f64 -1 (pow.f64 x 3)))))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (pow.f64 x 3) (-.f64 1 (/.f64 1 y)) (fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x))
(fma.f64 x (*.f64 x (+.f64 -1 (/.f64 1 y))) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) x))
(+.f64 x (*.f64 x (*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 x (*.f64 x x)))))
(+.f64 x (*.f64 (*.f64 x x) (*.f64 (-.f64 1 x) (+.f64 -1 (/.f64 1 y)))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (pow.f64 x 4) (+.f64 -1 (/.f64 1 y)) (fma.f64 (pow.f64 x 3) (-.f64 1 (/.f64 1 y)) (fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x)))
(fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) (fma.f64 (pow.f64 x 4) (+.f64 -1 (/.f64 1 y)) (fma.f64 (*.f64 x x) (+.f64 -1 (/.f64 1 y)) x)))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x -1)))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (-.f64 1 (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 1 (-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 x) (/.f64 1 y))))
(+.f64 (+.f64 (/.f64 x y) (-.f64 1 (/.f64 1 y))) (-.f64 (/.f64 1 (*.f64 x y)) (/.f64 1 x)))
(+.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 (/.f64 x y) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(+.f64 1 (+.f64 (/.f64 x y) (-.f64 (/.f64 (+.f64 -1 (/.f64 1 y)) x) (/.f64 1 y))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(+.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 (*.f64 x x) y))))))
(+.f64 (+.f64 1 (/.f64 1 (*.f64 x y))) (-.f64 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 x y)) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 y) (/.f64 (/.f64 (/.f64 1 x) x) y)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 (/.f64 1 x) y)) (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 y)))))
(+.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y))) (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (-.f64 1 (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 1 (/.f64 -1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(+.f64 1 (-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 x) (/.f64 1 y))))
(+.f64 (+.f64 (/.f64 x y) (-.f64 1 (/.f64 1 y))) (-.f64 (/.f64 1 (*.f64 x y)) (/.f64 1 x)))
(+.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 (/.f64 x y) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(+.f64 1 (+.f64 (/.f64 x y) (-.f64 (/.f64 (+.f64 -1 (/.f64 1 y)) x) (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(+.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 (*.f64 x x) y))))))
(+.f64 (+.f64 1 (/.f64 1 (*.f64 x y))) (-.f64 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 x y)) (+.f64 (/.f64 1 x) (+.f64 (/.f64 1 y) (/.f64 (/.f64 (/.f64 1 x) x) y)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 (/.f64 1 x) y)) (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 y)))))
(+.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y))) (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 -1 (/.f64 1 y)) x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
(/.f64 1 x)
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 12 to 8 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite40.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
599×pow1_binary64
561×log1p-expm1-u_binary64
561×expm1-log1p-u_binary64
560×add-log-exp_binary64
549×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
476×distribute-rgt-out--_binary64
437×sub-neg_binary64
377×fma-def_binary64
263×distribute-neg-frac_binary64
238×unsub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
025142
171138
2180134
3550131
42314130
56187130
Stop Event
node limit
Counts
44 → 46
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (pow.f64 x 3) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 x 4)) (+.f64 (pow.f64 x 3) x)))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
1
(-.f64 1 (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
Outputs
x
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(fma.f64 -1 (*.f64 x x) x)
(-.f64 x (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (pow.f64 x 3) x))
(fma.f64 -1 (*.f64 x x) (+.f64 x (pow.f64 x 3)))
(+.f64 (pow.f64 x 3) (-.f64 x (*.f64 x x)))
(*.f64 x (-.f64 (fma.f64 x x 1) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 x 4)) (+.f64 (pow.f64 x 3) x)))
(fma.f64 -1 (*.f64 x x) (fma.f64 -1 (pow.f64 x 4) (+.f64 x (pow.f64 x 3))))
(-.f64 (-.f64 (+.f64 x (pow.f64 x 3)) (pow.f64 x 4)) (*.f64 x x))
(-.f64 (+.f64 x (pow.f64 x 3)) (fma.f64 x x (pow.f64 x 4)))
(*.f64 (fma.f64 x x 1) (-.f64 x (*.f64 x x)))
(*.f64 (-.f64 1 x) (+.f64 x (pow.f64 x 3)))
1
(-.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 -1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 x)))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 -1 x)))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)) (/.f64 -1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 -1 x) (-.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 (/.f64 1 x) x))))
(+.f64 (/.f64 (/.f64 1 x) x) (+.f64 (-.f64 1 (/.f64 1 x)) (/.f64 -1 (pow.f64 x 3))))
1
(-.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 -1 x))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 x)))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 -1 x)))
(+.f64 1 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (+.f64 (/.f64 (/.f64 1 x) x) (/.f64 -1 x)) (/.f64 -1 (pow.f64 x 3))))
(+.f64 1 (-.f64 (/.f64 -1 x) (-.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 (/.f64 1 x) x))))
(+.f64 (/.f64 (/.f64 1 x) x) (+.f64 (-.f64 1 (/.f64 1 x)) (/.f64 -1 (pow.f64 x 3))))

localize8.0ms (0.1%)

Compiler

Compiled 20 to 10 computations (50% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 24 to 6 computations (75% saved)

series5.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite59.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
966×pow1_binary64
904×add-log-exp_binary64
903×log1p-expm1-u_binary64
903×expm1-log1p-u_binary64
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify47.0ms (0.8%)

Algorithm
egg-herbie
Rules
592×times-frac_binary64
554×div-sub_binary64
445×distribute-rgt-neg-in_binary64
394×associate-/l*_binary64
318×distribute-neg-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047526
1126456
2312456
3999443
45056443
Stop Event
node limit
Counts
128 → 105
Calls
Call 1
Inputs
(/.f64 (pow.f64 x 2) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y)))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 5) y)) (/.f64 (pow.f64 x 2) y))))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 (+.f64 1 x) y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
y
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 y x) y)
(+.f64 (*.f64 y x) y)
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(*.f64 y x)
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
(+.f64 y (*.f64 y x))
Outputs
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y))
(fma.f64 -1 (/.f64 (pow.f64 x 3) y) (/.f64 (*.f64 x x) y))
(-.f64 (/.f64 x (/.f64 y x)) (/.f64 (pow.f64 x 3) y))
(-.f64 (*.f64 (/.f64 x y) x) (/.f64 (pow.f64 x 3) y))
(*.f64 (/.f64 x y) (-.f64 x (*.f64 x x)))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (/.f64 (pow.f64 x 2) y)))
(+.f64 (fma.f64 -1 (/.f64 (pow.f64 x 3) y) (/.f64 (*.f64 x x) y)) (/.f64 (pow.f64 x 4) y))
(+.f64 (/.f64 x (/.f64 y x)) (-.f64 (/.f64 (pow.f64 x 4) y) (/.f64 (pow.f64 x 3) y)))
(+.f64 (*.f64 (/.f64 x y) x) (-.f64 (/.f64 (pow.f64 x 4) y) (/.f64 (pow.f64 x 3) y)))
(fma.f64 x (/.f64 x y) (*.f64 (/.f64 (pow.f64 x 3) y) (+.f64 -1 x)))
(+.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) y)) (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 5) y)) (/.f64 (pow.f64 x 2) y))))
(+.f64 (/.f64 (pow.f64 x 4) y) (fma.f64 -1 (/.f64 (pow.f64 x 3) y) (fma.f64 -1 (/.f64 (pow.f64 x 5) y) (/.f64 (*.f64 x x) y))))
(+.f64 (/.f64 (pow.f64 x 4) y) (-.f64 (-.f64 (/.f64 x (/.f64 y x)) (/.f64 (pow.f64 x 5) y)) (/.f64 (pow.f64 x 3) y)))
(+.f64 (*.f64 (/.f64 x y) x) (-.f64 (/.f64 (pow.f64 x 4) y) (+.f64 (/.f64 (pow.f64 x 3) y) (/.f64 (pow.f64 x 5) y))))
(fma.f64 x (/.f64 x y) (-.f64 (*.f64 (/.f64 (pow.f64 x 3) y) (+.f64 -1 x)) (/.f64 (pow.f64 x 5) y)))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(+.f64 (/.f64 x y) (/.f64 -1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(+.f64 (/.f64 1 (*.f64 x y)) (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (-.f64 (/.f64 1 (*.f64 x y)) (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (/.f64 -1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 (*.f64 x x) y))))
(-.f64 (-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (/.f64 1 (*.f64 x (*.f64 x y)))) (/.f64 1 y))
(+.f64 (/.f64 x y) (+.f64 (+.f64 (/.f64 1 (*.f64 x y)) (/.f64 -1 y)) (/.f64 -1 (*.f64 x (*.f64 x y)))))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 x (*.f64 x y))))))
(/.f64 x y)
(-.f64 (/.f64 x y) (/.f64 1 y))
(+.f64 (/.f64 x y) (/.f64 -1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (/.f64 1 y))
(+.f64 (/.f64 1 (*.f64 x y)) (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 (/.f64 x y) (-.f64 (/.f64 1 (*.f64 x y)) (/.f64 1 y)))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (/.f64 -1 y)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y)) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 (*.f64 x x) y))))
(-.f64 (-.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (/.f64 1 (*.f64 x (*.f64 x y)))) (/.f64 1 y))
(+.f64 (/.f64 x y) (+.f64 (+.f64 (/.f64 1 (*.f64 x y)) (/.f64 -1 y)) (/.f64 -1 (*.f64 x (*.f64 x y)))))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 x (*.f64 x y))))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(*.f64 -1 (/.f64 (pow.f64 x 2) (*.f64 (-.f64 (*.f64 -1 x) 1) y)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 (+.f64 1 x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) 1) y))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
y
(+.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(+.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(+.f64 (*.f64 y x) y)
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 y x)
(*.f64 x y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(*.f64 y x)
(*.f64 x y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)
(+.f64 y (*.f64 y x))
(*.f64 y (+.f64 x 1))
(fma.f64 x y y)

localize39.0ms (0.6%)

Local error

Found 8 expressions with local error:

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

Compiled 112 to 56 computations (50% saved)

series11.0ms (0.2%)

Counts
4 → 84
Calls

21 calls:

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

rewrite101.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
836×log-prod_binary64
631×fma-def_binary64
330×fma-neg_binary64
274×log1p-udef_binary64
273×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify61.0ms (1%)

Algorithm
egg-herbie
Rules
532×fma-def_binary64
514×distribute-rgt-out--_binary64
426×distribute-rgt-out_binary64
358×associate-/l*_binary64
313×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0371207
1931160
22861032
31106904
44102904
Stop Event
node limit
Counts
387 → 332
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3)))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 -1 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(/.f64 (pow.f64 x 2) y)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
Outputs
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3)))
(neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)))
(-.f64 (pow.f64 x 3) (/.f64 (pow.f64 x 3) y))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4))
(*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4))
(*.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4))
(-.f64 (/.f64 (pow.f64 x 4) y) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 3))) (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4)))
(*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4))
(*.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4))
(-.f64 (/.f64 (pow.f64 x 4) y) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 4))) (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y)
(/.f64 (+.f64 x -1) (/.f64 y (pow.f64 x 3)))
(/.f64 (pow.f64 x 3) (/.f64 y (+.f64 -1 x)))
(*.f64 (+.f64 -1 x) (/.f64 (pow.f64 x 3) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 x 3) (+.f64 x -1)))
(*.f64 (pow.f64 x 3) (+.f64 (neg.f64 x) 1))
(*.f64 (pow.f64 x 3) (fma.f64 -1 x 1))
(-.f64 (pow.f64 x 3) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 x 3) (+.f64 x -1)))
(*.f64 (pow.f64 x 3) (+.f64 (neg.f64 x) 1))
(*.f64 (pow.f64 x 3) (fma.f64 -1 x 1))
(-.f64 (pow.f64 x 3) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 x 1) (pow.f64 x 3))) (/.f64 (*.f64 (-.f64 x 1) (pow.f64 x 3)) y))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (neg.f64 (*.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 3))))
(fma.f64 (+.f64 -1 (/.f64 1 y)) (pow.f64 x 4) (*.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y))))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 (pow.f64 x 3) (+.f64 -1 x)))
(*.f64 (-.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 3)) (+.f64 -1 x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (-.f64 (pow.f64 x 4) (pow.f64 x 3)))
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) x)
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(+.f64 (/.f64 x y) (*.f64 -1 x))
(*.f64 (+.f64 (/.f64 1 y) -1) x)
(*.f64 (+.f64 -1 (/.f64 1 y)) x)
(-.f64 (*.f64 (/.f64 1 y) x) x)
(-.f64 (/.f64 x y) x)
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(*.f64 (+.f64 -1 (/.f64 1 y)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(pow.f64 x 3)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(pow.f64 x 3)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 3))
(fma.f64 -1 (*.f64 x x) (pow.f64 x 3))
(-.f64 (pow.f64 x 3) (*.f64 x x))

eval237.0ms (3.8%)

Compiler

Compiled 16176 to 7627 computations (52.8% saved)

prune103.0ms (1.7%)

Pruning

16 alts after pruning (11 fresh and 5 done)

PrunedKeptTotal
New7026708
Fresh459
Picked011
Done145
Total70716723
Error
0b
Counts
723 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
42.3b
(/.f64 x y)
55.3b
1
54.9b
(/.f64 (*.f64 x x) y)
37.9b
(+.f64 x (*.f64 (*.f64 x x) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
9.4b
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
42.9b
(+.f64 (/.f64 x y) (/.f64 -1 y))
52.5b
(*.f64 x (/.f64 x y))
27.9b
(*.f64 (+.f64 (/.f64 x y) 1) x)
35.7b
(*.f64 (+.f64 (/.f64 x y) 1) 1)
27.6b
(+.f64 x (+.f64 (*.f64 (*.f64 (*.f64 x x) (+.f64 x -1)) (-.f64 (/.f64 x y) x)) (*.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)))))
30.6b
(/.f64 x (+.f64 x 1))
0.1b
(/.f64 (+.f64 1 (/.f64 x y)) (/.f64 (+.f64 1 x) x))
41.6b
(/.f64 (/.f64 x (/.f64 y x)) (+.f64 x 1))
37.5b
x
43.0b
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
28.1b
(+.f64 x (*.f64 x (-.f64 (/.f64 x y) x)))
Compiler

Compiled 259 to 167 computations (35.5% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 32 to 17 computations (46.9% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite62.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
576×log-prod_binary64
424×prod-diff_binary64
301×fma-def_binary64
281×pow2_binary64
243×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify50.0ms (0.8%)

Algorithm
egg-herbie
Rules
655×associate--l+_binary64
651×associate-+l-_binary64
506×unsub-neg_binary64
418×+-commutative_binary64
359×associate--r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
055564
1153564
2446490
32038461
47405455
Stop Event
node limit
Counts
124 → 114
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 1 x)
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
Outputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) x)
(fma.f64 x (+.f64 (/.f64 x y) (neg.f64 x)) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) x))
(+.f64 x (*.f64 x (*.f64 x (*.f64 (+.f64 (neg.f64 x) 1) (+.f64 (/.f64 1 y) -1)))))
(+.f64 x (*.f64 x (*.f64 (+.f64 (/.f64 1 y) -1) (-.f64 x (*.f64 x x)))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (pow.f64 x 3) (+.f64 1 (/.f64 -1 y)) x)))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (+.f64 (/.f64 1 y) -1) (*.f64 (+.f64 (/.f64 x y) (neg.f64 x)) (+.f64 -1 x)))))
(+.f64 x (*.f64 (*.f64 x x) (+.f64 (+.f64 (/.f64 1 y) -1) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 -1 x)))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (-.f64 (/.f64 x y) -1) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (+.f64 1 (/.f64 -1 y)) (/.f64 -1 x)))
(-.f64 (-.f64 (-.f64 (/.f64 x y) -1) (/.f64 1 y)) (/.f64 (+.f64 1 (/.f64 -1 y)) x))
(+.f64 1 (+.f64 (-.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (+.f64 (/.f64 1 y) -1) x)))
(+.f64 (+.f64 1 (/.f64 x y)) (+.f64 (/.f64 -1 y) (/.f64 (+.f64 (/.f64 1 y) -1) x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(+.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x)))))))
(+.f64 1 (-.f64 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (+.f64 1 (/.f64 1 (*.f64 x y)))) (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 x y) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 (/.f64 1 y) -1) x)) (+.f64 (/.f64 1 y) -1)))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (-.f64 (/.f64 x y) -1) (/.f64 1 y))
(-.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1)))) (/.f64 1 x))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (+.f64 1 (/.f64 -1 y)) (/.f64 -1 x)))
(-.f64 (-.f64 (-.f64 (/.f64 x y) -1) (/.f64 1 y)) (/.f64 (+.f64 1 (/.f64 -1 y)) x))
(+.f64 1 (+.f64 (-.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (+.f64 (/.f64 1 y) -1) x)))
(+.f64 (+.f64 1 (/.f64 x y)) (+.f64 (/.f64 -1 y) (/.f64 (+.f64 (/.f64 1 y) -1) x)))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (*.f64 -1 (-.f64 (/.f64 1 y) 1))))) (/.f64 1 x))
(+.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x)))))))
(+.f64 1 (-.f64 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (+.f64 1 (/.f64 1 (*.f64 x y)))) (-.f64 (/.f64 (+.f64 1 (/.f64 -1 y)) (*.f64 x x)) (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 x y) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (/.f64 (+.f64 (/.f64 1 y) -1) x)) (+.f64 (/.f64 1 y) -1)))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1)))
(*.f64 (/.f64 x (fma.f64 x y y)) x)
(*.f64 x (/.f64 x (fma.f64 x y y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (*.f64 (/.f64 x y) (/.f64 x (+.f64 x 1))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 1 x)
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
1
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))
(+.f64 1 (/.f64 1 x))

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (/.f64 x y))
0.2b
(*.f64 x (/.f64 x y))
Compiler

Compiled 12 to 4 computations (66.7% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 9 computations (55% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite51.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
793×pow1_binary64
737×log1p-expm1-u_binary64
737×expm1-log1p-u_binary64
736×add-log-exp_binary64
721×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify86.0ms (1.4%)

Algorithm
egg-herbie
Rules
1365×fma-def_binary64
434×unswap-sqr_binary64
423×associate-*r/_binary64
392×associate-/r*_binary64
390×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
08204
113204
222204
340168
489168
5294168
61195168
74053168
85599168
96222168
106469168
116856168
127341168
137919168
Stop Event
node limit
Counts
45 → 27
Calls
Call 1
Inputs
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
Outputs
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 (/.f64 x y) x)
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 (/.f64 x y) x))
(fma.f64 (/.f64 x y) x x)
(fma.f64 x (/.f64 x y) x)

localize9.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 28 to 6 computations (78.6% saved)

series5.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite67.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
456×log-prod_binary64
444×fma-def_binary64
383×prod-exp_binary64
330×exp-prod_binary64
314×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify53.0ms (0.8%)

Algorithm
egg-herbie
Rules
815×fma-neg_binary64
473×fma-def_binary64
338×distribute-rgt-neg-in_binary64
241×distribute-lft-neg-in_binary64
237×distribute-rgt-out--_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
024594
155592
2120592
3339469
41115469
53214469
65942469
Stop Event
node limit
Counts
171 → 139
Calls
Call 1
Inputs
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(/.f64 (pow.f64 x 2) y)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 -1 (pow.f64 x 2))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(+.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(+.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) x)
(/.f64 (pow.f64 x 2) y)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 x (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 x (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 x (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
Outputs
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (/.f64 (pow.f64 x 2) y))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2)))
(*.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x))
(-.f64 (/.f64 x (/.f64 y x)) (*.f64 x x))
(*.f64 x (-.f64 (/.f64 x y) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 2))) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 x (/.f64 (pow.f64 x 2) y)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 x (/.f64 (pow.f64 x 2) y)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 x (/.f64 (pow.f64 x 2) y)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(fma.f64 -1 (*.f64 x x) x)
(-.f64 x (*.f64 x x))
(fma.f64 x (neg.f64 x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) x)
(fma.f64 -1 (*.f64 x x) x)
(-.f64 x (*.f64 x x))
(fma.f64 x (neg.f64 x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (/.f64 (pow.f64 x 2) y) x))
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)

localize11.0ms (0.2%)

Local error

Found 6 expressions with local error:

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

Compiled 34 to 11 computations (67.6% saved)

series5.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite90.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
583×log-prod_binary64
363×fma-def_binary64
352×pow-prod-down_binary64
284×pow2_binary64
229×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify90.0ms (1.4%)

Algorithm
egg-herbie
Rules
630×associate--l+_binary64
569×associate-+l-_binary64
403×+-commutative_binary64
378×unsub-neg_binary64
319×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
059867
1158867
2446811
31907775
46504771
Stop Event
node limit
Counts
231 → 185
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x)))) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 1 (pow.f64 x 2)) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x))))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 x (+.f64 1 x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
(/.f64 (pow.f64 x 2) y)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(/.f64 (pow.f64 x 2) y)
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 (/.f64 (pow.f64 x 2) y) x)
Outputs
x
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)
(fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) x)
(fma.f64 x (+.f64 (/.f64 x y) (neg.f64 x)) x)
(fma.f64 x (-.f64 (/.f64 x y) x) x)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x))
(fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x))
(fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) x))
(+.f64 x (*.f64 (*.f64 x x) (*.f64 (+.f64 1 (/.f64 -1 y)) (+.f64 -1 x))))
(+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 4)) (+.f64 (*.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (/.f64 1 y) 1) (pow.f64 x 2)) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (-.f64 1 (/.f64 1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) (fma.f64 (+.f64 (/.f64 1 y) -1) (*.f64 x x) x)))
(fma.f64 (+.f64 (/.f64 1 y) -1) (pow.f64 x 4) (fma.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)) (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) x)))
(+.f64 (fma.f64 (+.f64 1 (/.f64 -1 y)) (pow.f64 x 3) x) (*.f64 (+.f64 (/.f64 x y) (neg.f64 x)) (+.f64 x (pow.f64 x 3))))
(+.f64 (fma.f64 (*.f64 x x) (-.f64 x (/.f64 x y)) x) (*.f64 (-.f64 (/.f64 x y) x) (+.f64 x (pow.f64 x 3))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 x y))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 1 (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (+.f64 1 (/.f64 -1 y)) (/.f64 -1 x))))
(+.f64 (/.f64 x y) (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 x y) (/.f64 1 (pow.f64 x 2))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y (pow.f64 x 2))) (/.f64 1 x))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x))))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (+.f64 1 (/.f64 1 (*.f64 x x))) (+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 x (*.f64 x y)))) (/.f64 -1 x))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 1 (*.f64 x (*.f64 x y)))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 -1 (*.f64 x (*.f64 x y)))))
(/.f64 x y)
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
(+.f64 1 (-.f64 (/.f64 x y) (/.f64 1 y)))
(+.f64 1 (+.f64 (/.f64 x y) (/.f64 -1 y)))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x)))) (/.f64 1 y))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y)))) (+.f64 (/.f64 1 y) (/.f64 1 x)))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 1 (+.f64 (/.f64 1 y) (/.f64 1 x))))
(+.f64 (/.f64 x y) (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (+.f64 1 (/.f64 -1 y)) (/.f64 -1 x))))
(+.f64 (/.f64 x y) (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))))
(-.f64 (+.f64 1 (+.f64 (/.f64 x y) (+.f64 (/.f64 1 (pow.f64 x 2)) (*.f64 -1 (/.f64 (-.f64 1 (/.f64 1 y)) x))))) (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y (pow.f64 x 2)))))
(-.f64 (+.f64 1 (+.f64 (/.f64 1 (*.f64 x y)) (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 x) (/.f64 1 (*.f64 y (*.f64 x x))))))
(+.f64 1 (+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (-.f64 (/.f64 1 (*.f64 x x)) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1 x)) (/.f64 1 (*.f64 x (*.f64 x y)))))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x y))) (+.f64 (+.f64 1 (/.f64 1 (*.f64 x x))) (+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 x (*.f64 x y)))) (/.f64 -1 x))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (-.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 1 (*.f64 x (*.f64 x y)))))
(+.f64 (+.f64 (/.f64 x y) (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 (+.f64 1 (/.f64 -1 x)) (+.f64 1 (/.f64 -1 y))) (/.f64 -1 (*.f64 x (*.f64 x y)))))
(/.f64 (pow.f64 x 2) (*.f64 y (+.f64 1 x)))
(/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1)))
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
(/.f64 x (/.f64 (fma.f64 x y y) x))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 x (+.f64 1 x))
(/.f64 x (+.f64 x 1))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 (pow.f64 x 2) (*.f64 (+.f64 1 x) y)))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (*.f64 y (+.f64 x 1))))
(+.f64 (/.f64 x (+.f64 x 1)) (/.f64 (*.f64 x x) (+.f64 y (*.f64 x y))))
(*.f64 (+.f64 1 (/.f64 x y)) (/.f64 x (+.f64 x 1)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(/.f64 (pow.f64 x 2) y)
(/.f64 (*.f64 x x) y)
(/.f64 x (/.f64 y x))
(*.f64 x (/.f64 x y))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 x (/.f64 (pow.f64 x 2) y))
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
x
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) y) x)
(+.f64 x (/.f64 (*.f64 x x) y))
(+.f64 x (/.f64 x (/.f64 y x)))
(+.f64 x (*.f64 x (/.f64 x y)))

eval161.0ms (2.6%)

Compiler

Compiled 8753 to 3695 computations (57.8% saved)

prune127.0ms (2%)

Pruning

17 alts after pruning (10 fresh and 7 done)

PrunedKeptTotal
New5695574
Fresh156
Picked011
Done369
Total57317590
Error
0b
Counts
590 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
42.3b
(/.f64 x y)
55.3b
1
54.9b
(/.f64 (*.f64 x x) y)
37.9b
(+.f64 x (*.f64 (*.f64 x x) (-.f64 (*.f64 -1 (*.f64 (-.f64 x 1) x)) 1)))
9.4b
(/.f64 (+.f64 x (/.f64 x (/.f64 y x))) (+.f64 x 1))
42.9b
(+.f64 (/.f64 x y) (/.f64 -1 y))
52.5b
(*.f64 x (/.f64 x y))
27.9b
(+.f64 (*.f64 (/.f64 x y) x) x)
30.6b
(/.f64 x (+.f64 x 1))
0.1b
(/.f64 (+.f64 1 (/.f64 x y)) (/.f64 (+.f64 1 x) x))
41.6b
(/.f64 (/.f64 x (/.f64 y x)) (+.f64 x 1))
27.9b
(/.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 x))
28.1b
(+.f64 x (*.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) x)))
52.5b
(/.f64 x (/.f64 y x))
35.7b
(*.f64 (+.f64 (/.f64 x y) 1) 1)
43.0b
(/.f64 (*.f64 x x) (+.f64 y (*.f64 x y)))
37.5b
x
Compiler

Compiled 155 to 102 computations (34.2% saved)

regimes26.0ms (0.4%)

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

2 calls:

12.0ms
x
10.0ms
y
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
Compiler

Compiled 129 to 62 computations (51.9% saved)

regimes117.0ms (1.9%)

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

2 calls:

91.0ms
y
23.0ms
x
Results
ErrorSegmentsBranch
1.5b3x
14.4b9y
Compiler

Compiled 92 to 43 computations (53.3% saved)

bsearch45.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
0.022082053038973322
44587738.865049265
23.0ms
-29.197655605942373
-0.1224237778638028
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes92.0ms (1.5%)

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

2 calls:

66.0ms
y
22.0ms
x
Results
ErrorSegmentsBranch
1.7b3x
14.4b9y
Compiler

Compiled 81 to 36 computations (55.6% saved)

bsearch50.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
0.022082053038973322
44587738.865049265
23.0ms
-29.197655605942373
-0.1224237778638028
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes59.0ms (0.9%)

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

2 calls:

40.0ms
y
16.0ms
x
Results
ErrorSegmentsBranch
11.1b3x
19.0b8y
Compiler

Compiled 40 to 20 computations (50% saved)

bsearch43.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
44587738.865049265
53488234585.07184
21.0ms
-29.197655605942373
-0.1224237778638028
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes47.0ms (0.8%)

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

2 calls:

25.0ms
x
20.0ms
y
Results
ErrorSegmentsBranch
15.8b5x
21.3b4y
Compiler

Compiled 33 to 16 computations (51.5% saved)

bsearch464.0ms (7.4%)

Algorithm
binary-search
Steps
TimeLeftRight
68.0ms
5.618359253118895e+114
1.4121273993610411e+119
142.0ms
1.4698546419223453e+85
4.732922476343065e+88
21.0ms
44587738.865049265
53488234585.07184
233.0ms
-1.7058228879425838e+51
-3.9008682302394406e+49
Compiler

Compiled 276 to 211 computations (23.6% saved)

regimes59.0ms (0.9%)

Counts
4 → 5
Calls
Call 1
Inputs
x
1
(/.f64 x y)
(/.f64 x (/.f64 y x))
Outputs
(/.f64 x y)
x
(/.f64 x y)
1
(/.f64 x y)
Calls

2 calls:

35.0ms
x
22.0ms
y
Results
ErrorSegmentsBranch
17.3b5x
27.0b6y
Compiler

Compiled 18 to 10 computations (44.4% saved)

bsearch271.0ms (4.3%)

Algorithm
binary-search
Steps
TimeLeftRight
84.0ms
5.618359253118895e+114
1.4121273993610411e+119
136.0ms
1.4698546419223453e+85
4.732922476343065e+88
30.0ms
44587738.865049265
53488234585.07184
20.0ms
-29.197655605942373
-0.1224237778638028
Compiler

Compiled 178 to 141 computations (20.8% saved)

regimes15.0ms (0.2%)

Accuracy

Total -30.9b remaining (-99.2%)

Threshold costs -30.9b (-99.2%)

Counts
2 → 3
Calls
Call 1
Inputs
x
1
Outputs
1
x
1
Calls

2 calls:

10.0ms
x
3.0ms
y
Results
ErrorSegmentsBranch
31.2b3x
37.5b1y
Compiler

Compiled 10 to 7 computations (30% saved)

bsearch47.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
0.022082053038973322
44587738.865049265
23.0ms
-21573125341413687000.0
-876309853.054992
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
*-rgt-identity_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049225
163225
264225
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 1 (/.f64 x y)) (/.f64 (+.f64 1 x) x))
(if (<=.f64 x -128412647370131/4398046511104) (*.f64 (+.f64 (/.f64 x y) 1) 1) (if (<=.f64 x 407341981032021120/18446744073709551616) (+.f64 x (*.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) x))) (*.f64 (+.f64 (/.f64 x y) 1) 1)))
(if (<=.f64 x -128412647370131/4398046511104) (*.f64 (+.f64 (/.f64 x y) 1) 1) (if (<=.f64 x 407341981032021120/18446744073709551616) (+.f64 (*.f64 (/.f64 x y) x) x) (*.f64 (+.f64 (/.f64 x y) 1) 1)))
(if (<=.f64 x -128412647370131/4398046511104) (*.f64 (+.f64 (/.f64 x y) 1) 1) (if (<=.f64 x 191502880227974752/4294967296) (/.f64 x (+.f64 x 1)) (*.f64 (+.f64 (/.f64 x y) 1) 1)))
(if (<=.f64 x -1699999999999999922014212957168973914794551337287680) (/.f64 x y) (if (<=.f64 x 191502880227974752/4294967296) (/.f64 x (+.f64 x 1)) (if (<=.f64 x 15000000000000000219460428460123095464550644817969825889179161807546945463767223238656) (/.f64 x y) (if (<=.f64 x 140000000000000006517823696094853681352592614170309389532456032152450203231794681574444704999668474350119022535236386816) 1 (/.f64 x y)))))
(if (<=.f64 x -128412647370131/4398046511104) (/.f64 x y) (if (<=.f64 x 191502880227974752/4294967296) x (if (<=.f64 x 15000000000000000219460428460123095464550644817969825889179161807546945463767223238656) (/.f64 x y) (if (<=.f64 x 140000000000000006517823696094853681352592614170309389532456032152450203231794681574444704999668474350119022535236386816) 1 (/.f64 x y)))))
(if (<=.f64 x -5655265369499549642522624/262144) 1 (if (<=.f64 x 407341981032021120/18446744073709551616) x 1))
x
Outputs
(/.f64 (+.f64 1 (/.f64 x y)) (/.f64 (+.f64 1 x) x))
(if (<=.f64 x -128412647370131/4398046511104) (*.f64 (+.f64 (/.f64 x y) 1) 1) (if (<=.f64 x 407341981032021120/18446744073709551616) (+.f64 x (*.f64 x (*.f64 (-.f64 (/.f64 1 y) 1) x))) (*.f64 (+.f64 (/.f64 x y) 1) 1)))
(if (<=.f64 x -128412647370131/4398046511104) (+.f64 1 (/.f64 x y)) (if (<=.f64 x 3182359226812665/144115188075855872) (+.f64 x (*.f64 x (*.f64 x (+.f64 (/.f64 1 y) -1)))) (+.f64 1 (/.f64 x y))))
(if (<=.f64 x -128412647370131/4398046511104) (*.f64 (+.f64 (/.f64 x y) 1) 1) (if (<=.f64 x 407341981032021120/18446744073709551616) (+.f64 (*.f64 (/.f64 x y) x) x) (*.f64 (+.f64 (/.f64 x y) 1) 1)))
(if (<=.f64 x -128412647370131/4398046511104) (+.f64 1 (/.f64 x y)) (if (<=.f64 x 3182359226812665/144115188075855872) (+.f64 x (*.f64 x (/.f64 x y))) (+.f64 1 (/.f64 x y))))
(if (<=.f64 x -128412647370131/4398046511104) (*.f64 (+.f64 (/.f64 x y) 1) 1) (if (<=.f64 x 191502880227974752/4294967296) (/.f64 x (+.f64 x 1)) (*.f64 (+.f64 (/.f64 x y) 1) 1)))
(if (<=.f64 x -128412647370131/4398046511104) (+.f64 1 (/.f64 x y)) (if (<=.f64 x 5984465007124211/134217728) (/.f64 x (+.f64 1 x)) (+.f64 1 (/.f64 x y))))
(if (<=.f64 x -1699999999999999922014212957168973914794551337287680) (/.f64 x y) (if (<=.f64 x 191502880227974752/4294967296) (/.f64 x (+.f64 x 1)) (if (<=.f64 x 15000000000000000219460428460123095464550644817969825889179161807546945463767223238656) (/.f64 x y) (if (<=.f64 x 140000000000000006517823696094853681352592614170309389532456032152450203231794681574444704999668474350119022535236386816) 1 (/.f64 x y)))))
(if (<=.f64 x -1699999999999999922014212957168973914794551337287680) (/.f64 x y) (if (<=.f64 x 5984465007124211/134217728) (/.f64 x (+.f64 1 x)) (if (<=.f64 x 15000000000000000219460428460123095464550644817969825889179161807546945463767223238656) (/.f64 x y) (if (<=.f64 x 140000000000000006517823696094853681352592614170309389532456032152450203231794681574444704999668474350119022535236386816) 1 (/.f64 x y)))))
(if (<=.f64 x -128412647370131/4398046511104) (/.f64 x y) (if (<=.f64 x 191502880227974752/4294967296) x (if (<=.f64 x 15000000000000000219460428460123095464550644817969825889179161807546945463767223238656) (/.f64 x y) (if (<=.f64 x 140000000000000006517823696094853681352592614170309389532456032152450203231794681574444704999668474350119022535236386816) 1 (/.f64 x y)))))
(if (<=.f64 x -128412647370131/4398046511104) (/.f64 x y) (if (<=.f64 x 5984465007124211/134217728) x (if (<=.f64 x 15000000000000000219460428460123095464550644817969825889179161807546945463767223238656) (/.f64 x y) (if (<=.f64 x 140000000000000006517823696094853681352592614170309389532456032152450203231794681574444704999668474350119022535236386816) 1 (/.f64 x y)))))
(if (<=.f64 x -5655265369499549642522624/262144) 1 (if (<=.f64 x 407341981032021120/18446744073709551616) x 1))
(if (<=.f64 x -21573125341413687296) 1 (if (<=.f64 x 3182359226812665/144115188075855872) x 1))
x

end83.0ms (1.3%)

Stop Event
fuel
Compiler

Compiled 334 to 195 computations (41.6% saved)

Profiling

Loading profile data...