Details

Time bar (total: 7.0s)

analyze61.0ms (0.9%)

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.1s (16.3%)

Results
1.1s8256×body256valid
29.0ms320×body256invalid

preprocess180.0ms (2.6%)

Algorithm
egg-herbie
Rules
303×fma-neg_binary64
296×fma-def_binary64
157×distribute-rgt-in_binary64
98×distribute-lft-in_binary64
95×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
12320
26620
315020
434520
549720
679520
7129120
8160920
9177920
10185120
11185120
12185120
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 (-.f64 1 y) (*.f64 x y))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (*.f64 y x) (-.f64 1 x))
(*.f64 y (*.f64 x (-.f64 1 x)))
(*.f64 x (*.f64 y (-.f64 1 x)))
(*.f64 x (fma.f64 y (neg.f64 x) y))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify32.0ms (0.5%)

Algorithm
egg-herbie
Rules
601×fma-def_binary64
148×fma-neg_binary64
79×distribute-rgt-in_binary64
52×cancel-sign-sub-inv_binary64
49×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
23810
38510
419410
529210
645110
769410
8132710
9140510
10144110
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 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.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
7.3b
(*.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)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.9b
(*.f64 x (fma.f64 y (neg.f64 y) y))
Compiler

Compiled 18 to 5 computations (72.2% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 x (fma.f64 y (neg.f64 y) y))
1.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))
1.0ms
y
@-inf
(*.f64 x (fma.f64 y (neg.f64 y) y))

rewrite86.0ms (1.2%)

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
215388
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))))))))

simplify70.0ms (1%)

Algorithm
egg-herbie
Rules
396×unsub-neg_binary64
387×distribute-rgt-out--_binary64
358×fma-neg_binary64
357×sub-neg_binary64
317×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013253
130232
264232
3153232
4469232
51733232
64121232
76658232
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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 y (-.f64 1 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 (-.f64 1 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 (-.f64 1 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 (-.f64 1 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 (neg.f64 (*.f64 y x)))
(*.f64 y (*.f64 y (neg.f64 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 (-.f64 1 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 (-.f64 1 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 (-.f64 1 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 (neg.f64 (*.f64 y x)))
(*.f64 y (*.f64 y (neg.f64 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 (-.f64 1 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 (-.f64 1 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 (-.f64 1 y)) x)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 18 to 9 computations (50% saved)

series30.0ms (0.4%)

Counts
1 → 24
Calls

6 calls:

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

rewrite65.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
2183710
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))))))))

simplify91.0ms (1.3%)

Algorithm
egg-herbie
Rules
367×fma-neg_binary64
349×associate-*l*_binary64
306×distribute-rgt-neg-in_binary64
295×distribute-rgt-out--_binary64
295×neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014232
134232
283232
3189232
4590232
51939232
63937232
76091232
87890232
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 y (neg.f64 x)))
(*.f64 x (neg.f64 (*.f64 y y)))
(+.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 y (neg.f64 x)))
(*.f64 x (neg.f64 (*.f64 y y)))
(+.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))

eval9.0ms (0.1%)

Compiler

Compiled 409 to 197 computations (51.8% saved)

prune14.0ms (0.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New36844
Fresh000
Picked011
Done101
Total37946
Error
0.0b
Counts
46 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
22.3b
(*.f64 y x)
27.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
7.3b
(*.f64 (*.f64 y (-.f64 1 y)) x)
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
13.3b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
38.3b
(*.f64 x (neg.f64 (*.f64 y y)))
33.3b
(cbrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))
31.1b
(*.f64 y (*.f64 y (neg.f64 x)))
Compiler

Compiled 177 to 122 computations (31.1% saved)

localize18.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
0.6b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
9.9b
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
Compiler

Compiled 37 to 20 computations (45.9% saved)

series11.0ms (0.2%)

Counts
2 → 0
Calls

12 calls:

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

rewrite68.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
915×pow1_binary64
857×add-log-exp_binary64
856×log1p-expm1-u_binary64
856×expm1-log1p-u_binary64
838×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
121222
2233822
Stop Event
node limit
Counts
2 → 68
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 y (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (pow.f64 (*.f64 y (-.f64 1 y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 y)) (cbrt.f64 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x y)) (cbrt.f64 (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6) (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 1/3) (pow.f64 (sqrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.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 y (*.f64 x (-.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 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 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) (*.f64 (cbrt.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 x) 2) (*.f64 (cbrt.f64 x) (*.f64 y (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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 x y)) (*.f64 (cbrt.f64 (-.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 x y)) 2) (*.f64 (cbrt.f64 (*.f64 x y)) (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6) (*.f64 (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2)))))) (#(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 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 y (-.f64 1 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3) (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6) 3) (pow.f64 (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6) 3))))) (#(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 *.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 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) 1) (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y))) (cbrt.f64 (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6)) (pow.f64 (*.f64 y (*.f64 x (-.f64 1 y))) 1/6))))) (#(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 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 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 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 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)))))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize3.0ms (0%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 16 to 5 computations (68.8% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite39.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
505×pow1_binary64
482×add-sqr-sqrt_binary64
464×add-log-exp_binary64
463×log1p-expm1-u_binary64
463×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069
11247
216077
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 y (*.f64 y (neg.f64 x)))
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 (*.f64 y (sqrt.f64 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))))))))

simplify102.0ms (1.5%)

Algorithm
egg-herbie
Rules
572×fma-neg_binary64
566×distribute-lft-neg-in_binary64
557×distribute-rgt-neg-in_binary64
507×fma-def_binary64
366×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08216
118216
243216
3100216
4267216
5882216
61467216
72632216
83726216
94571216
105180216
115952216
127098216
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 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))

localize38.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
0.2b
(pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)
32.2b
(cbrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))
Compiler

Compiled 38 to 21 computations (44.7% saved)

series11.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
3.0ms
y
@-inf
(cbrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))
2.0ms
x
@-inf
(cbrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))
1.0ms
x
@0
(pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)
1.0ms
x
@-inf
(pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)
1.0ms
y
@-inf
(pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)

rewrite75.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
927×pow1_binary64
869×add-log-exp_binary64
868×log1p-expm1-u_binary64
868×expm1-log1p-u_binary64
848×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
121423
2240723
Stop Event
node limit
Counts
2 → 69
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))
(pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)
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 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 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 y (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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))) (pow.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) 1/3))))) (#(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 (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 (*.f64 x y) (-.f64 1 y))) (sqrt.f64 (*.f64 (*.f64 x y) (-.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 y (-.f64 1 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 (*.f64 x y) (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) 1/3) (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3/2) 1/3))))) (#(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 *.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 (-.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 (exp.f64 x) (*.f64 y (-.f64 1 y))))))) (#(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))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 y (-.f64 1 y)) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) (*.f64 (-.f64 1 y) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 y) (*.f64 (*.f64 x y) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 1 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) (*.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) (*.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (*.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (-.f64 1 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 (*.f64 x y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3/2) (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2) 3) (*.f64 (*.f64 x y) (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3) (pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) x) (*.f64 y (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) (*.f64 x y)) (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) 1) (*.f64 (*.f64 x y) (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) (-.f64 1 y)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) (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 (*.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 2) (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 sqrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 x y) (-.f64 1 y)))))))))

simplify79.0ms (1.1%)

Algorithm
egg-herbie
Rules
703×associate-*l*_binary64
629×fma-def_binary64
597×unswap-sqr_binary64
582×associate-*r*_binary64
415×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061882
1205869
2869805
34974785
Stop Event
node limit
Counts
117 → 97
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 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.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 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) x))) (*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) x))) (*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) x))) (*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5)))))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5)))))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 5) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3))))) (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 5) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3))))) (+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 5) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3))))) (+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))))))
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 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 1 y) x))))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(*.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 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 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 x (cbrt.f64 -1)))
(*.f64 y (*.f64 x (*.f64 y (cbrt.f64 -1))))
(*.f64 (cbrt.f64 -1) (*.f64 x (*.f64 y y)))
(*.f64 y (*.f64 y (*.f64 x (cbrt.f64 -1))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) x))) (*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x)))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) x))) (*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x)))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 (cbrt.f64 -1) x))) (*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x)))
(neg.f64 (*.f64 y (*.f64 (*.f64 (-.f64 1 y) x) (cbrt.f64 -1))))
(neg.f64 (*.f64 (*.f64 x (*.f64 y (cbrt.f64 -1))) (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) (*.f64 (cbrt.f64 -1) (neg.f64 x))))
(*.f64 x (*.f64 (cbrt.f64 -1) (*.f64 y (+.f64 -1 y))))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (*.f64 (pow.f64 (-.f64 1 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 y 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (*.f64 (pow.f64 y 3) (pow.f64 x 3)))
(fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 (pow.f64 x 3) (*.f64 -3 (pow.f64 y 4))))
(*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) (*.f64 (pow.f64 y 4) -3)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5)))))
(fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (pow.f64 y 5) (pow.f64 y 4))))
(fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 (*.f64 (pow.f64 x 3) -3) (-.f64 (pow.f64 y 4) (pow.f64 y 5))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5)))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5)))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (+.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) (neg.f64 (pow.f64 y 6))))))
(fma.f64 (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (pow.f64 y 5) (pow.f64 y 4)) (*.f64 (pow.f64 x 3) (-.f64 (pow.f64 y 3) (pow.f64 y 6))))
(fma.f64 (pow.f64 x 3) (-.f64 (pow.f64 y 3) (pow.f64 y 6)) (*.f64 (*.f64 (pow.f64 x 3) -3) (-.f64 (pow.f64 y 4) (pow.f64 y 5))))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5)))
(fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5)))
(-.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(*.f64 (pow.f64 x 3) (-.f64 (*.f64 3 (pow.f64 y 5)) (pow.f64 y 6)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (-.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (pow.f64 y 6))))
(-.f64 (*.f64 (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (pow.f64 y 5) (pow.f64 y 4))) (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(-.f64 (*.f64 (*.f64 (pow.f64 x 3) -3) (-.f64 (pow.f64 y 4) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 2 (pow.f64 x 3)) (pow.f64 x 3)) (pow.f64 y 5)))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5)))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (+.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) (neg.f64 (pow.f64 y 6))))))
(fma.f64 (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (pow.f64 y 5) (pow.f64 y 4)) (*.f64 (pow.f64 x 3) (-.f64 (pow.f64 y 3) (pow.f64 y 6))))
(fma.f64 (pow.f64 x 3) (-.f64 (pow.f64 y 3) (pow.f64 y 6)) (*.f64 (*.f64 (pow.f64 x 3) -3) (-.f64 (pow.f64 y 4) (pow.f64 y 5))))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 5) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3))))) (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))))
(fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5)))
(-.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(*.f64 (pow.f64 x 3) (-.f64 (*.f64 3 (pow.f64 y 5)) (pow.f64 y 6)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 5) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3))))) (+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (-.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (pow.f64 y 6))))
(-.f64 (*.f64 (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (pow.f64 y 5) (pow.f64 y 4))) (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(-.f64 (*.f64 (*.f64 (pow.f64 x 3) -3) (-.f64 (pow.f64 y 4) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (pow.f64 y 6)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 5) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3))))) (+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 -2 (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3))))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (fma.f64 -1 (*.f64 (pow.f64 x 3) (pow.f64 y 6)) (*.f64 (*.f64 3 (pow.f64 x 3)) (pow.f64 y 5)))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 3) -3) (+.f64 (*.f64 3 (*.f64 (pow.f64 x 3) (pow.f64 y 5))) (*.f64 (pow.f64 x 3) (+.f64 (pow.f64 y 3) (neg.f64 (pow.f64 y 6))))))
(fma.f64 (*.f64 (pow.f64 x 3) -3) (fma.f64 -1 (pow.f64 y 5) (pow.f64 y 4)) (*.f64 (pow.f64 x 3) (-.f64 (pow.f64 y 3) (pow.f64 y 6))))
(fma.f64 (pow.f64 x 3) (-.f64 (pow.f64 y 3) (pow.f64 y 6)) (*.f64 (*.f64 (pow.f64 x 3) -3) (-.f64 (pow.f64 y 4) (pow.f64 y 5))))

localize20.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (pow.f64 y 3))
1.5b
(*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y))
11.4b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
Compiler

Compiled 52 to 27 computations (48.1% saved)

series12.0ms (0.2%)

Counts
3 → 60
Calls

15 calls:

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

rewrite135.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
684×log-prod_binary64
557×prod-diff_binary64
301×fma-def_binary64
235×pow1/3_binary64
228×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify54.0ms (0.8%)

Algorithm
egg-herbie
Rules
566×distribute-rgt-in_binary64
556×fma-def_binary64
540×distribute-lft-in_binary64
413×associate--r-_binary64
381×distribute-rgt-out_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
053810
1198756
2800660
33259660
Stop Event
node limit
Counts
216 → 179
Calls
Call 1
Inputs
(*.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 3) (+.f64 (*.f64 -1 x) x))) (+.f64 (*.f64 (pow.f64 y 4) (+.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 x y) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 -1 (/.f64 x y))))))
(*.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 (*.f64 y x) (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) x)))) (+.f64 (*.f64 2 (/.f64 x y)) (*.f64 -1 (/.f64 x y))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(*.f64 -1 (*.f64 (pow.f64 y 4) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(*.f64 -1 (*.f64 (pow.f64 y 4) x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
1
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(*.f64 -1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(*.f64 -1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
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 (neg.f64 (*.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 (neg.f64 (*.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 (*.f64 (pow.f64 y 4) (+.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 (neg.f64 (*.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)))
(neg.f64 (*.f64 y (*.f64 y x)))
(*.f64 (*.f64 y 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 (*.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 (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 x) x)) (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) (*.f64 -1 (/.f64 x y))))))
(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 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(neg.f64 (*.f64 y (*.f64 y x)))
(*.f64 (*.f64 y 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 (*.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 (neg.f64 (*.f64 y y))))
(*.f64 y (-.f64 x (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) x)) x)))) (+.f64 (*.f64 2 (/.f64 x y)) (*.f64 -1 (/.f64 x y))))
(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 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(/.f64 (*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x)) (+.f64 1 (+.f64 y (pow.f64 y 2))))
(/.f64 (*.f64 y (*.f64 x (-.f64 1 (pow.f64 y 3)))) (+.f64 1 (+.f64 y (*.f64 y y))))
(*.f64 (/.f64 y (+.f64 1 (fma.f64 y y y))) (*.f64 x (-.f64 1 (pow.f64 y 3))))
(/.f64 (*.f64 x (-.f64 y (pow.f64 y 4))) (+.f64 y (fma.f64 y y 1)))
(*.f64 (/.f64 (-.f64 y (pow.f64 y 4)) (+.f64 1 (fma.f64 y y y))) x)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 -1 (*.f64 (pow.f64 y 4) x))
(neg.f64 (*.f64 x (pow.f64 y 4)))
(*.f64 x (neg.f64 (pow.f64 y 4)))
(*.f64 (neg.f64 x) (pow.f64 y 4))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 -1 (*.f64 (pow.f64 y 4) x))
(neg.f64 (*.f64 x (pow.f64 y 4)))
(*.f64 x (neg.f64 (pow.f64 y 4)))
(*.f64 (neg.f64 x) (pow.f64 y 4))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 4) x)))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
(*.f64 y (*.f64 (-.f64 1 (pow.f64 y 3)) x))
(fma.f64 y x (neg.f64 (*.f64 x (pow.f64 y 4))))
(*.f64 x (+.f64 (neg.f64 (pow.f64 y 4)) y))
(*.f64 x (-.f64 y (pow.f64 y 4)))
1
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(*.f64 -1 (pow.f64 y 3))
(neg.f64 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(*.f64 -1 (pow.f64 y 3))
(neg.f64 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))
(+.f64 1 (*.f64 -1 (pow.f64 y 3)))
(-.f64 1 (pow.f64 y 3))

eval255.0ms (3.7%)

Compiler

Compiled 7191 to 4240 computations (41% saved)

prune202.0ms (2.9%)

Pruning

14 alts after pruning (9 fresh and 5 done)

PrunedKeptTotal
New4026408
Fresh033
Picked011
Done145
Total40314417
Error
0.0b
Counts
417 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
36.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y))))
22.3b
(*.f64 y x)
1.2b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
46.1b
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
25.3b
(*.f64 (*.f64 (-.f64 1 y) (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)))
27.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
7.3b
(*.f64 (*.f64 y (-.f64 1 y)) x)
1.2b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y))) (cbrt.f64 (-.f64 1 y)))
13.3b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
9.4b
(*.f64 (*.f64 (*.f64 x y) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
38.3b
(*.f64 x (neg.f64 (*.f64 y y)))
1.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3) (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))
31.1b
(*.f64 y (*.f64 y (neg.f64 x)))
Compiler

Compiled 310 to 213 computations (31.3% saved)

localize43.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y)))
0.5b
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2)
9.9b
(cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))
9.9b
(cbrt.f64 (*.f64 x y))
Compiler

Compiled 85 to 50 computations (41.2% saved)

series15.0ms (0.2%)

Counts
4 → 16
Calls

24 calls:

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

rewrite122.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
478×pow-prod-down_binary64
303×pow2_binary64
283×pow-unpow_binary64
218×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01356
126554
2310354
Stop Event
node limit
Counts
4 → 109
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 x y))
(cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))
(pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 x y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 x y))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x y))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2))) (cbrt.f64 (cbrt.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x y) 1/6) (pow.f64 (*.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x y) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x y) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x y) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x y)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 x y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 x y))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x y)) (cbrt.f64 (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (-.f64 1 y))) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 x (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 1/6) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.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/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 y))) (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 1/6) (sqrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) (cbrt.f64 y)) (cbrt.f64 (*.f64 x (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 5) (cbrt.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 (*.f64 x (*.f64 y (-.f64 1 y)))))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) (pow.f64 (*.f64 x y) 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 x y) (pow.f64 (*.f64 x (*.f64 y (-.f64 1 y))) 2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 (*.f64 x (*.f64 y (-.f64 1 y)))) (pow.f64 (*.f64 x y) 1/6))) 2))))))

simplify61.0ms (0.9%)

Algorithm
egg-herbie
Rules
717×distribute-rgt-out_binary64
647×distribute-lft-out_binary64
646×fma-def_binary64
489×associate-*l*_binary64
448×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032256
191253
2238242
3763237
43236237
56679237
Stop Event
node limit
Counts
125 → 118
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 y 2) x)) (*.f64 y x))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 y x) (*.f64 -1/9 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -4/81 (*.f64 (pow.f64 y 4) x)) (*.f64 -1/9 (*.f64 (pow.f64 y 3) x)))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
Outputs
(*.f64 y x)
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 y 2) x)) (*.f64 y x))
(fma.f64 -2/3 (*.f64 x (*.f64 y y)) (*.f64 y x))
(*.f64 x (+.f64 y (*.f64 -2/3 (*.f64 y y))))
(*.f64 x (fma.f64 -2/3 (*.f64 y y) y))
(*.f64 y (*.f64 (fma.f64 y -2/3 1) x))
(*.f64 y (*.f64 x (fma.f64 y -2/3 1)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 y x) (*.f64 -1/9 (*.f64 (pow.f64 y 3) x))))
(fma.f64 -2/3 (*.f64 x (*.f64 y y)) (fma.f64 y x (*.f64 -1/9 (*.f64 x (pow.f64 y 3)))))
(fma.f64 -2/3 (*.f64 y (*.f64 y x)) (*.f64 x (+.f64 y (*.f64 -1/9 (pow.f64 y 3)))))
(*.f64 x (+.f64 (fma.f64 -2/3 (*.f64 y y) y) (*.f64 -1/9 (pow.f64 y 3))))
(*.f64 x (fma.f64 -2/3 (*.f64 y y) (fma.f64 -1/9 (pow.f64 y 3) y)))
(*.f64 x (fma.f64 -1/9 (pow.f64 y 3) (fma.f64 y (*.f64 y -2/3) y)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -4/81 (*.f64 (pow.f64 y 4) x)) (*.f64 -1/9 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 -2/3 (*.f64 x (*.f64 y y)) (fma.f64 y x (fma.f64 -4/81 (*.f64 x (pow.f64 y 4)) (*.f64 -1/9 (*.f64 x (pow.f64 y 3))))))
(fma.f64 -2/3 (*.f64 y (*.f64 y x)) (fma.f64 y x (*.f64 x (+.f64 (*.f64 -4/81 (pow.f64 y 4)) (*.f64 -1/9 (pow.f64 y 3))))))
(*.f64 x (+.f64 (fma.f64 -1/9 (pow.f64 y 3) (*.f64 -4/81 (pow.f64 y 4))) (fma.f64 -2/3 (*.f64 y y) y)))
(*.f64 x (fma.f64 (fma.f64 y -2/3 1) y (*.f64 (pow.f64 y 3) (+.f64 -1/9 (*.f64 y -4/81)))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (-.f64 1 y) 2)) 1/3) (*.f64 y x))
(*.f64 (*.f64 y x) (cbrt.f64 (pow.f64 (-.f64 1 y) 2)))
(*.f64 y (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))
(*.f64 x (*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 y) 2))))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
12.4b
(*.f64 x (neg.f64 (*.f64 y y)))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
492×pow1_binary64
471×add-sqr-sqrt_binary64
454×add-log-exp_binary64
453×log1p-expm1-u_binary64
453×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069
11267
216257
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 x (neg.f64 (*.f64 y y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (*.f64 y y)))))) (#(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 (*.f64 (pow.f64 y 4) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 y y)) x))))) (#(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))))))))

simplify103.0ms (1.5%)

Algorithm
egg-herbie
Rules
572×fma-neg_binary64
566×distribute-lft-neg-in_binary64
557×distribute-rgt-neg-in_binary64
507×fma-def_binary64
366×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08216
118216
243216
3100216
4267216
5882216
61467216
72632216
83726216
94571216
105180216
115952216
127098216
Stop Event
node limit
Counts
37 → 15
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 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (neg.f64 y) (*.f64 y x))
(*.f64 y (*.f64 y (neg.f64 x)))

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3)
12.4b
(*.f64 x (neg.f64 (*.f64 y y)))
30.0b
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
Compiler

Compiled 35 to 11 computations (68.6% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@0
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
1.0ms
x
@0
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
1.0ms
x
@0
(pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3)
1.0ms
x
@inf
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
1.0ms
x
@-inf
(pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3)

rewrite54.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
668×pow1_binary64
627×add-log-exp_binary64
626×log1p-expm1-u_binary64
626×expm1-log1p-u_binary64
609×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify63.0ms (0.9%)

Algorithm
egg-herbie
Rules
711×unswap-sqr_binary64
645×associate-*l*_binary64
510×distribute-rgt-neg-in_binary64
507×cancel-sign-sub-inv_binary64
501×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017564
146564
2132564
3491564
42666564
55549564
Stop Event
node limit
Counts
112 → 70
Calls
Call 1
Inputs
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) 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 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
Outputs
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.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 x (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 x (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 x (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 x (neg.f64 y)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 (pow.f64 y 2) (*.f64 (cbrt.f64 -1) x))
(*.f64 (*.f64 y y) (*.f64 (cbrt.f64 -1) x))
(*.f64 y (*.f64 (cbrt.f64 -1) (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))
(*.f64 -1 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(neg.f64 (*.f64 (pow.f64 y 6) (pow.f64 x 3)))
(*.f64 (pow.f64 y 6) (neg.f64 (pow.f64 x 3)))
(*.f64 (pow.f64 x 3) (neg.f64 (pow.f64 y 6)))

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (-.f64 1 y))
1.3b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y))))
3.3b
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
Compiler

Compiled 34 to 18 computations (47.1% saved)

series14.0ms (0.2%)

Counts
3 → 48
Calls

15 calls:

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

rewrite64.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
930×pow1_binary64
861×add-log-exp_binary64
861×log1p-expm1-u_binary64
861×expm1-log1p-u_binary64
842×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (0.9%)

Algorithm
egg-herbie
Rules
803×fma-neg_binary64
582×unswap-sqr_binary64
557×fma-def_binary64
415×distribute-rgt-neg-in_binary64
320×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025498
165444
2196444
3577444
41526444
54051444
Stop Event
node limit
Counts
98 → 67
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 x))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 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 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.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)))
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 (sqrt.f64 x))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 (neg.f64 y) (sqrt.f64 x)))
(*.f64 y (*.f64 (sqrt.f64 x) (neg.f64 y)))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 (neg.f64 y) (sqrt.f64 x)))
(*.f64 y (*.f64 (sqrt.f64 x) (neg.f64 y)))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(+.f64 (*.f64 y (sqrt.f64 x)) (*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x))))
(fma.f64 y (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 y y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (-.f64 y (*.f64 y y)))
(*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y)))
(*.f64 (sqrt.f64 x) (fma.f64 y (neg.f64 y) y))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 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 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 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 x (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 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 x (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) (*.f64 y x))
(*.f64 y (-.f64 x (*.f64 y x)))
y
(+.f64 (*.f64 -1 (pow.f64 y 2)) y)
(fma.f64 -1 (*.f64 y y) y)
(-.f64 y (*.f64 y y))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 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))
(*.f64 y (-.f64 1 y))
(fma.f64 y (neg.f64 y) y)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 1 y) (sqrt.f64 (*.f64 x y)))
0.2b
(*.f64 (*.f64 (-.f64 1 y) (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)))
9.4b
(sqrt.f64 (*.f64 x y))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series11.0ms (0.2%)

Counts
3 → 24
Calls

18 calls:

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

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
912×pow1_binary64
844×add-log-exp_binary64
844×log1p-expm1-u_binary64
844×expm1-log1p-u_binary64
826×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify78.0ms (1.1%)

Algorithm
egg-herbie
Rules
843×fma-def_binary64
726×unswap-sqr_binary64
456×distribute-rgt-neg-in_binary64
369×distribute-lft-neg-in_binary64
350×difference-of-squares_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022295
162274
2234232
3680232
41833232
54433232
67886232
Stop Event
node limit
Counts
81 → 66
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 (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 (*.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 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y x))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.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 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.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 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 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 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 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 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.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 y (neg.f64 x)))
(*.f64 (*.f64 y 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 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 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 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 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 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 x (*.f64 y y)))
(*.f64 x (*.f64 (neg.f64 y) y))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 (*.f64 y x) (neg.f64 y))
(+.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 (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(+.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 (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(+.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 (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 y (*.f64 (-.f64 1 y) x))))
(fma.f64 y x (neg.f64 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 (*.f64 (neg.f64 y) y) y))
(*.f64 x (*.f64 y (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 x (-.f64 y (*.f64 y y)))
(*.f64 y (*.f64 x (-.f64 1 y)))

eval97.0ms (1.4%)

Compiler

Compiled 5992 to 3278 computations (45.3% saved)

prune57.0ms (0.8%)

Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New3721373
Fresh044
Picked011
Done189
Total37314387
Error
0.0b
Counts
387 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
22.3b
(*.f64 y x)
51.5b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y))))
46.1b
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
25.3b
(*.f64 (*.f64 (-.f64 1 y) (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)))
27.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
7.3b
(*.f64 (*.f64 y (-.f64 1 y)) x)
1.2b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y))) (cbrt.f64 (-.f64 1 y)))
13.3b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
9.4b
(*.f64 (*.f64 (*.f64 x y) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
38.3b
(*.f64 x (neg.f64 (*.f64 y y)))
1.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3) (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))
31.1b
(*.f64 y (*.f64 y (neg.f64 x)))
Compiler

Compiled 252 to 174 computations (31% saved)

localize37.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2)
0.6b
(cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))
0.7b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3)
9.9b
(cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))
Compiler

Compiled 85 to 59 computations (30.6% saved)

series73.0ms (1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
33.0ms
x
@0
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3)
8.0ms
y
@-inf
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3)
8.0ms
x
@inf
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3)
5.0ms
x
@inf
(cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))
5.0ms
y
@inf
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3)

rewrite70.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
542×log-prod_binary64
384×pow-prod-down_binary64
291×pow2_binary64
247×pow-unpow_binary64
203×pow-to-exp_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01348
127446
2304945
Stop Event
node limit
Counts
3 → 117
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3)
(cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 5))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4) (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8) (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8)) (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)) (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 x (-.f64 1 y))) (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/6) (sqrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8) 1) (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)) 4) 2) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 5) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) (cbrt.f64 y)) (cbrt.f64 (*.f64 x (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 4 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 3/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1/3) 6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 (cbrt.f64 (*.f64 x (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8))) (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 3) 1/27)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/6) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2/9)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1/3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 1) 1/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8)) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/6) (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4) 5/6) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 8))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 1 y) (*.f64 y x)) 1/18) 4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x))) 1/3) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 y) (*.f64 y x))))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 1/9 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 6) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (-.f64 1 y) (*.f64 y x)))) 1) 1/3))))))

simplify118.0ms (1.7%)

Algorithm
egg-herbie
Rules
936×times-frac_binary64
688×distribute-rgt-in_binary64
394×fma-def_binary64
328×associate-*r*_binary64
289×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03195597
110785054
243004203
Stop Event
node limit
Counts
189 → 204
Calls
Call 1
Inputs
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6) (*.f64 (+.f64 (*.f64 -2/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 -4/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6))) y))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))))))) (pow.f64 y 2)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6) (*.f64 (+.f64 (*.f64 -2/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 -4/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6))) y)))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))))))) (pow.f64 y 2)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))))))) (+.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4) (+.f64 (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -2/9 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))))))))))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6) (*.f64 (+.f64 (*.f64 -2/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 -4/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6))) y))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6)
(+.f64 (*.f64 -4/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6)))
(+.f64 (*.f64 -4/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (*.f64 8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (pow.f64 y 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4)) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 2)))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (+.f64 (*.f64 -4/9 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 3))) (+.f64 (*.f64 -2/9 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4)) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 3))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 3)) (+.f64 (*.f64 -4/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (*.f64 8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (pow.f64 y 2))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 3)) (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4)) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 2)))))))))))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))) (*.f64 4/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))))) y)))
(+.f64 (*.f64 8/81 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)) (pow.f64 y 2)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))) (*.f64 4/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))))) y)) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 4/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (pow.f64 y 2)) (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4)) (pow.f64 y 2)))))))
(+.f64 (*.f64 8/81 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)) (pow.f64 y 2)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))) (*.f64 4/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))))) y)) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 4/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (pow.f64 y 2)) (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (*.f64 (+.f64 (*.f64 136/2187 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/729 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (+.f64 (*.f64 2/9 (*.f64 (*.f64 (+.f64 (*.f64 4/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 4/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 136/2187 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/729 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 4/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))))))) (pow.f64 y 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4)) (pow.f64 y 2))))))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (*.f64 -1/9 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) y)))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (+.f64 (*.f64 -4/81 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 y 2))) (*.f64 -1/9 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) y))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (+.f64 (*.f64 -4/81 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 y 2))) (+.f64 (*.f64 -1/9 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) y)) (*.f64 -68/2187 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 y 3))))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y))))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (*.f64 -1/9 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) y)))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (+.f64 (*.f64 -1/9 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) y)) (*.f64 -4/81 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (pow.f64 y 2)))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (+.f64 (*.f64 -68/2187 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (pow.f64 y 3))) (+.f64 (*.f64 -1/9 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) y)) (*.f64 -4/81 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (pow.f64 y 2))))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x))))) (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) y))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) y))) (*.f64 -4/81 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) (pow.f64 y 2))))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x))))) (+.f64 (*.f64 -68/2187 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) (pow.f64 y 3)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) y))) (*.f64 -4/81 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) (pow.f64 y 2)))))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) y)) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))
(+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) y)) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) y)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) y)))
(+.f64 (*.f64 1/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) y)))))
(+.f64 (*.f64 -136/2187 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 3))) (+.f64 (*.f64 1/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (+.f64 (*.f64 8/729 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 3))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) y)))))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) y))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) y))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (+.f64 (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))) (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))))))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) y))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (+.f64 (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))) (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))) (*.f64 -1 (/.f64 (+.f64 (*.f64 136/2187 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/729 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 y 3)))))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
Outputs
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6) (*.f64 (+.f64 (*.f64 -2/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 -4/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6))) y))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) (*.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3)))
(fma.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))))))) (pow.f64 y 2)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6) (*.f64 (+.f64 (*.f64 -2/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 -4/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6))) y)))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 8/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81))))))) (*.f64 y y) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) (*.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3))))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 8/81 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) 4/81 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -7/81)))))) (*.f64 y y) (fma.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6)))
(fma.f64 (+.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 8/81 (+.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 4/81) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -14/81))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -7/81)) (*.f64 y y) (fma.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6)))
(+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))))))) (pow.f64 y 2)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4)) (+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))))))) (+.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 4) (+.f64 (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -2/9 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) (+.f64 (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))))))))))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6) (*.f64 (+.f64 (*.f64 -2/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6)) (*.f64 -4/9 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 6))) y))))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 8/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81))))))) (*.f64 y y) (fma.f64 (pow.f64 y 3) (fma.f64 -4/9 (*.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4)) (fma.f64 -2/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81))))) (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -112/2187) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (fma.f64 -2/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81)) (fma.f64 -2/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81)) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -112/2187)))))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) (*.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3)))))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) -7/81) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 8/81 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) 4/81 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -7/81)))))) (*.f64 y y) (fma.f64 (pow.f64 y 3) (fma.f64 -4/9 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -7/81)) (fma.f64 -2/9 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) 4/81 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -7/81)))) (fma.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -112/2187)) (*.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -7/81) -4/9)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) -112/2187))))) (fma.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6))))
(fma.f64 (+.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 8/81 (+.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 4/81) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -14/81))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -7/81)) (*.f64 y y) (fma.f64 (pow.f64 y 3) (fma.f64 -4/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -7/81) (fma.f64 -2/9 (+.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) 4/81) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -14/81)) (fma.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9)) (+.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -112/2187)) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 4) -14/81))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -112/2187)))) (fma.f64 y (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6) -2/3) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 6))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6)
(+.f64 (*.f64 -4/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6)))
(fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) y) (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) y) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) y) -2/3))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) -2/3))
(+.f64 (*.f64 -4/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (*.f64 8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (pow.f64 y 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4)) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 2)))))))
(fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) y) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (/.f64 (*.f64 y y) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81))) (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) y) (fma.f64 8/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) (*.f64 y y)) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (/.f64 (*.f64 y y) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81))))))))))
(+.f64 (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) y) (+.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (*.f64 y y)) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -7/81)))) (fma.f64 8/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) (*.f64 y y)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6)))) (fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) y) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -7/81)) (*.f64 y y))))
(+.f64 (+.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -7/81)) (*.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6))) (*.f64 y y))) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) (+.f64 -2/9 (/.f64 8/81 y)))) (fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) (/.f64 -7/81 y))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (+.f64 (*.f64 -4/9 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 3))) (+.f64 (*.f64 -2/9 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4)) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 3))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 3)) (+.f64 (*.f64 -4/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) y)) (+.f64 (*.f64 8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 6) (pow.f64 y 2))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4) (+.f64 (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)))) (pow.f64 y 3)) (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 4/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 4)) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)) (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2))))))) (pow.f64 y 2)))))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) (fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (/.f64 (pow.f64 y 3) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81))) (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (/.f64 (pow.f64 y 3) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81))))) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (/.f64 (pow.f64 y 3) (fma.f64 -4/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81)) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -112/2187))))) (fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) y) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (/.f64 (*.f64 y y) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81))) (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) y) (fma.f64 8/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 6) (*.f64 y y)) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (/.f64 (*.f64 y y) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -7/81))))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 4) (/.f64 (pow.f64 y 3) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) -112/2187))))))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) (fma.f64 -4/9 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) (pow.f64 y 3)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) -7/81)) (+.f64 (+.f64 (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) y) (+.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (*.f64 y y)) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -7/81)))) (fma.f64 8/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) (*.f64 y y)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) (pow.f64 y 3)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) -112/2187))))) (fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 6) y) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -7/81)) (*.f64 y y)))) (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (/.f64 (pow.f64 y 3) (fma.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -7/81))))) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (pow.f64 y 3)) (fma.f64 -4/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -7/81) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 4) -112/2187))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) (fma.f64 -4/9 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -7/81) (pow.f64 y 3)) (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) (+.f64 -2/9 (/.f64 8/81 y))) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -112/2187) (pow.f64 y 3))) (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -7/81)) (*.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6))) (*.f64 y y))) (fma.f64 -4/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) y) (/.f64 -7/81 y)))) (fma.f64 -2/9 (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -7/81)) (*.f64 4/81 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6))) (pow.f64 y 3)) (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -112/2187)) (*.f64 -4/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) 6) -7/81))) (pow.f64 y 3))))))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))) (*.f64 4/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))))) y)))
(+.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) (neg.f64 (/.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) 2/3) y)))
(-.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (*.f64 (pow.f64 (cbrt.f64 -1) 2) 2/3)) y))
(fma.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (/.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) -2/3) y))
(+.f64 (*.f64 8/81 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)) (pow.f64 y 2)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))) (*.f64 4/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))))) y)) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 4/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (pow.f64 y 2)) (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4)) (pow.f64 y 2)))))))
(fma.f64 8/81 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (/.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6))) (+.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) (fma.f64 -1 (/.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) 2/3) y) (fma.f64 (/.f64 (fma.f64 4/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)) (*.f64 (*.f64 2 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81)))) (/.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81) (/.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4))))))))
(fma.f64 8/81 (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) y) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) y)) (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (-.f64 (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (*.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 y y)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y) (/.f64 (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)))) (*.f64 4/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)))) y)))) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (*.f64 (pow.f64 (cbrt.f64 -1) 2) 2/3)) y))))
(fma.f64 8/81 (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 y y)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) (+.f64 (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (/.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) -2/3) y)) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (+.f64 (*.f64 (*.f64 4/81 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1)))) (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)))))) (/.f64 y (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y))) (*.f64 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))) (*.f64 (*.f64 (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81) y)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4))))))
(+.f64 (*.f64 8/81 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)) (pow.f64 y 2)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6)))) (*.f64 4/9 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 6))))) y)) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 4/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (pow.f64 y 2)) (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (*.f64 (+.f64 (*.f64 136/2187 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/729 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (+.f64 (*.f64 2/9 (*.f64 (*.f64 (+.f64 (*.f64 4/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 4/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (+.f64 (*.f64 136/2187 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/729 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 4/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4))))))) (pow.f64 y 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 4)) (pow.f64 y 2))))))))
(fma.f64 8/81 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (/.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6))) (+.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) (fma.f64 -1 (/.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) 2/3) y) (fma.f64 (/.f64 (fma.f64 4/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)) (*.f64 (*.f64 2 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81)))) (/.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (fma.f64 -1 (/.f64 (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) 112/2187)) (fma.f64 2/9 (*.f64 (fma.f64 4/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)) (*.f64 (*.f64 2 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81)))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2))) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (fma.f64 4/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81))) (*.f64 (*.f64 2 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) 112/2187))))) (*.f64 (*.f64 4/9 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81)))))) (pow.f64 y 3)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) -7/81) (/.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)))))))))
(fma.f64 8/81 (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) y) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) y)) (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (-.f64 (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y) (/.f64 (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)))) (*.f64 4/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)))) y)) (-.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (*.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 y y)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4))) (/.f64 (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) 112/2187))) (+.f64 (*.f64 4/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81))))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)))) (*.f64 4/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)))))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) (*.f64 112/2187 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)))) (*.f64 4/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81))))))))))) (pow.f64 y 3)))) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (*.f64 (pow.f64 (cbrt.f64 -1) 2) 2/3)) y))))
(fma.f64 8/81 (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 y y)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) (+.f64 (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6) (/.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 6)) -2/3) y)) (-.f64 (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (+.f64 (*.f64 (*.f64 4/81 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1)))) (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)))))) (/.f64 y (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y))) (*.f64 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))) (*.f64 (*.f64 (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81) y)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4)))) (/.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9))) (+.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (+.f64 (*.f64 (*.f64 4/9 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) 112/2187)))))) (*.f64 2/9 (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (+.f64 (*.f64 (*.f64 4/81 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1)))) (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9))) (*.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81))))))))) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 4) (+.f64 (*.f64 (*.f64 4/9 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1)))) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81))) (*.f64 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))) (*.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) 112/2187)))))) (pow.f64 y 3)))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 6)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 6)
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 6))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 6))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 6))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 6))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 6))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 6))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 6)))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 6))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 6))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x)))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (*.f64 -1/9 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) y)))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 -1/9 (*.f64 y (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))))))
(fma.f64 -1/9 (*.f64 y (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))))
(*.f64 (+.f64 (*.f64 -1/9 y) 1) (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (+.f64 (*.f64 -4/81 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 y 2))) (*.f64 -1/9 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) y))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (fma.f64 -4/81 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 y y)) (*.f64 -1/9 (*.f64 y (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x)))))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (fma.f64 -4/81 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 y y)) (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 y -1/9))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (+.f64 (*.f64 -1/9 y) (*.f64 -4/81 (*.f64 y y)))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (+.f64 (*.f64 -4/81 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 y 2))) (+.f64 (*.f64 -1/9 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) y)) (*.f64 -68/2187 (*.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) (pow.f64 y 3))))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (fma.f64 -4/81 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 y y)) (fma.f64 -1/9 (*.f64 y (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x)))) (*.f64 -68/2187 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (pow.f64 y 3))))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (fma.f64 -4/81 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 y y)) (fma.f64 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) -68/2187) (pow.f64 y 3) (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (*.f64 y -1/9)))))
(+.f64 (*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) (+.f64 (*.f64 -1/9 y) (*.f64 -4/81 (*.f64 y y)))) (*.f64 (+.f64 (*.f64 -68/2187 (pow.f64 y 3)) 1) (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y))))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y)))))
(pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (*.f64 -1/9 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) y)))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) (*.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) y)))
(fma.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) y) (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))))
(fma.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) y) (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (+.f64 (*.f64 -1/9 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) y)) (*.f64 -4/81 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (pow.f64 y 2)))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) (fma.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) y) (*.f64 -4/81 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) (*.f64 y y)))))
(+.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) (fma.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) y) (*.f64 -4/81 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) (*.f64 y y)))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) y) (+.f64 -1/9 (/.f64 -4/81 y))))
(+.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (+.f64 (*.f64 -68/2187 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (pow.f64 y 3))) (+.f64 (*.f64 -1/9 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) y)) (*.f64 -4/81 (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) (pow.f64 y 2))))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) (fma.f64 -68/2187 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) (pow.f64 y 3)) (fma.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) y) (*.f64 -4/81 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) (*.f64 y y))))))
(+.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) (fma.f64 -68/2187 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) (pow.f64 y 3)) (fma.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) y) (*.f64 -4/81 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) (*.f64 y y))))))
(+.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) (fma.f64 -68/2187 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) (pow.f64 y 3)) (*.f64 (/.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2))) y) (+.f64 -1/9 (/.f64 -4/81 y)))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))))
(*.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1)))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x))))) (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) y))))
(fma.f64 (cbrt.f64 (cbrt.f64 -1)) (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 -1/9 (/.f64 (*.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1))) y)))
(fma.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1)) (*.f64 -1/9 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) y))))
(*.f64 (cbrt.f64 (cbrt.f64 -1)) (+.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) y))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) y))) (*.f64 -4/81 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) (pow.f64 y 2))))))
(fma.f64 (cbrt.f64 (cbrt.f64 -1)) (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (fma.f64 -1/9 (/.f64 (*.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1))) y) (*.f64 (*.f64 -4/81 (cbrt.f64 (cbrt.f64 -1))) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 y y)))))
(fma.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1)) (fma.f64 -1/9 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) y)) (*.f64 -4/81 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 y y))))))
(fma.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1)) (*.f64 (cbrt.f64 (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) y)) (*.f64 -4/81 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 y y))))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x))))) (+.f64 (*.f64 -68/2187 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) (pow.f64 y 3)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) y))) (*.f64 -4/81 (*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (/.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) (pow.f64 y 2)))))))
(fma.f64 (cbrt.f64 (cbrt.f64 -1)) (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (fma.f64 -68/2187 (/.f64 (*.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1))) (pow.f64 y 3)) (fma.f64 -1/9 (/.f64 (*.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1))) y) (*.f64 (*.f64 -4/81 (cbrt.f64 (cbrt.f64 -1))) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 y y))))))
(fma.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (cbrt.f64 (cbrt.f64 -1)) (fma.f64 -68/2187 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (pow.f64 y 3))) (fma.f64 -1/9 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) y)) (*.f64 -4/81 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 y y)))))))
(+.f64 (*.f64 (cbrt.f64 (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) y)) (*.f64 -4/81 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 y y))))) (*.f64 (cbrt.f64 (cbrt.f64 -1)) (+.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (*.f64 -68/2187 (/.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) (pow.f64 y 3))))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x))))))
(pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3) (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))))
(*.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) (cbrt.f64 (cbrt.f64 -1)))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2)
(pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x))))
(exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) y)) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))
(fma.f64 -2/9 (*.f64 y (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2))
(fma.f64 (*.f64 -2/9 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x))))) y (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))))
(*.f64 (+.f64 (*.f64 -2/9 y) 1) (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9)))
(+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) y)) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))
(fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (*.f64 y y) (fma.f64 -2/9 (*.f64 y (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2)))
(fma.f64 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) -7/81) (*.f64 y y) (fma.f64 (*.f64 -2/9 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x))))) y (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x))))))
(+.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9)) (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9)) (+.f64 (*.f64 y -2/9) (*.f64 -7/81 (*.f64 y y)))))
(+.f64 (*.f64 (+.f64 (*.f64 -8/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 1/81 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))) (pow.f64 y 2)) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2) y)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 8/729 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)) (*.f64 -136/2187 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2)))) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 y) (log.f64 x)))) 2))))
(fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -7/81) (*.f64 y y) (fma.f64 -2/9 (*.f64 y (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2)) (fma.f64 (pow.f64 y 3) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2) -112/2187) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 y) (log.f64 x))) 2))))
(fma.f64 (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) -7/81) (*.f64 y y) (fma.f64 -2/9 (*.f64 y (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x))))) (fma.f64 (pow.f64 y 3) (*.f64 (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))) -112/2187) (pow.f64 (exp.f64 1/9) (*.f64 2 (+.f64 (log.f64 y) (log.f64 x)))))))
(+.f64 (fma.f64 (pow.f64 y 3) (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9)) -112/2187) (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9))) (*.f64 (exp.f64 (*.f64 (+.f64 (log.f64 y) (log.f64 x)) 2/9)) (+.f64 (*.f64 y -2/9) (*.f64 -7/81 (*.f64 y y)))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) y)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (*.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) y)))
(fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) y) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2))
(fma.f64 -2/9 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)) y) (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)))
(+.f64 (*.f64 1/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) y)))))
(fma.f64 1/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (*.f64 y y)) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (fma.f64 -8/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (*.f64 y y)) (*.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) y)))))
(+.f64 (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) y) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (/.f64 (*.f64 y y) -8/81))) (fma.f64 1/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (*.f64 y y)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2)))
(+.f64 (*.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)) y) (+.f64 -2/9 (/.f64 -8/81 y))) (fma.f64 1/81 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)) (*.f64 y y)) (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9))))
(+.f64 (*.f64 -136/2187 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 3))) (+.f64 (*.f64 1/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (+.f64 (*.f64 8/729 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 3))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (+.f64 (*.f64 -8/81 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) (pow.f64 y 2))) (*.f64 -2/9 (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 -1 x)) (*.f64 -2 (log.f64 (/.f64 1 y)))))) 2) y)))))))
(fma.f64 -136/2187 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (pow.f64 y 3)) (fma.f64 1/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (*.f64 y y)) (fma.f64 8/729 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (pow.f64 y 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (fma.f64 -8/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) (*.f64 y y)) (*.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (neg.f64 x)) (*.f64 -2 (neg.f64 (log.f64 y))))) 2) y)))))))
(fma.f64 -136/2187 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (pow.f64 y 3)) (fma.f64 1/81 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (*.f64 y y)) (+.f64 (fma.f64 -2/9 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) y) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (/.f64 (*.f64 y y) -8/81))) (fma.f64 8/729 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2) (pow.f64 y 3)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (neg.f64 (log.f64 y)) (log.f64 (neg.f64 x)))) 2)))))
(+.f64 (+.f64 (*.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)) y) (+.f64 -2/9 (/.f64 -8/81 y))) (fma.f64 8/729 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)) (pow.f64 y 3)) (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)))) (*.f64 (/.f64 (exp.f64 (*.f64 (+.f64 (log.f64 (neg.f64 x)) (*.f64 (log.f64 y) 2)) 2/9)) (*.f64 y y)) (+.f64 1/81 (/.f64 -136/2187 y))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) y))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))
(fma.f64 -2/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (+.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 -2/9 (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y))))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) y))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (+.f64 (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))) (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))))))
(fma.f64 -2/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y)) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 y y))) -7/81)))
(fma.f64 (*.f64 -2/9 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y) (fma.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (/.f64 (*.f64 y y) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))) -7/81 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2))))
(fma.f64 -2/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (+.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 y y)) -7/81))))
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) y))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)) (+.f64 (*.f64 -8/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))) (+.f64 (*.f64 1/81 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (/.f64 (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2) (pow.f64 y 2)))) (*.f64 -1 (/.f64 (+.f64 (*.f64 136/2187 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2))) (*.f64 -8/729 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 y))) (log.f64 x)))) 2)))) (pow.f64 y 3)))))))
(fma.f64 -2/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y)) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 y y))) -7/81) (neg.f64 (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) 112/2187) (pow.f64 y 3))))))
(fma.f64 -2/9 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) y)) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (-.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2) (*.f64 y y)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) -7/81)) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x))) 2)) (/.f64 (pow.f64 y 3) 112/2187)))))
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (+.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) (*.f64 -2/9 (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y)))) (*.f64 (*.f64 (/.f64 (exp.f64 (*.f64 (fma.f64 -2 (log.f64 (/.f64 -1 y)) (log.f64 x)) 2/9)) y) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) y)) (-.f64 -7/81 (/.f64 112/2187 y))))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 x)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 1 x)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y))))) 2)
(exp.f64 (*.f64 (+.f64 (log.f64 x) (log.f64 (*.f64 y (-.f64 1 y)))) 2/9))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x))) 2/9)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x))) 2/9)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x))) 2/9)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (pow.f64 (exp.f64 (*.f64 1/9 (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (+.f64 (log.f64 (*.f64 y (-.f64 1 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (pow.f64 (exp.f64 1/9) (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x)))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)) (exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 y (-.f64 1 y))) (log.f64 (/.f64 -1 x))) 2/9)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 12 computations (40% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite48.0ms (0.7%)

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
0710
114410
2183110
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (*.f64 y (-.f64 1 y)) x)
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))))))))

simplify89.0ms (1.3%)

Algorithm
egg-herbie
Rules
367×fma-neg_binary64
354×associate-*l*_binary64
306×distribute-rgt-neg-in_binary64
298×distribute-rgt-out--_binary64
295×neg-sub0_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014295
134274
283232
3189232
4591232
51954232
63959232
76114232
87932232
Stop Event
node limit
Counts
37 → 19
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))
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 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 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 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 x (neg.f64 y)))
(*.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 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 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 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 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 x (neg.f64 y)))
(*.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 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 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 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 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))
(*.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 y x) (-.f64 1 y))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
2.7b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y))))
4.4b
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
Compiler

Compiled 29 to 7 computations (75.9% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

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

rewrite84.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
651×pow1_binary64
600×add-log-exp_binary64
599×log1p-expm1-u_binary64
599×expm1-log1p-u_binary64
585×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify122.0ms (1.8%)

Algorithm
egg-herbie
Rules
670×fma-neg_binary64
627×fma-def_binary64
462×*-commutative_binary64
440×distribute-lft-neg-in_binary64
430×unswap-sqr_binary64
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
014348
134348
284348
3240348
4904348
51532348
62530348
73004348
83931348
94527348
105060276
115987276
127750276
Stop Event
node limit
Counts
65 → 34
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 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 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.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) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 y y) (sqrt.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 (sqrt.f64 x)))
(*.f64 y (neg.f64 (*.f64 y (sqrt.f64 x))))
(*.f64 y (*.f64 y (neg.f64 (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y)))
(*.f64 (*.f64 y y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (pow.f64 y 2) x))
(neg.f64 (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.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 x (*.f64 y (neg.f64 y)))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 y (*.f64 y x))

localize34.0ms (0.5%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 20 computations (45.9% saved)

series12.0ms (0.2%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
1.0ms
x
@0
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
1.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)
1.0ms
x
@inf
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)

rewrite61.0ms (0.9%)

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
2228622
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 (pow.f64 (cbrt.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) (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 *.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 (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))))))))

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
698×fma-def_binary64
692×fma-neg_binary64
436×associate-/l/_binary64
344×cancel-sign-sub-inv_binary64
286×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
088424
1277337
21086277
34537269
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 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 1/2 (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) y)))
(*.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 (*.f64 1 (sqrt.f64 x)) (*.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 (*.f64 1 (sqrt.f64 x)) (*.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 (sqrt.f64 -1) y) (/.f64 (/.f64 1/16 y) (*.f64 y (pow.f64 (sqrt.f64 -1) 5)))) (+.f64 (/.f64 1/8 (*.f64 (sqrt.f64 -1) y)) (/.f64 1/2 (sqrt.f64 -1)))))
(+.f64 (*.f64 (sqrt.f64 x) (fma.f64 (sqrt.f64 -1) y (/.f64 1/2 (sqrt.f64 -1)))) (*.f64 (/.f64 (sqrt.f64 x) y) (+.f64 (/.f64 1/8 (sqrt.f64 -1)) (/.f64 1/16 (*.f64 y (pow.f64 (sqrt.f64 -1) 5))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 y (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 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x))))
(*.f64 (sqrt.f64 x) (+.f64 (neg.f64 (*.f64 (sqrt.f64 -1) y)) (*.f64 (sqrt.f64 -1) 1/2)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 x)) (-.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 (*.f64 (sqrt.f64 -1) 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 (sqrt.f64 -1) (+.f64 1/2 (neg.f64 y))) (*.f64 1/8 (/.f64 (sqrt.f64 -1) y))))
(*.f64 (sqrt.f64 x) (+.f64 (*.f64 (sqrt.f64 -1) (-.f64 1/2 y)) (*.f64 1/8 (/.f64 (sqrt.f64 -1) 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 (*.f64 (sqrt.f64 -1) y) (sqrt.f64 x)) (*.f64 (*.f64 1/16 (/.f64 (sqrt.f64 -1) (*.f64 y y))) (sqrt.f64 x)))))
(+.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 1/16 (/.f64 (sqrt.f64 -1) (*.f64 y y)) (*.f64 (sqrt.f64 -1) (neg.f64 y))) (fma.f64 (sqrt.f64 -1) 1/2 (*.f64 1/8 (/.f64 (sqrt.f64 -1) y)))))
(+.f64 (*.f64 (sqrt.f64 x) (*.f64 (/.f64 (sqrt.f64 -1) y) (+.f64 1/8 (/.f64 1/16 y)))) (*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 x)) (-.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 (*.f64 -1 (*.f64 y 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 (*.f64 -1 (*.f64 y 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 (*.f64 -1 (*.f64 y 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 (*.f64 -1 (*.f64 y 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 (*.f64 -1 (*.f64 y 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 (*.f64 -1 (*.f64 y y)) y))
(*.f64 x (fma.f64 (neg.f64 y) y y))
(*.f64 x (-.f64 y (*.f64 y y)))

localize39.0ms (0.6%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 21 computations (41.7% saved)

series8.0ms (0.1%)

Counts
3 → 44
Calls

15 calls:

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

rewrite112.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
926×pow1_binary64
857×add-log-exp_binary64
857×log1p-expm1-u_binary64
857×expm1-log1p-u_binary64
838×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify79.0ms (1.1%)

Algorithm
egg-herbie
Rules
901×fma-def_binary64
714×distribute-rgt-out_binary64
702×fma-neg_binary64
589×associate-*l*_binary64
431×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042493
1117488
2321475
3966459
43793459
55889459
67204459
Stop Event
node limit
Counts
97 → 74
Calls
Call 1
Inputs
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/8 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/8 (*.f64 (pow.f64 y 3) 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 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 (*.f64 -1/2 y) 1)
(+.f64 (*.f64 -1/2 y) (+.f64 1 (*.f64 -1/8 (pow.f64 y 2))))
(+.f64 (*.f64 -1/2 y) (+.f64 1 (+.f64 (*.f64 -1/16 (pow.f64 y 3)) (*.f64 -1/8 (pow.f64 y 2)))))
Outputs
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 (*.f64 y x) (sqrt.f64 (-.f64 1 y)))
(*.f64 y (*.f64 x (sqrt.f64 (-.f64 1 y))))
(*.f64 x (*.f64 y (sqrt.f64 (-.f64 1 y))))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 y x (*.f64 -1/2 (*.f64 x (*.f64 y y))))
(*.f64 x (+.f64 y (*.f64 -1/2 (*.f64 y y))))
(*.f64 x (fma.f64 (*.f64 y -1/2) y y))
(*.f64 x (*.f64 y (fma.f64 y -1/2 1)))
(*.f64 x (fma.f64 y (*.f64 y -1/2) y))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/8 (*.f64 (pow.f64 y 3) x))))
(fma.f64 y x (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (*.f64 -1/8 (*.f64 x (pow.f64 y 3)))))
(fma.f64 y x (*.f64 x (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 -1/8 (pow.f64 y 3)))))
(*.f64 x (+.f64 y (*.f64 y (*.f64 y (+.f64 (*.f64 y -1/8) -1/2)))))
(*.f64 x (*.f64 y (fma.f64 y (fma.f64 y -1/8 -1/2) 1)))
(*.f64 (*.f64 y x) (fma.f64 y (fma.f64 y -1/8 -1/2) 1))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/8 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 y x (fma.f64 -1/16 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (*.f64 -1/8 (*.f64 x (pow.f64 y 3))))))
(fma.f64 y x (fma.f64 -1/16 (*.f64 x (pow.f64 y 4)) (*.f64 x (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 -1/8 (pow.f64 y 3))))))
(*.f64 x (+.f64 (*.f64 y (*.f64 y (+.f64 (*.f64 y -1/8) -1/2))) (+.f64 y (*.f64 -1/16 (pow.f64 y 4)))))
(*.f64 x (fma.f64 y (*.f64 y (fma.f64 y -1/8 -1/2)) (fma.f64 -1/16 (pow.f64 y 4) y)))
(*.f64 x (*.f64 y (fma.f64 (pow.f64 y 3) -1/16 (fma.f64 y (fma.f64 y -1/8 -1/2) 1))))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(*.f64 y (*.f64 (-.f64 1 y) x))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.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 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.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)))
(*.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 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 (*.f64 y x) (neg.f64 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.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)))
(*.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)))
(*.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 (*.f64 y y) (neg.f64 x))
(*.f64 y (*.f64 x (neg.f64 y)))
(*.f64 (*.f64 y x) (neg.f64 y))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (pow.f64 y 2) x)))
(*.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)))
(*.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)))
(*.f64 y (*.f64 x (-.f64 1 y)))
(*.f64 y (-.f64 x (*.f64 y x)))
1
(+.f64 (*.f64 -1/2 y) 1)
(fma.f64 -1/2 y 1)
(fma.f64 y -1/2 1)
(+.f64 (*.f64 -1/2 y) (+.f64 1 (*.f64 -1/8 (pow.f64 y 2))))
(fma.f64 -1/2 y (+.f64 1 (*.f64 (*.f64 y y) -1/8)))
(fma.f64 y -1/2 (fma.f64 (*.f64 y y) -1/8 1))
(fma.f64 y -1/2 (fma.f64 y (*.f64 y -1/8) 1))
(fma.f64 y (fma.f64 y -1/8 -1/2) 1)
(+.f64 (*.f64 -1/2 y) (+.f64 1 (+.f64 (*.f64 -1/16 (pow.f64 y 3)) (*.f64 -1/8 (pow.f64 y 2)))))
(+.f64 (fma.f64 -1/2 y 1) (fma.f64 -1/16 (pow.f64 y 3) (*.f64 (*.f64 y y) -1/8)))
(+.f64 (fma.f64 y -1/2 1) (fma.f64 (pow.f64 y 3) -1/16 (*.f64 y (*.f64 y -1/8))))
(fma.f64 y -1/2 (fma.f64 y (*.f64 y -1/8) (fma.f64 (pow.f64 y 3) -1/16 1)))
(fma.f64 y -1/2 (fma.f64 (*.f64 y y) (fma.f64 y -1/16 -1/8) 1))
(fma.f64 (pow.f64 y 3) -1/16 (fma.f64 y (fma.f64 y -1/8 -1/2) 1))

eval504.0ms (7.2%)

Compiler

Compiled 16578 to 11902 computations (28.2% saved)

prune162.0ms (2.3%)

Pruning

15 alts after pruning (2 fresh and 13 done)

PrunedKeptTotal
New5662568
Fresh000
Picked011
Done11213
Total56715582
Error
0b
Counts
582 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
22.3b
(*.f64 y x)
51.5b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y))))
46.1b
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
27.2b
(*.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)))))
7.3b
(*.f64 (*.f64 y (-.f64 1 y)) x)
9.4b
(*.f64 (*.f64 (*.f64 x y) (sqrt.f64 (-.f64 1 y))) (pow.f64 (pow.f64 (-.f64 1 y) 1/4) 2))
0.1b
(*.f64 (*.f64 x y) (-.f64 1 y))
25.3b
(*.f64 (*.f64 (-.f64 1 y) (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)))
27.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
1.2b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y))) (cbrt.f64 (-.f64 1 y)))
13.3b
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
9.4b
(*.f64 (*.f64 (*.f64 x y) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
38.3b
(*.f64 x (neg.f64 (*.f64 y y)))
31.1b
(*.f64 y (*.f64 y (neg.f64 x)))
Compiler

Compiled 203 to 137 computations (32.5% saved)

regimes117.0ms (1.7%)

Counts
19 → 1
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 x (neg.f64 (*.f64 y y)))
(*.f64 y (*.f64 y (neg.f64 x)))
(*.f64 (*.f64 y (-.f64 1 y)) x)
(*.f64 (*.f64 x y) (-.f64 1 y))
(*.f64 x (fma.f64 y (neg.f64 y) y))
(cbrt.f64 (pow.f64 (*.f64 x (neg.f64 (*.f64 y y))) 3))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (neg.f64 y))))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 3)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 x y) (-.f64 1 y))) 2)
(cbrt.f64 (pow.f64 (*.f64 (*.f64 x y) (-.f64 1 y)) 3))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y (-.f64 1 y))))
(*.f64 (*.f64 (-.f64 1 y) (sqrt.f64 (*.f64 x y))) (sqrt.f64 (*.f64 x y)))
(*.f64 (*.f64 (*.f64 x y) (sqrt.f64 (-.f64 1 y))) (sqrt.f64 (-.f64 1 y)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 y 3)) (*.f64 x y)) (+.f64 1 (fma.f64 y y y)))
(*.f64 (*.f64 (*.f64 x y) (sqrt.f64 (-.f64 1 y))) (pow.f64 (pow.f64 (-.f64 1 y) 1/4) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))) 2) (cbrt.f64 (*.f64 x y))) (cbrt.f64 (-.f64 1 y)))
(*.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)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y))))) 2) 3) (cbrt.f64 (*.f64 y (*.f64 x (-.f64 1 y)))))
Outputs
(*.f64 (*.f64 x y) (-.f64 1 y))
Calls

3 calls:

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

Compiled 240 to 137 computations (42.9% saved)

regimes108.0ms (1.6%)

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

2 calls:

82.0ms
x
24.0ms
y
Results
ErrorSegmentsBranch
2.5b3x
0.1b3y
Compiler

Compiled 30 to 17 computations (43.3% saved)

bsearch44.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
1.4170329266833038e+62
2.3963549375007396e+63
31.0ms
-50554366478291380.0
-12611482176999740.0
Compiler

Compiled 33 to 23 computations (30.3% saved)

regimes51.0ms (0.7%)

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

2 calls:

28.0ms
y
21.0ms
x
Results
ErrorSegmentsBranch
10.7b3x
1.8b3y
Compiler

Compiled 23 to 13 computations (43.5% saved)

bsearch58.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
0.014842649333539487
1403.6532139269002
27.0ms
-326215.46631252294
-0.07029278406266053
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes60.0ms (0.9%)

Accuracy

Total -42.7b remaining (-470.9%)

Threshold costs -42.7b (-470.9%)

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

2 calls:

42.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
17.9b3x
9.1b3y
Compiler

Compiled 17 to 10 computations (41.2% saved)

bsearch63.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
30.0ms
0.014842649333539487
1403.6532139269002
32.0ms
-326215.46631252294
-0.07029278406266053
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify172.0ms (2.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
031122
152122
272122
387122
492122
593122
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) (-.f64 1 y))
(if (<=.f64 y -50554366478291376) (*.f64 y (*.f64 y (neg.f64 x))) (if (<=.f64 y 1000000000000000057857959942726969827393378689175040438172647424) (*.f64 (*.f64 y (-.f64 1 y)) x) (*.f64 y (*.f64 y (neg.f64 x)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 y (*.f64 y (neg.f64 x))) (if (<=.f64 y 273798553631618560/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 y (neg.f64 x)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 x (neg.f64 (*.f64 y y))) (if (<=.f64 y 273798553631618560/18446744073709551616) (*.f64 y x) (*.f64 x (neg.f64 (*.f64 y y)))))
(*.f64 y x)
Outputs
(*.f64 (*.f64 x y) (-.f64 1 y))
(*.f64 (-.f64 1 y) (*.f64 x y))
(if (<=.f64 y -50554366478291376) (*.f64 y (*.f64 y (neg.f64 x))) (if (<=.f64 y 1000000000000000057857959942726969827393378689175040438172647424) (*.f64 (*.f64 y (-.f64 1 y)) x) (*.f64 y (*.f64 y (neg.f64 x)))))
(if (<=.f64 y -50554366478291376) (*.f64 y (*.f64 y (neg.f64 x))) (if (<=.f64 y 1000000000000000057857959942726969827393378689175040438172647424) (*.f64 x (*.f64 y (-.f64 1 y))) (*.f64 y (*.f64 y (neg.f64 x)))))
(if (<=.f64 y -50554366478291376) (*.f64 y (*.f64 x (neg.f64 y))) (if (<=.f64 y 1000000000000000057857959942726969827393378689175040438172647424) (*.f64 x (*.f64 y (-.f64 1 y))) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 y (*.f64 y (neg.f64 x))) (if (<=.f64 y 273798553631618560/18446744073709551616) (*.f64 y x) (*.f64 y (*.f64 y (neg.f64 x)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 y (*.f64 y (neg.f64 x))) (if (<=.f64 y 534762800061755/36028797018963968) (*.f64 x y) (*.f64 y (*.f64 y (neg.f64 x)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 y (*.f64 x (neg.f64 y))) (if (<=.f64 y 534762800061755/36028797018963968) (*.f64 x y) (*.f64 y (*.f64 x (neg.f64 y)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 x (neg.f64 (*.f64 y y))) (if (<=.f64 y 273798553631618560/18446744073709551616) (*.f64 y x) (*.f64 x (neg.f64 (*.f64 y y)))))
(if (<=.f64 y -5604339037046703/17179869184) (*.f64 x (*.f64 y (neg.f64 y))) (if (<=.f64 y 534762800061755/36028797018963968) (*.f64 x y) (*.f64 x (*.f64 y (neg.f64 y)))))
(*.f64 y x)
(*.f64 x y)
Compiler

Compiled 93 to 48 computations (48.4% saved)

soundness575.0ms (8.3%)

Algorithm
egg-herbie
Rules
601×fma-def_binary64
601×fma-def_binary64
396×unsub-neg_binary64
396×unsub-neg_binary64
387×distribute-rgt-out--_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
23810
38510
419410
529210
645110
769410
8132710
9140510
10144110
013253
130232
264232
3153232
4469232
51733232
64121232
76658232
0710
11510
23810
38510
419410
529210
645110
769410
8132710
9140510
10144110
013253
130232
264232
3153232
4469232
51733232
64121232
76658232
Stop Event
node limit
saturated
node limit
saturated
Compiler

Compiled 283 to 195 computations (31.1% saved)

end49.0ms (0.7%)

Compiler

Compiled 85 to 33 computations (61.2% saved)

Profiling

Loading profile data...