Details

Time bar (total: 5.4s)

analyze55.0ms (1%)

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
25%74.9%0.1%5
37.5%62.4%0.1%6
43.7%43.7%12.6%7
53.1%34.3%12.6%8
57.8%23.4%18.8%9
63.2%18%18.8%10
66%12.1%22%11
68.9%9.2%22%12
Compiler

Compiled 10 to 7 computations (30% saved)

sample1.2s (21.6%)

Results
1.1s8256×body256valid
69.0ms338×body256invalid

preprocess106.0ms (2%)

Algorithm
egg-herbie
Rules
303×fma-neg_binary64
296×fma-def_binary64
164×distribute-rgt-in_binary64
100×distribute-lft-in_binary64
92×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
12320
26620
315020
434120
549320
679120
7128720
8160320
9175820
10183020
11183020
12183020
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 x y) (-.f64 1 y))
(*.f64 (*.f64 y x) (-.f64 1 x))
Outputs
(*.f64 (*.f64 x y) (-.f64 1 y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 (*.f64 y x) (-.f64 1 x))
(*.f64 y (*.f64 x (-.f64 1 x)))
(*.f64 x (*.f64 y (-.f64 1 x)))
(*.f64 x (-.f64 y (*.f64 x y)))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify19.0ms (0.4%)

Algorithm
egg-herbie
Rules
601×fma-def_binary64
148×fma-neg_binary64
84×distribute-rgt-in_binary64
51×cancel-sign-sub-inv_binary64
50×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
23810
38510
419410
529210
644910
769210
8132610
9140210
10143810
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) (-.f64 1 y))
Outputs
(*.f64 (*.f64 x y) (-.f64 1 y))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 x (fma.f64 y (neg.f64 y) y))

eval1.0ms (0%)

Compiler

Compiled 16 to 9 computations (43.8% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 18 to 11 computations (38.9% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
747×pow1_binary64
692×add-log-exp_binary64
692×log1p-expm1-u_binary64
692×expm1-log1p-u_binary64
678×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify69.0ms (1.3%)

Algorithm
egg-herbie
Rules
607×sub-neg_binary64
367×fma-neg_binary64
350×associate-*l*_binary64
309×distribute-rgt-neg-in_binary64
308×neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014232
134232
283232
3189232
4580232
51887232
63861232
75986232
87765232
Stop Event
node limit
Counts
43 → 25
Calls
Call 1
Inputs
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
Outputs
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (neg.f64 (*.f64 y y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (neg.f64 (*.f64 y y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
4.2b
(*.f64 x (fma.f64 y (neg.f64 y) y))
4.2b
(*.f64 x (fma.f64 y (neg.f64 y) y))

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@0
(*.f64 x (fma.f64 y (neg.f64 y) y))
1.0ms
y
@-inf
(*.f64 x (fma.f64 y (neg.f64 y) y))
1.0ms
x
@inf
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.0ms
y
@0
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.0ms
x
@-inf
(*.f64 x (fma.f64 y (neg.f64 y) y))

rewrite62.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
503×pow1_binary64
482×add-sqr-sqrt_binary64
462×add-log-exp_binary64
461×log1p-expm1-u_binary64
461×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify66.0ms (1.2%)

Algorithm
egg-herbie
Rules
396×unsub-neg_binary64
386×distribute-rgt-out--_binary64
363×sub-neg_binary64
358×fma-neg_binary64
319×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013253
130232
264232
3154232
4465232
51705232
63914232
76415232
Stop Event
node limit
Counts
37 → 19
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
Outputs
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) y) x)
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 (*.f64 y y)) x)
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 (*.f64 y y)) x)
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (fma.f64 -1 (*.f64 y y) y) x)
(*.f64 (-.f64 y (*.f64 y y)) x)
(*.f64 y (-.f64 x (*.f64 y x)))

eval9.0ms (0.2%)

Compiler

Compiled 409 to 195 computations (52.3% saved)

prune15.0ms (0.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New39544
Fresh000
Picked011
Done011
Total39746
Error
0.0b
Counts
46 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(/.f64 (*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y))) (+.f64 y 1))
18.5b
(*.f64 y x)
23.5b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
32.4b
(*.f64 y (*.f64 x (neg.f64 y)))
4.6b
(*.f64 x (fma.f64 y (neg.f64 y) y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
0.1b
(*.f64 y (-.f64 x (*.f64 y x)))
Compiler

Compiled 116 to 75 computations (35.3% saved)

localize4.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite147.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
760×pow1_binary64
706×add-log-exp_binary64
706×log1p-expm1-u_binary64
706×expm1-log1p-u_binary64
691×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify89.0ms (1.7%)

Algorithm
egg-herbie
Rules
895×fma-def_binary64
494×fma-neg_binary64
428×difference-of-squares_binary64
362×unswap-sqr_binary64
361×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
021455
152434
2119392
3248392
4654392
51412392
63070392
74673392
87846392
Stop Event
node limit
Counts
107 → 74
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
Outputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 x (*.f64 y (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 x (*.f64 y (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (+.f64 1 (*.f64 -1 y)) (*.f64 y x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(*.f64 -1 (*.f64 y x))
(*.f64 (neg.f64 y) x)
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 x (-.f64 1 y))
(-.f64 x (*.f64 y x))

localize4.0ms (0.1%)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (*.f64 x (neg.f64 y)))
0.2b
(*.f64 y (*.f64 x (neg.f64 y)))

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite42.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
503×pow1_binary64
480×add-sqr-sqrt_binary64
462×add-log-exp_binary64
461×log1p-expm1-u_binary64
461×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify80.0ms (1.5%)

Algorithm
egg-herbie
Rules
678×distribute-rgt-neg-in_binary64
572×fma-neg_binary64
567×distribute-lft-neg-in_binary64
507×fma-def_binary64
369×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08216
118216
243216
3101216
4262216
5858216
61446216
72611216
83705216
94548216
105148216
115884216
126957216
Stop Event
node limit
Counts
36 → 14
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
Outputs
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.1b
(/.f64 (*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y))) (+.f64 y 1))
0.5b
(*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y)))
0.5b
(*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y)))
6.1b
(/.f64 (*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y))) (+.f64 y 1))

series9.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

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

rewrite65.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
314×prod-diff_binary64
294×pow2_binary64
286×fma-def_binary64
219×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify47.0ms (0.9%)

Algorithm
egg-herbie
Rules
603×fma-neg_binary64
521×associate-/l/_binary64
513×fma-def_binary64
416×cancel-sign-sub-inv_binary64
311×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
021662
158653
2154536
3428536
41568536
54533536
Stop Event
node limit
Counts
160 → 124
Calls
Call 1
Inputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
Outputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(/.f64 (*.f64 (-.f64 1 (*.f64 y y)) x) (/.f64 (+.f64 y 1) y))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(neg.f64 (*.f64 x (pow.f64 y 3)))
(*.f64 x (neg.f64 (pow.f64 y 3)))
(*.f64 (pow.f64 y 3) (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(neg.f64 (*.f64 x (pow.f64 y 3)))
(*.f64 x (neg.f64 (pow.f64 y 3)))
(*.f64 (pow.f64 y 3) (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))

localize24.0ms (0.4%)

Local error

Found 6 expressions with local error:

NewErrorProgram
11.7b
(sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
11.7b
(sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))

series20.0ms (0.4%)

Counts
2 → 16
Calls

12 calls:

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

rewrite57.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
889×pow1_binary64
827×add-log-exp_binary64
826×log1p-expm1-u_binary64
826×expm1-log1p-u_binary64
809×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.7%)

Algorithm
egg-herbie
Rules
698×fma-def_binary64
692×fma-neg_binary64
432×associate-/l/_binary64
339×cancel-sign-sub-inv_binary64
282×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
088424
1277337
21022277
34312269
Stop Event
node limit
Counts
82 → 91
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))
(+.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 x))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) y)) (sqrt.f64 x))) (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 x)))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 y 2))) (sqrt.f64 x))) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) y)) (sqrt.f64 x))) (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 x))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (sqrt.f64 -1) y) (sqrt.f64 x))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (sqrt.f64 -1) y) (sqrt.f64 x))) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 -1) (pow.f64 y 2)) (sqrt.f64 x))))))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))))
(+.f64 (*.f64 -1/8 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 4) y))) (+.f64 (*.f64 y x) (+.f64 (*.f64 1/8 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 4) y))) (+.f64 (*.f64 -1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))))))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (*.f64 1/8 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x))) y)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))))))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))
(*.f64 (sqrt.f64 -1) (*.f64 y (sqrt.f64 x)))
(*.f64 y (*.f64 (sqrt.f64 -1) (sqrt.f64 x)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 x))))
(fma.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x) (*.f64 1/2 (*.f64 (sqrt.f64 x) (/.f64 1 (sqrt.f64 -1)))))
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 (sqrt.f64 -1) y) (/.f64 1/2 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 x) (fma.f64 (sqrt.f64 -1) y (/.f64 1/2 (sqrt.f64 -1))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) y)) (sqrt.f64 x))) (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 x)))))
(fma.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x) (fma.f64 -1/8 (*.f64 (sqrt.f64 x) (/.f64 1 (*.f64 y (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (sqrt.f64 x) (/.f64 1 (sqrt.f64 -1))))))
(fma.f64 (sqrt.f64 -1) (*.f64 y (sqrt.f64 x)) (*.f64 (sqrt.f64 x) (+.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 -1/8 (neg.f64 (*.f64 (sqrt.f64 -1) y))))))
(*.f64 (sqrt.f64 x) (+.f64 (/.f64 1/2 (sqrt.f64 -1)) (fma.f64 (sqrt.f64 -1) y (/.f64 1/8 (*.f64 (sqrt.f64 -1) y)))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 y 2))) (sqrt.f64 x))) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) y)) (sqrt.f64 x))) (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 x))))))
(fma.f64 1/16 (/.f64 (*.f64 1 (sqrt.f64 x)) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (*.f64 y y))) (fma.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x) (fma.f64 -1/8 (*.f64 (sqrt.f64 x) (/.f64 1 (*.f64 y (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (sqrt.f64 x) (/.f64 1 (sqrt.f64 -1)))))))
(+.f64 (*.f64 (sqrt.f64 x) (+.f64 (/.f64 1/2 (sqrt.f64 -1)) (/.f64 -1/8 (neg.f64 (*.f64 (sqrt.f64 -1) y))))) (*.f64 (sqrt.f64 x) (+.f64 (/.f64 1/16 (*.f64 y (*.f64 y (pow.f64 (sqrt.f64 -1) 5)))) (*.f64 (sqrt.f64 -1) y))))
(*.f64 (sqrt.f64 x) (+.f64 (+.f64 (/.f64 1/8 (*.f64 (sqrt.f64 -1) y)) (/.f64 1/2 (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) y) (/.f64 1/16 (*.f64 y (*.f64 y (pow.f64 (sqrt.f64 -1) 5)))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 y (sqrt.f64 x))))
(*.f64 (*.f64 (sqrt.f64 -1) y) (neg.f64 (sqrt.f64 x)))
(*.f64 (sqrt.f64 -1) (*.f64 y (neg.f64 (sqrt.f64 x))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))))
(fma.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x)) (neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 y (sqrt.f64 x)))))
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 (sqrt.f64 -1) 1/2) (neg.f64 (*.f64 (sqrt.f64 -1) y))))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 x)) (-.f64 1/2 y))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 -1) (-.f64 1/2 y)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (sqrt.f64 -1) y) (sqrt.f64 x))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x)) (fma.f64 1/8 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 -1) y)) (neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 y (sqrt.f64 x))))))
(-.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (sqrt.f64 -1) 1/2) (*.f64 1/8 (/.f64 (sqrt.f64 -1) y)))) (*.f64 y (*.f64 (sqrt.f64 -1) (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 -1) y)) (*.f64 (sqrt.f64 -1) (+.f64 1/2 (neg.f64 y)))))
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 1/8 (/.f64 (sqrt.f64 -1) y)) (*.f64 (sqrt.f64 -1) (-.f64 1/2 y))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (sqrt.f64 -1) y) (sqrt.f64 x))) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 -1) (pow.f64 y 2)) (sqrt.f64 x))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 -1) (sqrt.f64 x)) (fma.f64 1/8 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 -1) y)) (fma.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 y (sqrt.f64 x))) (*.f64 1/16 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 -1) (*.f64 y y)))))))
(+.f64 (*.f64 (sqrt.f64 x) (+.f64 (neg.f64 (*.f64 (sqrt.f64 -1) y)) (*.f64 1/16 (/.f64 (/.f64 (sqrt.f64 -1) y) y)))) (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (sqrt.f64 -1) 1/2) (*.f64 1/8 (/.f64 (sqrt.f64 -1) y)))))
(*.f64 (sqrt.f64 x) (+.f64 (fma.f64 (sqrt.f64 -1) 1/2 (*.f64 1/8 (/.f64 (sqrt.f64 -1) y))) (-.f64 (*.f64 1/16 (/.f64 (sqrt.f64 -1) (*.f64 y y))) (*.f64 (sqrt.f64 -1) y))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 -1) y)) (+.f64 1/8 (/.f64 1/16 y))) (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 -1) (-.f64 1/2 y))))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y)))
(*.f64 -1 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (*.f64 -1 y) y)))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))))
(fma.f64 y x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (*.f64 -1 y) y)))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))
(+.f64 (*.f64 -1/8 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 4) y))) (+.f64 (*.f64 y x) (+.f64 (*.f64 1/8 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 4) y))) (+.f64 (*.f64 -1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)) (*.f64 1/4 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))))))
(fma.f64 y x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (*.f64 -1 y) y)))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y)))
(*.f64 -1 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (*.f64 -1 y) y)))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x)))))
(fma.f64 y x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (*.f64 -1 y) y)))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (*.f64 1/8 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x))) y)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (sqrt.f64 -1) 2) x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))))))
(fma.f64 y x (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (*.f64 -1 y) y)))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))

eval140.0ms (2.6%)

Compiler

Compiled 4995 to 2583 computations (48.3% saved)

prune82.0ms (1.5%)

Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New3217328
Fresh000
Picked011
Done246
Total32312335
Error
0.0b
Counts
335 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(/.f64 (*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y))) (+.f64 y 1))
18.5b
(*.f64 y x)
41.7b
(/.f64 (*.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y x) 3)) y) (fma.f64 x x (*.f64 (*.f64 y x) (+.f64 x (*.f64 y x)))))
9.8b
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 3))) (+.f64 y 1))
23.5b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
32.4b
(*.f64 y (*.f64 x (neg.f64 y)))
4.6b
(*.f64 (*.f64 y (-.f64 1 y)) x)
0.1b
(*.f64 y (-.f64 x (*.f64 y x)))
1.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2))
36.9b
(*.f64 x (*.f64 y (neg.f64 y)))
22.3b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)) y) (+.f64 x (*.f64 y x)))
0.1b
(*.f64 (*.f64 x y) (/.f64 1 (/.f64 1 (-.f64 1 y))))
Compiler

Compiled 267 to 166 computations (37.8% saved)

localize6.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

series5.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite59.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
943×pow1_binary64
878×add-log-exp_binary64
878×log1p-expm1-u_binary64
878×expm1-log1p-u_binary64
90×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify55.0ms (1%)

Algorithm
egg-herbie
Rules
805×fma-def_binary64
502×fma-neg_binary64
403×associate-/r*_binary64
351×div-sub_binary64
346×times-frac_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038458
198442
2277442
3783440
42343439
56884439
Stop Event
node limit
Counts
134 → 109
Calls
Call 1
Inputs
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
1
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (*.f64 -1 y))
(*.f64 -1 y)
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (*.f64 -1 y))
(*.f64 -1 y)
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (*.f64 -1 y))
(+.f64 1 (*.f64 -1 y))
1
(+.f64 1 y)
(+.f64 1 (+.f64 y (pow.f64 y 2)))
(+.f64 (pow.f64 y 3) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 -1 y)
(neg.f64 (+.f64 (/.f64 1 y) (/.f64 1 (pow.f64 y 2))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 (pow.f64 y 3)))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4))))))
(/.f64 -1 y)
(neg.f64 (+.f64 (/.f64 1 y) (/.f64 1 (pow.f64 y 2))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 (pow.f64 y 3)))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4))))))
Outputs
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
1
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(*.f64 -1 y)
(neg.f64 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(*.f64 -1 y)
(neg.f64 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
(+.f64 1 (*.f64 -1 y))
(-.f64 1 y)
1
(+.f64 1 y)
(+.f64 y 1)
(+.f64 1 (+.f64 y (pow.f64 y 2)))
(+.f64 1 (+.f64 y (*.f64 y y)))
(+.f64 1 (fma.f64 y y y))
(+.f64 y (fma.f64 y y 1))
(+.f64 (pow.f64 y 3) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(+.f64 (+.f64 1 (+.f64 y (*.f64 y y))) (pow.f64 y 3))
(+.f64 1 (+.f64 (fma.f64 y y y) (pow.f64 y 3)))
(+.f64 1 (fma.f64 y (fma.f64 y y y) y))
(*.f64 (+.f64 y 1) (fma.f64 y y 1))
(/.f64 -1 y)
(neg.f64 (+.f64 (/.f64 1 y) (/.f64 1 (pow.f64 y 2))))
(neg.f64 (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y y))))
(+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 y y)))
(*.f64 (/.f64 1 y) (+.f64 -1 (/.f64 -1 y)))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 (pow.f64 y 3)))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 1 (pow.f64 y 3)))))
(-.f64 (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
(+.f64 (/.f64 -1 y) (+.f64 (/.f64 -1 (*.f64 y y)) (/.f64 -1 (pow.f64 y 3))))
(+.f64 (/.f64 -1 (*.f64 y y)) (-.f64 (/.f64 -1 y) (/.f64 1 (pow.f64 y 3))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4))))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4))))))
(-.f64 (/.f64 -1 y) (+.f64 (/.f64 1 (*.f64 y y)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4)))))
(+.f64 (/.f64 -1 y) (+.f64 (+.f64 (/.f64 -1 (*.f64 y y)) (/.f64 -1 (pow.f64 y 3))) (/.f64 -1 (pow.f64 y 4))))
(+.f64 (/.f64 -1 y) (-.f64 (+.f64 (/.f64 -1 (pow.f64 y 3)) (/.f64 -1 (pow.f64 y 4))) (/.f64 1 (*.f64 y y))))
(+.f64 (/.f64 -1 y) (+.f64 (/.f64 -1 (*.f64 y y)) (-.f64 (/.f64 -1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4)))))
(/.f64 -1 y)
(neg.f64 (+.f64 (/.f64 1 y) (/.f64 1 (pow.f64 y 2))))
(neg.f64 (+.f64 (/.f64 1 y) (/.f64 1 (*.f64 y y))))
(+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 y y)))
(*.f64 (/.f64 1 y) (+.f64 -1 (/.f64 -1 y)))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (/.f64 1 (pow.f64 y 3)))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 1 (pow.f64 y 3)))))
(-.f64 (+.f64 (/.f64 -1 y) (/.f64 -1 (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
(+.f64 (/.f64 -1 y) (+.f64 (/.f64 -1 (*.f64 y y)) (/.f64 -1 (pow.f64 y 3))))
(+.f64 (/.f64 -1 (*.f64 y y)) (-.f64 (/.f64 -1 y) (/.f64 1 (pow.f64 y 3))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 2)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4))))))
(neg.f64 (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (*.f64 y y)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4))))))
(-.f64 (/.f64 -1 y) (+.f64 (/.f64 1 (*.f64 y y)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4)))))
(+.f64 (/.f64 -1 y) (+.f64 (+.f64 (/.f64 -1 (*.f64 y y)) (/.f64 -1 (pow.f64 y 3))) (/.f64 -1 (pow.f64 y 4))))
(+.f64 (/.f64 -1 y) (-.f64 (+.f64 (/.f64 -1 (pow.f64 y 3)) (/.f64 -1 (pow.f64 y 4))) (/.f64 1 (*.f64 y y))))
(+.f64 (/.f64 -1 y) (+.f64 (/.f64 -1 (*.f64 y y)) (-.f64 (/.f64 -1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 4)))))

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
9.1b
(*.f64 x (*.f64 y (neg.f64 y)))
9.1b
(*.f64 x (*.f64 y (neg.f64 y)))

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
4.0ms
y
@inf
(*.f64 x (*.f64 y (neg.f64 y)))
0.0ms
x
@0
(*.f64 x (*.f64 y (neg.f64 y)))
0.0ms
y
@-inf
(*.f64 x (*.f64 y (neg.f64 y)))
0.0ms
y
@0
(*.f64 x (*.f64 y (neg.f64 y)))
0.0ms
x
@inf
(*.f64 x (*.f64 y (neg.f64 y)))

rewrite38.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
479×pow1_binary64
458×add-sqr-sqrt_binary64
452×*-un-lft-identity_binary64
440×add-log-exp_binary64
439×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify75.0ms (1.4%)

Algorithm
egg-herbie
Rules
678×distribute-rgt-neg-in_binary64
572×fma-neg_binary64
567×distribute-lft-neg-in_binary64
507×fma-def_binary64
369×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08216
118216
243216
3101216
4262216
5858216
61446216
72611216
83705216
94548216
105148216
115884216
126957216
Stop Event
node limit
Counts
36 → 14
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
Outputs
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (*.f64 y (neg.f64 y)))

localize4.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.2b
(*.f64 (*.f64 y (-.f64 1 y)) x)
0.0b
(*.f64 y (-.f64 1 y))
0.0b
(*.f64 y (-.f64 1 y))
4.2b
(*.f64 (*.f64 y (-.f64 1 y)) x)

series10.0ms (0.2%)

Counts
2 → 36
Calls

9 calls:

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

rewrite55.0ms (1%)

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

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (1%)

Algorithm
egg-herbie
Rules
714×fma-neg_binary64
486×distribute-rgt-neg-in_binary64
384×unsub-neg_binary64
380×unswap-sqr_binary64
348×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
016380
139308
287308
3206308
4646308
51501308
62762308
75317308
Stop Event
node limit
Counts
68 → 43
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
y
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(*.f64 -1 (pow.f64 y 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(*.f64 -1 (pow.f64 y 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
Outputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 (*.f64 y y)) x)
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 x (neg.f64 (*.f64 y y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(*.f64 (neg.f64 (*.f64 y y)) x)
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 x (neg.f64 (*.f64 y y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (*.f64 (neg.f64 (*.f64 y y)) x))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (*.f64 y x) (-.f64 1 y))
y
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(*.f64 -1 (pow.f64 y 2))
(neg.f64 (*.f64 y y))
(*.f64 y (neg.f64 y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(*.f64 -1 (pow.f64 y 2))
(neg.f64 (*.f64 y y))
(*.f64 y (neg.f64 y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(fma.f64 y (neg.f64 y) y)

localize7.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
6.1b
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 3))) (+.f64 y 1))
3.1b
(*.f64 x (-.f64 y (pow.f64 y 3)))
0.0b
(-.f64 y (pow.f64 y 3))
0.0b
(-.f64 y (pow.f64 y 3))
3.1b
(*.f64 x (-.f64 y (pow.f64 y 3)))
6.1b
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 3))) (+.f64 y 1))

series17.0ms (0.3%)

Counts
3 → 60
Calls

15 calls:

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

rewrite82.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
599×prod-diff_binary64
547×log-prod_binary64
352×fma-def_binary64
283×pow2_binary64
238×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify74.0ms (1.4%)

Algorithm
egg-herbie
Rules
772×associate-/r/_binary64
763×div-sub_binary64
481×fma-neg_binary64
390×cancel-sign-sub-inv_binary64
376×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022639
157630
2142612
3386612
41249612
53565612
67755612
Stop Event
node limit
Counts
268 → 224
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
y
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(*.f64 -1 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(*.f64 -1 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
Outputs
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 (-.f64 y (pow.f64 y 3)) x) (+.f64 1 y))
(/.f64 (-.f64 y (pow.f64 y 3)) (/.f64 (+.f64 y 1) x))
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 y (pow.f64 y 3)) (/.f64 x (+.f64 y 1)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 (*.f64 y x) (-.f64 1 y))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(*.f64 (neg.f64 (pow.f64 y 3)) x)
(*.f64 (pow.f64 y 3) (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(*.f64 (neg.f64 (pow.f64 y 3)) x)
(*.f64 (pow.f64 y 3) (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 (-.f64 y (pow.f64 y 3)) x)
y
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(*.f64 -1 (pow.f64 y 3))
(neg.f64 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(*.f64 -1 (pow.f64 y 3))
(neg.f64 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))

localize9.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
16.5b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)) y) (+.f64 x (*.f64 y x)))
5.0b
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)) y)
3.1b
(-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))
0.3b
(pow.f64 (*.f64 y x) 2)
0.3b
(pow.f64 (*.f64 y x) 2)
3.1b
(-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2))
5.0b
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)) y)
16.5b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) 2)) y) (+.f64 x (*.f64 y x)))

series16.0ms (0.3%)

Counts
4 → 96
Calls

24 calls:

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

rewrite96.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
694×log-prod_binary64
526×fma-def_binary64
326×pow2_binary64
262×fma-neg_binary64
226×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify59.0ms (1.1%)

Algorithm
egg-herbie
Rules
607×div-sub_binary64
526×cancel-sign-sub-inv_binary64
464×times-frac_binary64
438×fma-neg_binary64
405×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0321275
1931266
22611149
310051149
446501149
Stop Event
node limit
Counts
338 → 266
Calls
Call 1
Inputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
Outputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (-.f64 (*.f64 -1 y) 1)))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 (/.f64 x (+.f64 y 1)) (-.f64 y (pow.f64 y 3)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 (neg.f64 y) x))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 (neg.f64 y) x))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (neg.f64 (*.f64 y y))))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 y (pow.f64 x 2))
(*.f64 y (*.f64 x x))
(*.f64 x (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 x x) (pow.f64 y 3)))
(*.f64 (*.f64 x x) (neg.f64 (pow.f64 y 3)))
(*.f64 (neg.f64 x) (*.f64 x (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 x x) (pow.f64 y 3)))
(*.f64 (*.f64 x x) (neg.f64 (pow.f64 y 3)))
(*.f64 (neg.f64 x) (*.f64 x (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x)))
(*.f64 (*.f64 x x) (-.f64 y (pow.f64 y 3)))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (-.f64 1 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 y y) (*.f64 x x)))
(*.f64 (*.f64 y y) (neg.f64 (*.f64 x x)))
(*.f64 y (*.f64 y (*.f64 x (neg.f64 x))))
(*.f64 y (*.f64 (neg.f64 y) (*.f64 x x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 y y) (*.f64 x x)))
(*.f64 (*.f64 y y) (neg.f64 (*.f64 x x)))
(*.f64 y (*.f64 y (*.f64 x (neg.f64 x))))
(*.f64 y (*.f64 (neg.f64 y) (*.f64 x x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 x 2))) (pow.f64 x 2))
(*.f64 (-.f64 1 (*.f64 y y)) (*.f64 x x))
(*.f64 (fma.f64 y (neg.f64 y) 1) (*.f64 x x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))
(*.f64 (pow.f64 y 2) (pow.f64 x 2))
(*.f64 (*.f64 y y) (*.f64 x x))
(*.f64 (*.f64 y x) (*.f64 y x))

eval413.0ms (7.7%)

Compiler

Compiled 12959 to 6508 computations (49.8% saved)

prune111.0ms (2.1%)

Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New6524656
Fresh202
Picked101
Done369
Total65810668
Error
0b
Counts
668 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(/.f64 (*.f64 (*.f64 x y) (-.f64 1 (*.f64 y y))) (+.f64 y 1))
18.5b
(*.f64 y x)
4.6b
(*.f64 (*.f64 y (-.f64 1 y)) x)
0.1b
(*.f64 y (-.f64 x (*.f64 y x)))
9.8b
(/.f64 (*.f64 x (*.f64 y (-.f64 1 (*.f64 y y)))) (+.f64 y 1))
36.9b
(*.f64 x (*.f64 y (neg.f64 y)))
32.4b
(*.f64 y (*.f64 x (neg.f64 y)))
0.1b
(/.f64 (*.f64 x y) (/.f64 1 (-.f64 1 y)))
0.3b
(/.f64 y (/.f64 (/.f64 1 (-.f64 1 y)) x))
44.9b
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2)) (+.f64 x (*.f64 y x)))
Compiler

Compiled 118 to 76 computations (35.6% saved)

localize14.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
2.9b
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y)
0.3b
(pow.f64 (*.f64 x y) 4)
0.1b
(pow.f64 (hypot.f64 x (*.f64 x y)) 2)
0.0b
(hypot.f64 x (*.f64 x y))
2.9b
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y)
6.0b
(-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4))
16.5b
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2)) (+.f64 x (*.f64 y x)))
33.2b
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2))

series87.0ms (1.6%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
56.0ms
y
@-inf
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y)
8.0ms
x
@0
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2)) (+.f64 x (*.f64 y x)))
4.0ms
x
@0
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2))
3.0ms
y
@0
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2))
2.0ms
x
@-inf
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x y) 4)) y) (pow.f64 (hypot.f64 x (*.f64 x y)) 2))

rewrite139.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
936×log-prod_binary64
538×fma-def_binary64
301×expm1-udef_binary64
301×log1p-udef_binary64
287×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (1.4%)

Algorithm
egg-herbie
Rules
458×associate-*l*_binary64
431×associate-*r*_binary64
397×unsub-neg_binary64
338×div-sub_binary64
297×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01251746
14601652
218841612
368661477
Stop Event
node limit
Counts
324 → 268
Calls
Call 1
Inputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(*.f64 y (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 y 5))) (*.f64 y (pow.f64 x 2))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2)))))) (pow.f64 y 7))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 y 5))) (*.f64 y (pow.f64 x 2)))))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 1/8 (pow.f64 x 2)))) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/2 (pow.f64 x 2)))) (pow.f64 y 3))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2))))))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 2)))))) (pow.f64 y 3))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2))))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 x) x))) (*.f64 -1 (*.f64 (pow.f64 y 2) x))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (*.f64 -1 x) x)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 x) x))) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (*.f64 -1 (*.f64 (pow.f64 y 2) x))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (*.f64 -1 x) x)) y)) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 x) (*.f64 -2 x)) y)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) x))))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 y (pow.f64 x 4))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
Outputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 2))) (+.f64 1 (pow.f64 y 2)))
(/.f64 y (/.f64 (+.f64 1 (*.f64 y y)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x))))
(*.f64 (/.f64 y (fma.f64 y y 1)) (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 x x)) (/.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5)))) x)
(*.f64 y (pow.f64 x 2))
(*.f64 y (*.f64 x x))
(*.f64 x (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (*.f64 y (*.f64 x x)))
(*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))
(*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 y 5))) (*.f64 y (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (*.f64 y (*.f64 x x)))
(*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))
(*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2)))))) (pow.f64 y 7))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 y 5))) (*.f64 y (pow.f64 x 2)))))
(fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (*.f64 y (*.f64 x x)))
(*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))
(*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3))))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 x x) (pow.f64 y 3)))
(*.f64 (*.f64 x x) (neg.f64 (pow.f64 y 3)))
(*.f64 x (*.f64 x (neg.f64 (pow.f64 y 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (*.f64 y (*.f64 x x)))
(*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))
(*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2)))))
(fma.f64 1/4 (/.f64 (*.f64 x x) y) (fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (fma.f64 -1/4 (/.f64 (*.f64 x x) y) (*.f64 y (*.f64 x x)))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (/.f64 (*.f64 x x) (/.f64 y -1/4)) (*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (/.f64 -1/4 (/.f64 (/.f64 y x) x))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (*.f64 -1/4 (/.f64 x (/.f64 y x)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/8 (pow.f64 x 2)) (*.f64 1/8 (pow.f64 x 2)))) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/2 (pow.f64 x 2)))) (pow.f64 y 3))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2))))))
(fma.f64 1/4 (/.f64 (*.f64 x x) y) (fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (fma.f64 -1/4 (/.f64 (*.f64 x x) y) (*.f64 y (*.f64 x x)))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (/.f64 (*.f64 x x) (/.f64 y -1/4)) (*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (/.f64 -1/4 (/.f64 (/.f64 y x) x))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (*.f64 -1/4 (/.f64 x (/.f64 y x)))))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2)))
(neg.f64 (*.f64 (*.f64 x x) (pow.f64 y 3)))
(*.f64 (*.f64 x x) (neg.f64 (pow.f64 y 3)))
(*.f64 x (*.f64 x (neg.f64 (pow.f64 y 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (*.f64 y (pow.f64 x 2)))
(fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (*.f64 y (*.f64 x x)))
(*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))
(*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2)))))
(fma.f64 1/4 (/.f64 (*.f64 x x) y) (fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (fma.f64 -1/4 (/.f64 (*.f64 x x) y) (*.f64 y (*.f64 x x)))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (/.f64 (*.f64 x x) (/.f64 y -1/4)) (*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (/.f64 -1/4 (/.f64 (/.f64 y x) x))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (*.f64 -1/4 (/.f64 x (/.f64 y x)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1 (+.f64 (*.f64 1/8 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 2)))))) (pow.f64 y 3))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) y)) (*.f64 y (pow.f64 x 2))))))
(fma.f64 1/4 (/.f64 (*.f64 x x) y) (fma.f64 -1 (*.f64 (*.f64 x x) (pow.f64 y 3)) (fma.f64 -1/4 (/.f64 (*.f64 x x) y) (*.f64 y (*.f64 x x)))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (/.f64 (*.f64 x x) (/.f64 y -1/4)) (*.f64 (*.f64 x x) (+.f64 y (neg.f64 (pow.f64 y 3))))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (/.f64 -1/4 (/.f64 (/.f64 y x) x))))
(fma.f64 1/4 (/.f64 x (/.f64 y x)) (+.f64 (*.f64 x (*.f64 x (-.f64 y (pow.f64 y 3)))) (*.f64 -1/4 (/.f64 x (/.f64 y x)))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (+.f64 1 (pow.f64 y 2)) (+.f64 1 y)))
(*.f64 (/.f64 y (+.f64 1 (*.f64 y y))) (/.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (+.f64 y 1)))
(*.f64 (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)) (/.f64 y (+.f64 y 1)))
(*.f64 (*.f64 (-.f64 1 (pow.f64 y 4)) x) (/.f64 y (*.f64 (fma.f64 y y 1) (+.f64 y 1))))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 5)) (fma.f64 y y 1)) (/.f64 x (+.f64 y 1)))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(neg.f64 (/.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 y y)) (fma.f64 -1 y -1)) (*.f64 (-.f64 1 (pow.f64 y 4)) x))))
(*.f64 (neg.f64 (/.f64 y (fma.f64 y -1 -1))) (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)))
(/.f64 (*.f64 (neg.f64 y) (-.f64 1 (pow.f64 y 4))) (/.f64 (-.f64 -1 y) (/.f64 x (fma.f64 y y 1))))
(/.f64 (neg.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5))))) (-.f64 -1 y))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(neg.f64 (/.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 y y)) (fma.f64 -1 y -1)) (*.f64 (-.f64 1 (pow.f64 y 4)) x))))
(*.f64 (neg.f64 (/.f64 y (fma.f64 y -1 -1))) (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)))
(/.f64 (*.f64 (neg.f64 y) (-.f64 1 (pow.f64 y 4))) (/.f64 (-.f64 -1 y) (/.f64 x (fma.f64 y y 1))))
(/.f64 (neg.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5))))) (-.f64 -1 y))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(neg.f64 (/.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 y y)) (fma.f64 -1 y -1)) (*.f64 (-.f64 1 (pow.f64 y 4)) x))))
(*.f64 (neg.f64 (/.f64 y (fma.f64 y -1 -1))) (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)))
(/.f64 (*.f64 (neg.f64 y) (-.f64 1 (pow.f64 y 4))) (/.f64 (-.f64 -1 y) (/.f64 x (fma.f64 y y 1))))
(/.f64 (neg.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5))))) (-.f64 -1 y))
(*.f64 -1 (/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) x)) (*.f64 (-.f64 (*.f64 -1 y) 1) (+.f64 1 (pow.f64 y 2)))))
(neg.f64 (/.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 y y)) (fma.f64 -1 y -1)) (*.f64 (-.f64 1 (pow.f64 y 4)) x))))
(*.f64 (neg.f64 (/.f64 y (fma.f64 y -1 -1))) (/.f64 (-.f64 1 (pow.f64 y 4)) (/.f64 (fma.f64 y y 1) x)))
(/.f64 (*.f64 (neg.f64 y) (-.f64 1 (pow.f64 y 4))) (/.f64 (-.f64 -1 y) (/.f64 x (fma.f64 y y 1))))
(/.f64 (neg.f64 (/.f64 x (/.f64 (fma.f64 y y 1) (-.f64 y (pow.f64 y 5))))) (-.f64 -1 y))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 x) x))) (*.f64 -1 (*.f64 (pow.f64 y 2) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (*.f64 -1 x) x)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 x) x))) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (*.f64 -1 (*.f64 (pow.f64 y 2) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (*.f64 -1 x) x)) y)) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 x) (*.f64 -2 x)) y)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4)))
(neg.f64 (*.f64 (pow.f64 y 4) (pow.f64 x 4)))
(*.f64 (pow.f64 y 4) (neg.f64 (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4)))
(neg.f64 (*.f64 (pow.f64 y 4) (pow.f64 x 4)))
(*.f64 (pow.f64 y 4) (neg.f64 (pow.f64 x 4)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 4) (pow.f64 x 4))) (pow.f64 x 4))
(*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 y (pow.f64 x 4))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))
(neg.f64 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))
(*.f64 (pow.f64 y 5) (neg.f64 (pow.f64 x 4)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))
(neg.f64 (*.f64 (pow.f64 y 5) (pow.f64 x 4)))
(*.f64 (pow.f64 y 5) (neg.f64 (pow.f64 x 4)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))
(+.f64 (*.f64 y (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 y 5) (pow.f64 x 4))))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 4)) (pow.f64 x 4)))
(*.f64 (-.f64 1 (pow.f64 y 4)) (*.f64 y (pow.f64 x 4)))
(*.f64 (pow.f64 x 4) (-.f64 y (pow.f64 y 5)))

localize6.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.2b
(/.f64 y (/.f64 (/.f64 1 (-.f64 1 y)) x))
0.1b
(/.f64 (/.f64 1 (-.f64 1 y)) x)
0.0b
(/.f64 1 (-.f64 1 y))
0.0b
(/.f64 1 (-.f64 1 y))
0.1b
(/.f64 (/.f64 1 (-.f64 1 y)) x)
0.2b
(/.f64 y (/.f64 (/.f64 1 (-.f64 1 y)) x))

series12.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

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

rewrite56.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
489×log-prod_binary64
382×exp-prod_binary64
279×pow-prod-down_binary64
239×pow2_binary64
186×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify58.0ms (1.1%)

Algorithm
egg-herbie
Rules
637×associate-/l*_binary64
554×cancel-sign-sub-inv_binary64
373×associate-*l/_binary64
310×div-sub_binary64
307×associate-*r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
043688
1116655
2313613
3861608
42952580
57851580
Stop Event
node limit
Counts
161 → 134
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(/.f64 1 x)
(+.f64 (/.f64 y x) (/.f64 1 x))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (pow.f64 y 2) x) (/.f64 1 x)))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (pow.f64 y 2) x) (+.f64 (/.f64 1 x) (/.f64 (pow.f64 y 3) x))))
(/.f64 -1 (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 1 (*.f64 (pow.f64 y 2) x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) x)) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x))))))
(/.f64 -1 (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 1 (*.f64 (pow.f64 y 2) x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) x)) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x))))))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 (-.f64 1 y) x))
Outputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (neg.f64 (*.f64 y x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (neg.f64 (*.f64 y x)))
(*.f64 y (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 (neg.f64 y) y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(/.f64 1 x)
(+.f64 (/.f64 y x) (/.f64 1 x))
(+.f64 (/.f64 1 x) (/.f64 y x))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (pow.f64 y 2) x) (/.f64 1 x)))
(+.f64 (/.f64 y x) (+.f64 (/.f64 1 x) (/.f64 (*.f64 y y) x)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 y x) (/.f64 y (/.f64 x y))))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 y x) (/.f64 (*.f64 y y) x)))
(+.f64 (/.f64 1 x) (fma.f64 (/.f64 y x) y (/.f64 y x)))
(+.f64 (/.f64 1 x) (*.f64 (/.f64 y x) (+.f64 y 1)))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (pow.f64 y 2) x) (+.f64 (/.f64 1 x) (/.f64 (pow.f64 y 3) x))))
(+.f64 (/.f64 y x) (+.f64 (/.f64 (*.f64 y y) x) (+.f64 (/.f64 1 x) (/.f64 (pow.f64 y 3) x))))
(+.f64 (/.f64 y x) (+.f64 (/.f64 1 x) (+.f64 (/.f64 y (/.f64 x y)) (/.f64 (pow.f64 y 3) x))))
(+.f64 (/.f64 y x) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (*.f64 y y) x) (/.f64 (pow.f64 y 3) x))))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 y x) (*.f64 (/.f64 y x) (+.f64 (*.f64 y y) y))))
(+.f64 (/.f64 1 x) (*.f64 (/.f64 y x) (+.f64 1 (*.f64 y (+.f64 1 y)))))
(/.f64 -1 (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 1 (*.f64 (pow.f64 y 2) x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 1 (*.f64 x (*.f64 y y)))))
(-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 1 (*.f64 y (*.f64 y x))))
(+.f64 (/.f64 -1 (*.f64 y x)) (/.f64 -1 (*.f64 y (*.f64 y x))))
(-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (*.f64 y y)))
(*.f64 (/.f64 (/.f64 1 y) x) (+.f64 (/.f64 -1 y) -1))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 x (pow.f64 y 3))))))
(-.f64 (/.f64 -1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 y (*.f64 y x))) (/.f64 (/.f64 1 x) (pow.f64 y 3))))
(+.f64 (/.f64 -1 (*.f64 y (*.f64 y x))) (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (pow.f64 y 3))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (*.f64 y y))) (/.f64 (/.f64 1 x) (pow.f64 y 3)))
(+.f64 (/.f64 -1 (*.f64 y x)) (*.f64 (/.f64 (/.f64 (/.f64 1 y) x) y) (+.f64 (/.f64 -1 y) -1)))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) x)) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x))))))
(neg.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 x (pow.f64 y 4))) (/.f64 1 (*.f64 y x))) (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 x (pow.f64 y 3))))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 y (*.f64 y x))) (/.f64 (/.f64 1 x) (pow.f64 y 3)))) (/.f64 (/.f64 1 x) (pow.f64 y 4)))
(+.f64 (+.f64 (/.f64 -1 (*.f64 y (*.f64 y x))) (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (pow.f64 y 3)))) (/.f64 -1 (*.f64 x (pow.f64 y 4))))
(+.f64 (-.f64 (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (*.f64 y y))) (/.f64 (/.f64 1 x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) x))
(+.f64 (*.f64 (/.f64 (/.f64 1 y) x) (+.f64 (/.f64 -1 y) -1)) (*.f64 (/.f64 1 (*.f64 x (pow.f64 y 3))) (+.f64 (/.f64 -1 y) -1)))
(/.f64 -1 (*.f64 y x))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 1 (*.f64 (pow.f64 y 2) x))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (/.f64 1 (*.f64 x (*.f64 y y)))))
(-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 1 (*.f64 y (*.f64 y x))))
(+.f64 (/.f64 -1 (*.f64 y x)) (/.f64 -1 (*.f64 y (*.f64 y x))))
(-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (*.f64 y y)))
(*.f64 (/.f64 (/.f64 1 y) x) (+.f64 (/.f64 -1 y) -1))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x)))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 x (pow.f64 y 3))))))
(-.f64 (/.f64 -1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 y (*.f64 y x))) (/.f64 (/.f64 1 x) (pow.f64 y 3))))
(+.f64 (/.f64 -1 (*.f64 y (*.f64 y x))) (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (pow.f64 y 3))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (*.f64 y y))) (/.f64 (/.f64 1 x) (pow.f64 y 3)))
(+.f64 (/.f64 -1 (*.f64 y x)) (*.f64 (/.f64 (/.f64 (/.f64 1 y) x) y) (+.f64 (/.f64 -1 y) -1)))
(neg.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 y 4) x)) (+.f64 (/.f64 1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 (pow.f64 y 2) x)) (/.f64 1 (*.f64 (pow.f64 y 3) x))))))
(neg.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 x (pow.f64 y 4))) (/.f64 1 (*.f64 y x))) (+.f64 (/.f64 1 (*.f64 x (*.f64 y y))) (/.f64 1 (*.f64 x (pow.f64 y 3))))))
(-.f64 (-.f64 (/.f64 -1 (*.f64 y x)) (+.f64 (/.f64 1 (*.f64 y (*.f64 y x))) (/.f64 (/.f64 1 x) (pow.f64 y 3)))) (/.f64 (/.f64 1 x) (pow.f64 y 4)))
(+.f64 (+.f64 (/.f64 -1 (*.f64 y (*.f64 y x))) (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (pow.f64 y 3)))) (/.f64 -1 (*.f64 x (pow.f64 y 4))))
(+.f64 (-.f64 (-.f64 (/.f64 -1 (*.f64 y x)) (/.f64 (/.f64 1 x) (*.f64 y y))) (/.f64 (/.f64 1 x) (pow.f64 y 3))) (/.f64 (/.f64 -1 (pow.f64 y 4)) x))
(+.f64 (*.f64 (/.f64 (/.f64 1 y) x) (+.f64 (/.f64 -1 y) -1)) (*.f64 (/.f64 1 (*.f64 x (pow.f64 y 3))) (+.f64 (/.f64 -1 y) -1)))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))
(/.f64 1 (*.f64 (-.f64 1 y) x))
(/.f64 1 (*.f64 x (-.f64 1 y)))
(/.f64 (/.f64 1 x) (-.f64 1 y))

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite47.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
922×add-log-exp_binary64
922×log1p-expm1-u_binary64
922×expm1-log1p-u_binary64
91×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify67.0ms (1.3%)

Algorithm
egg-herbie
Rules
607×sub-neg_binary64
367×fma-neg_binary64
350×associate-*l*_binary64
309×distribute-rgt-neg-in_binary64
308×neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014232
134232
283232
3189232
4580232
51887232
63861232
75986232
87765232
Stop Event
node limit
Counts
71 → 53
Calls
Call 1
Inputs
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
Outputs
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (neg.f64 (*.f64 y y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 x (neg.f64 (*.f64 y y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (fma.f64 y (neg.f64 x) x))

localize8.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
6.1b
(/.f64 (*.f64 x (*.f64 y (-.f64 1 (*.f64 y y)))) (+.f64 y 1))
3.1b
(*.f64 x (*.f64 y (-.f64 1 (*.f64 y y))))
0.0b
(*.f64 y (-.f64 1 (*.f64 y y)))
0.0b
(*.f64 y (-.f64 1 (*.f64 y y)))
3.1b
(*.f64 x (*.f64 y (-.f64 1 (*.f64 y y))))
6.1b
(/.f64 (*.f64 x (*.f64 y (-.f64 1 (*.f64 y y)))) (+.f64 y 1))

series5.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite70.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
620×log-prod_binary64
314×prod-diff_binary64
294×pow2_binary64
264×fma-def_binary64
219×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify49.0ms (0.9%)

Algorithm
egg-herbie
Rules
657×fma-neg_binary64
566×fma-def_binary64
434×cancel-sign-sub-inv_binary64
317×distribute-rgt-neg-in_binary64
297×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023756
162729
2166612
3461612
41694612
54855612
Stop Event
node limit
Counts
194 → 151
Calls
Call 1
Inputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
y
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(*.f64 -1 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(*.f64 -1 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
Outputs
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x)) (+.f64 1 y))
(/.f64 y (/.f64 (+.f64 y 1) (*.f64 (-.f64 1 (*.f64 y y)) x)))
(*.f64 (/.f64 y (+.f64 y 1)) (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)) x)
(*.f64 x (/.f64 (-.f64 y (pow.f64 y 3)) (+.f64 y 1)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 (neg.f64 x) y) y)
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 (*.f64 y y) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 (neg.f64 x) y) y)
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 (*.f64 y y) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (neg.f64 (*.f64 (*.f64 y y) x)))
(*.f64 x (+.f64 y (*.f64 y (neg.f64 y))))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (fma.f64 x (neg.f64 y) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 2)) x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(*.f64 (neg.f64 (pow.f64 y 3)) x)
(*.f64 x (neg.f64 (pow.f64 y 3)))
(*.f64 (pow.f64 y 3) (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) x))
(*.f64 (neg.f64 (pow.f64 y 3)) x)
(*.f64 x (neg.f64 (pow.f64 y 3)))
(*.f64 (pow.f64 y 3) (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) x)) (*.f64 y x))
(*.f64 y (*.f64 (-.f64 1 (*.f64 y y)) x))
(*.f64 x (-.f64 y (pow.f64 y 3)))
y
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(*.f64 -1 (pow.f64 y 3))
(neg.f64 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(*.f64 -1 (pow.f64 y 3))
(neg.f64 (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))
(+.f64 y (*.f64 -1 (pow.f64 y 3)))
(+.f64 y (neg.f64 (pow.f64 y 3)))
(-.f64 y (pow.f64 y 3))

eval408.0ms (7.6%)

Compiler

Compiled 14404 to 7663 computations (46.8% saved)

prune106.0ms (2%)

Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New6744678
Fresh000
Picked011
Done459
Total67810688
Error
0b
Counts
688 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
9.8b
(/.f64 (*.f64 x (*.f64 y (-.f64 1 (*.f64 y y)))) (+.f64 y 1))
32.4b
(/.f64 (*.f64 x y) (/.f64 -1 y))
18.6b
(/.f64 y (/.f64 1 x))
18.5b
(*.f64 y x)
36.9b
(*.f64 x (*.f64 y (neg.f64 y)))
32.4b
(/.f64 y (/.f64 (/.f64 -1 y) x))
4.6b
(*.f64 (*.f64 y (-.f64 1 y)) x)
0.1b
(*.f64 y (-.f64 x (*.f64 y x)))
0.3b
(/.f64 y (/.f64 (/.f64 1 x) (-.f64 1 y)))
32.4b
(*.f64 y (*.f64 x (neg.f64 y)))
Compiler

Compiled 90 to 59 computations (34.4% saved)

regimes51.0ms (1%)

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

4 calls:

12.0ms
x
12.0ms
y
10.0ms
(*.f64 (*.f64 x y) (-.f64 1 y))
10.0ms
(*.f64 (*.f64 x y) (-.f64 1 y))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(*.f64 (*.f64 x y) (-.f64 1 y))
0.1b1(*.f64 (*.f64 x y) (-.f64 1 y))
Compiler

Compiled 258 to 135 computations (47.7% saved)

regimes32.0ms (0.6%)

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

2 calls:

15.0ms
x
15.0ms
y
Results
ErrorSegmentsBranch
2.5b3x
0.1b3y
Compiler

Compiled 49 to 27 computations (44.9% saved)

bsearch14.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
9.228369140267346e+63
2.2432730101153672e+69
5.0ms
-4.778580068854194e+160
-1.0876658527902395e+153
Compiler

Compiled 54 to 38 computations (29.6% saved)

regimes34.0ms (0.6%)

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

2 calls:

18.0ms
x
14.0ms
y
Results
ErrorSegmentsBranch
12.5b3x
1.6b3y
Compiler

Compiled 42 to 23 computations (45.2% saved)

bsearch33.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
0.0003676134116460638
7.773140359224689
16.0ms
-5.838124845251465e+20
-0.0003497965360322395
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes40.0ms (0.7%)

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

2 calls:

21.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
12.5b3x
1.6b3y
Compiler

Compiled 35 to 19 computations (45.7% saved)

bsearch32.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
0.0003676134116460638
7.773140359224689
15.0ms
-5.838124845251465e+20
-0.0003497965360322395
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes27.0ms (0.5%)

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

2 calls:

14.0ms
x
11.0ms
y
Results
ErrorSegmentsBranch
12.5b3x
1.7b3y
Compiler

Compiled 28 to 15 computations (46.4% saved)

bsearch31.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
0.0003676134116460638
7.773140359224689
15.0ms
-5.838124845251465e+20
-0.0003497965360322395
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes22.0ms (0.4%)

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

2 calls:

10.0ms
y
10.0ms
x
Results
ErrorSegmentsBranch
15.2b3x
6.1b3y
Compiler

Compiled 22 to 13 computations (40.9% saved)

bsearch32.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
0.0003676134116460638
7.773140359224689
15.0ms
-5.838124845251465e+20
-0.0003497965360322395
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes8.0ms (0.2%)

Accuracy

Total -0.1b remaining (-0.7%)

Threshold costs -0.1b (-0.7%)

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

2 calls:

4.0ms
x
4.0ms
y
Results
ErrorSegmentsBranch
18.5b1x
18.5b1y
Compiler

Compiled 16 to 10 computations (37.5% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
039195
159195
279195
398195
4106195
5109195
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 y (-.f64 x (*.f64 y x)))
(if (<=.f64 y -10000000000000000065284077450682265568456642148886267118448844545520511777838181142510337509988867035816342470187175785193750117648543530356184548650438281396224) (/.f64 (*.f64 x y) (/.f64 -1 y)) (if (<=.f64 y 99999999999999999209038626283633850822756121694230455365568299008) (*.f64 (*.f64 y (-.f64 1 y)) x) (/.f64 y (/.f64 (/.f64 -1 y) x))))
(if (<=.f64 y -583812484525146505216) (/.f64 (*.f64 x y) (/.f64 -1 y)) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (/.f64 y (/.f64 (/.f64 -1 y) x))))
(if (<=.f64 y -583812484525146505216) (/.f64 (*.f64 x y) (/.f64 -1 y)) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -583812484525146505216) (*.f64 y (*.f64 x (neg.f64 y))) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -583812484525146505216) (*.f64 x (*.f64 y (neg.f64 y))) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 x (*.f64 y (neg.f64 y)))))
(*.f64 y x)
Outputs
(*.f64 y (-.f64 x (*.f64 y x)))
(if (<=.f64 y -10000000000000000065284077450682265568456642148886267118448844545520511777838181142510337509988867035816342470187175785193750117648543530356184548650438281396224) (/.f64 (*.f64 x y) (/.f64 -1 y)) (if (<=.f64 y 99999999999999999209038626283633850822756121694230455365568299008) (*.f64 (*.f64 y (-.f64 1 y)) x) (/.f64 y (/.f64 (/.f64 -1 y) x))))
(if (<=.f64 y -10000000000000000065284077450682265568456642148886267118448844545520511777838181142510337509988867035816342470187175785193750117648543530356184548650438281396224) (/.f64 (*.f64 y x) (/.f64 -1 y)) (if (<=.f64 y 99999999999999999209038626283633850822756121694230455365568299008) (*.f64 x (*.f64 y (-.f64 1 y))) (/.f64 y (/.f64 (/.f64 -1 y) x))))
(if (<=.f64 y -583812484525146505216) (/.f64 (*.f64 x y) (/.f64 -1 y)) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (/.f64 y (/.f64 (/.f64 -1 y) x))))
(if (<=.f64 y -583812484525146505216) (/.f64 (*.f64 y x) (/.f64 -1 y)) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (/.f64 y (/.f64 (/.f64 -1 y) x))))
(if (<=.f64 y -583812484525146505216) (/.f64 (*.f64 x y) (/.f64 -1 y)) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -583812484525146505216) (/.f64 (*.f64 y x) (/.f64 -1 y)) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -583812484525146505216) (*.f64 y (*.f64 x (neg.f64 y))) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -583812484525146505216) (*.f64 x (*.f64 y (neg.f64 y))) (if (<=.f64 y 6781270522698177/18446744073709551616) (*.f64 y x) (*.f64 x (*.f64 y (neg.f64 y)))))
(*.f64 y x)

end60.0ms (1.1%)

Stop Event
fuel
Compiler

Compiled 284 to 144 computations (49.3% saved)

Profiling

Loading profile data...