Details

Time bar (total: 5.2s)

analyze59.0ms (1.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
37.5%62.4%0.1%6
56.2%43.7%0.1%7
65.6%34.3%0.1%8
76.5%23.4%0.1%9
82%18%0.1%10
87.8%12.1%0.1%11
90.7%9.2%0.1%12
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample1.2s (22.3%)

Results
920.0ms7956×body256valid
181.0ms113×body2048valid
25.0ms109×body1024valid
14.0ms78×body512valid
0.0msbody256invalid

preprocess36.0ms (0.7%)

Algorithm
egg-herbie
Rules
128×fma-neg_binary64
44×fma-def_binary64
40×cancel-sign-sub-inv_binary64
34×sub-neg_binary64
21×associate--r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
12024
22824
34024
47024
514124
618824
729224
835520
941820
1049020
1153520
1254820
1355320
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
(+.f64 y (/.f64 (fabs.f64 (-.f64 x y)) 2))
Outputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
(+.f64 x (*.f64 1/2 (fabs.f64 (-.f64 y x))))
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 (fabs.f64 (-.f64 y x)) 1/2 x)
(+.f64 y (/.f64 (fabs.f64 (-.f64 x y)) 2))
(+.f64 y (/.f64 (fabs.f64 (-.f64 y x)) 2))
(+.f64 y (*.f64 1/2 (fabs.f64 (-.f64 y x))))
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) y)
(fma.f64 (fabs.f64 (-.f64 y x)) 1/2 y)
Compiler

Compiled 12 to 9 computations (25% saved)

simplify27.0ms (0.5%)

Algorithm
egg-herbie
Rules
97×fma-neg_binary64
34×fma-def_binary64
32×cancel-sign-sub-inv_binary64
28×sub-neg_binary64
17×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
0812
11312
22012
32912
45012
510612
616312
721112
827510
932010
1037910
1142410
1244710
1345510
1446010
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
Outputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
(+.f64 x (*.f64 1/2 (fabs.f64 (-.f64 y x))))
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 (fabs.f64 (-.f64 y x)) 1/2 x)

eval1.0ms (0%)

Compiler

Compiled 17 to 9 computations (47.1% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.1b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
Compiler

Compiled 10 to 7 computations (30% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
Compiler

Compiled 26 to 10 computations (61.5% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite69.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
548×unpow-prod-down_binary64
395×log-prod_binary64
381×fma-def_binary64
266×pow-prod-down_binary64
234×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify33.0ms (0.6%)

Algorithm
egg-herbie
Rules
84×fma-neg_binary64
62×fma-def_binary64
29×cancel-sign-sub-inv_binary64
23×sub-neg_binary64
21×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020221
145221
268221
3115221
4181221
5214221
6286221
7338221
8387221
9415221
10422221
11427221
Stop Event
saturated
Counts
89 → 72
Calls
Call 1
Inputs
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
x
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
x
(+.f64 (*.f64 1/2 (fabs.f64 (+.f64 y (*.f64 -1 x)))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (+.f64 y (*.f64 -1 x)))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (+.f64 y (*.f64 -1 x)))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
Outputs
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
(*.f64 1/2 (fabs.f64 (-.f64 x y)))
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
x
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
x
(+.f64 (*.f64 1/2 (fabs.f64 (+.f64 y (*.f64 -1 x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (+.f64 y (*.f64 -1 x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (+.f64 y (*.f64 -1 x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (-.f64 y x))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)
(+.f64 (*.f64 1/2 (fabs.f64 (neg.f64 (+.f64 (*.f64 -1 y) x)))) x)
(fma.f64 1/2 (fabs.f64 (-.f64 y x)) x)
(fma.f64 1/2 (fabs.f64 (-.f64 x y)) x)

eval24.0ms (0.5%)

Compiler

Compiled 1014 to 540 computations (46.7% saved)

prune15.0ms (0.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New68472
Fresh000
Picked011
Done000
Total68573
Error
0.1b
Counts
73 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
56.7b
x
29.2b
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
47.0b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (pow.f64 (-.f64 y x) 2) 1/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
30.6b
(fma.f64 (-.f64 y x) 1/2 x)
Compiler

Compiled 50 to 33 computations (34% saved)

localize7.0ms (0.1%)

Compiler

Compiled 18 to 7 computations (61.1% saved)

localize33.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 (-.f64 y x) 2) 1/4)
0.0b
(-.f64 x (*.f64 (-.f64 y x) 1/2))
11.8b
(-.f64 (*.f64 x x) (*.f64 (pow.f64 (-.f64 y x) 2) 1/4))
28.3b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (pow.f64 (-.f64 y x) 2) 1/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
Compiler

Compiled 67 to 32 computations (52.2% saved)

series18.0ms (0.3%)

Counts
4 → 96
Calls

24 calls:

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

rewrite134.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
807×fma-def_binary64
348×fma-neg_binary64
279×expm1-udef_binary64
279×log1p-udef_binary64
221×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify73.0ms (1.4%)

Algorithm
egg-herbie
Rules
764×times-frac_binary64
620×associate-*l*_binary64
457×associate-/l*_binary64
347×cancel-sign-sub-inv_binary64
336×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01551866
15421571
219991400
Stop Event
node limit
Counts
424 → 384
Calls
Call 1
Inputs
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(*.f64 1/2 x)
(-.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/3 y)) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 1/3 y))) (+.f64 (*.f64 -1/6 y) (*.f64 -1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x))))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 -1/3 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y)))))) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 1/3 y)))) (+.f64 (*.f64 -1/6 y) (*.f64 -1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x))))
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 -1 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y))))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y))) (*.f64 -1/6 (/.f64 (pow.f64 y 2) x)))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y)) y) x)))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y)) y))) y) (pow.f64 x 2))) (*.f64 -1/6 (/.f64 (pow.f64 y 2) x))))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y)) y) x)))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (-.f64 x (*.f64 -1/2 x)))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) y) (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) y) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 1 (-.f64 x (*.f64 -1/2 x))))))) (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x))))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 1 (-.f64 x (*.f64 -1/2 x)))))) (-.f64 x (*.f64 -1/2 x)))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) y) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 1 (-.f64 x (*.f64 -1/2 x))))))) (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(*.f64 1/2 y)
(-.f64 (+.f64 (*.f64 1/2 y) (*.f64 -1 x)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(-.f64 (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) y)))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))) y)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))))) (pow.f64 y 2))) (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) y))))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))) y)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))
(*.f64 1/2 y)
(-.f64 (+.f64 (*.f64 1/2 y) (*.f64 -1 x)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(-.f64 (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))))) y)))) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))))) (pow.f64 y 2))) (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))))) y))))) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(*.f64 -1/4 (pow.f64 y 2))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(*.f64 3/4 (pow.f64 x 2))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(*.f64 3/4 (pow.f64 x 2))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(*.f64 -1/4 (pow.f64 y 2))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (*.f64 1/2 (*.f64 y x)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(*.f64 -1/4 (pow.f64 y 2))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (*.f64 1/2 (*.f64 y x)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(*.f64 -1/2 y)
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(*.f64 3/2 x)
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(*.f64 3/2 x)
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(-.f64 x (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(*.f64 -1/2 y)
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(*.f64 -1/2 y)
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(*.f64 1/4 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(*.f64 1/4 (pow.f64 y 2))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(*.f64 1/4 (pow.f64 y 2))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(*.f64 1/4 (pow.f64 y 2))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(*.f64 1/4 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(*.f64 1/4 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
Outputs
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(*.f64 1/2 x)
(-.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/3 y)) (*.f64 -1/6 y))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 1/3 y))) (+.f64 (*.f64 -1/6 y) (*.f64 -1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x))))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 -1/3 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y)))))) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 y 2) x)) (*.f64 1/3 y)))) (+.f64 (*.f64 -1/6 y) (*.f64 -1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x))))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 -1 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y))))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y))) (*.f64 -1/6 (/.f64 (pow.f64 y 2) x)))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y)) y) x)))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 y 2)) (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y)) y))) y) (pow.f64 x 2))) (*.f64 -1/6 (/.f64 (pow.f64 y 2) x))))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 -1/3 y) (*.f64 1/6 y)) y) x)))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (-.f64 x (*.f64 -1/2 x)))
(/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (+.f64 x (*.f64 1/2 x)))
(/.f64 (*.f64 x (*.f64 x 3/4)) (*.f64 x 3/2))
(*.f64 1/2 (/.f64 (*.f64 x x) x))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) y) (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(+.f64 (*.f64 y (+.f64 (*.f64 1/2 (/.f64 x (+.f64 x (*.f64 1/2 x)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (pow.f64 (+.f64 x (*.f64 1/2 x)) 2))))) (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (+.f64 x (*.f64 1/2 x))))
(fma.f64 y (*.f64 1/2 (+.f64 (/.f64 x (*.f64 x 3/2)) (/.f64 (*.f64 x (*.f64 x 3/4)) (pow.f64 (*.f64 x 3/2) 2)))) (/.f64 (*.f64 x (*.f64 x 3/4)) (*.f64 x 3/2)))
(fma.f64 y (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) y) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 1 (-.f64 x (*.f64 -1/2 x))))))) (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x))))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(+.f64 (fma.f64 (+.f64 (*.f64 1/2 (/.f64 x (+.f64 x (*.f64 1/2 x)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (pow.f64 (+.f64 x (*.f64 1/2 x)) 2)))) y (fma.f64 -1 (*.f64 (*.f64 y y) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 x (+.f64 x (*.f64 1/2 x)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (pow.f64 (+.f64 x (*.f64 1/2 x)) 2)))) (+.f64 x (*.f64 1/2 x))) (/.f64 1/4 (+.f64 x (*.f64 1/2 x))))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 1/2 x))))) (*.f64 -1/4 (/.f64 (*.f64 x x) (+.f64 x (*.f64 1/2 x)))))
(fma.f64 y (*.f64 1/2 (+.f64 (/.f64 x (*.f64 x 3/2)) (/.f64 (*.f64 x (*.f64 x 3/4)) (pow.f64 (*.f64 x 3/2) 2)))) (+.f64 (*.f64 (*.f64 y y) (neg.f64 (fma.f64 -1/2 (/.f64 (*.f64 1/2 (+.f64 (/.f64 x (*.f64 x 3/2)) (/.f64 (*.f64 x (*.f64 x 3/4)) (pow.f64 (*.f64 x 3/2) 2)))) (*.f64 x 3/2)) (/.f64 1/4 (*.f64 x 3/2))))) (/.f64 (*.f64 x (*.f64 x 3/4)) (*.f64 x 3/2))))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 1 (-.f64 x (*.f64 -1/2 x)))))) (-.f64 x (*.f64 -1/2 x)))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) y) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2)))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 1/4 (/.f64 1 (-.f64 x (*.f64 -1/2 x))))))) (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 y 3) (/.f64 (+.f64 x (*.f64 1/2 x)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 x (+.f64 x (*.f64 1/2 x)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (pow.f64 (+.f64 x (*.f64 1/2 x)) 2)))) (+.f64 x (*.f64 1/2 x))) (/.f64 1/4 (+.f64 x (*.f64 1/2 x)))))) (fma.f64 (+.f64 (*.f64 1/2 (/.f64 x (+.f64 x (*.f64 1/2 x)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (pow.f64 (+.f64 x (*.f64 1/2 x)) 2)))) y (fma.f64 -1 (*.f64 (*.f64 y y) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 x (+.f64 x (*.f64 1/2 x)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (pow.f64 (+.f64 x (*.f64 1/2 x)) 2)))) (+.f64 x (*.f64 1/2 x))) (/.f64 1/4 (+.f64 x (*.f64 1/2 x))))) (/.f64 (*.f64 x x) (+.f64 x (*.f64 1/2 x)))))) (*.f64 -1/4 (/.f64 (*.f64 x x) (+.f64 x (*.f64 1/2 x)))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 y 3) (*.f64 x 3/2)) (fma.f64 -1/2 (/.f64 (*.f64 1/2 (+.f64 (/.f64 x (*.f64 x 3/2)) (/.f64 (*.f64 x (*.f64 x 3/4)) (pow.f64 (*.f64 x 3/2) 2)))) (*.f64 x 3/2)) (/.f64 1/4 (*.f64 x 3/2)))) (fma.f64 y (*.f64 1/2 (+.f64 (/.f64 x (*.f64 x 3/2)) (/.f64 (*.f64 x (*.f64 x 3/4)) (pow.f64 (*.f64 x 3/2) 2)))) (+.f64 (*.f64 (*.f64 y y) (neg.f64 (fma.f64 -1/2 (/.f64 (*.f64 1/2 (+.f64 (/.f64 x (*.f64 x 3/2)) (/.f64 (*.f64 x (*.f64 x 3/4)) (pow.f64 (*.f64 x 3/2) 2)))) (*.f64 x 3/2)) (/.f64 1/4 (*.f64 x 3/2))))) (/.f64 (*.f64 x (*.f64 x 3/4)) (*.f64 x 3/2)))))
(+.f64 (+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x))) (*.f64 (/.f64 -1/3 x) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) (pow.f64 y 3))))
(*.f64 1/2 y)
(-.f64 (+.f64 (*.f64 1/2 y) (*.f64 -1 x)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(-.f64 (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) y)))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))) y)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))
(-.f64 (fma.f64 1/2 y (fma.f64 -1 x (*.f64 -2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) y)))) (fma.f64 -2 (/.f64 (+.f64 x (*.f64 1/2 x)) (/.f64 y (*.f64 -1 (-.f64 x (+.f64 x (*.f64 1/2 x)))))) (neg.f64 (+.f64 x (*.f64 1/2 x)))))
(+.f64 (+.f64 (fma.f64 1/2 y (fma.f64 -2 (/.f64 (*.f64 x (*.f64 x 3/4)) y) (neg.f64 x))) (*.f64 2 (*.f64 (/.f64 (*.f64 x 3/2) y) (fma.f64 x -1 (*.f64 x 3/2))))) (*.f64 x 3/2))
(fma.f64 1/2 y (+.f64 (/.f64 (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 x (*.f64 x 3/2))) y) (*.f64 1/2 x)))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))))) (pow.f64 y 2))) (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -2 (/.f64 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2))) y))))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))) y)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))
(-.f64 (fma.f64 2 (/.f64 (+.f64 x (*.f64 1/2 x)) (/.f64 (*.f64 y y) (*.f64 -2 (-.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (*.f64 (+.f64 x (*.f64 1/2 x)) (*.f64 -1 (-.f64 x (+.f64 x (*.f64 1/2 x))))))))) (fma.f64 1/2 y (fma.f64 -1 x (*.f64 -2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) y))))) (fma.f64 -2 (/.f64 (+.f64 x (*.f64 1/2 x)) (/.f64 y (*.f64 -1 (-.f64 x (+.f64 x (*.f64 1/2 x)))))) (neg.f64 (+.f64 x (*.f64 1/2 x)))))
(-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 x 3/2) (*.f64 y y)) (*.f64 -2 (-.f64 (*.f64 x (*.f64 x 3/4)) (*.f64 (*.f64 x 3/2) (fma.f64 x -1 (*.f64 x 3/2)))))) (fma.f64 1/2 y (fma.f64 -2 (/.f64 (*.f64 x (*.f64 x 3/4)) y) (neg.f64 x)))) (fma.f64 -2 (*.f64 (/.f64 (*.f64 x 3/2) y) (fma.f64 x -1 (*.f64 x 3/2))) (neg.f64 (*.f64 x 3/2))))
(+.f64 (*.f64 (/.f64 (*.f64 x 3) y) (/.f64 (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 x (*.f64 x 3/2))) y)) (fma.f64 1/2 y (+.f64 (/.f64 (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 x (*.f64 x 3/2))) y) (*.f64 1/2 x))))
(*.f64 1/2 y)
(-.f64 (+.f64 (*.f64 1/2 y) (*.f64 -1 x)) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 (+.f64 y x))
(-.f64 (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))))) y)))) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(-.f64 (fma.f64 1/2 y (fma.f64 -1 x (*.f64 -2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) y)))) (fma.f64 -2 (/.f64 (+.f64 x (*.f64 1/2 x)) (/.f64 y (*.f64 -1 (-.f64 x (+.f64 x (*.f64 1/2 x)))))) (neg.f64 (+.f64 x (*.f64 1/2 x)))))
(+.f64 (+.f64 (fma.f64 1/2 y (fma.f64 -2 (/.f64 (*.f64 x (*.f64 x 3/4)) y) (neg.f64 x))) (*.f64 2 (*.f64 (/.f64 (*.f64 x 3/2) y) (fma.f64 x -1 (*.f64 x 3/2))))) (*.f64 x 3/2))
(fma.f64 1/2 y (+.f64 (/.f64 (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 x (*.f64 x 3/2))) y) (*.f64 1/2 x)))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x)))))))) (pow.f64 y 2))) (+.f64 (*.f64 1/2 y) (+.f64 (*.f64 -1 x) (*.f64 -1 (/.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -1 x) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))))) y))))) (*.f64 -1 (-.f64 x (*.f64 -1/2 x))))
(-.f64 (fma.f64 2 (/.f64 (+.f64 x (*.f64 1/2 x)) (/.f64 (*.f64 y y) (*.f64 -2 (-.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) (*.f64 (+.f64 x (*.f64 1/2 x)) (*.f64 -1 (-.f64 x (+.f64 x (*.f64 1/2 x))))))))) (fma.f64 1/2 y (fma.f64 -1 x (*.f64 -2 (/.f64 (+.f64 (*.f64 x x) (*.f64 -1/4 (*.f64 x x))) y))))) (fma.f64 -2 (/.f64 (+.f64 x (*.f64 1/2 x)) (/.f64 y (*.f64 -1 (-.f64 x (+.f64 x (*.f64 1/2 x)))))) (neg.f64 (+.f64 x (*.f64 1/2 x)))))
(-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 x 3/2) (*.f64 y y)) (*.f64 -2 (-.f64 (*.f64 x (*.f64 x 3/4)) (*.f64 (*.f64 x 3/2) (fma.f64 x -1 (*.f64 x 3/2)))))) (fma.f64 1/2 y (fma.f64 -2 (/.f64 (*.f64 x (*.f64 x 3/4)) y) (neg.f64 x)))) (fma.f64 -2 (*.f64 (/.f64 (*.f64 x 3/2) y) (fma.f64 x -1 (*.f64 x 3/2))) (neg.f64 (*.f64 x 3/2))))
(+.f64 (*.f64 (/.f64 (*.f64 x 3) y) (/.f64 (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 x (*.f64 x 3/2))) y)) (fma.f64 1/2 y (+.f64 (/.f64 (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 x (*.f64 x 3/2))) y) (*.f64 1/2 x))))
(*.f64 -1/4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -1/4)
(*.f64 y (*.f64 y -1/4))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 -1/4 (*.f64 y y) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 y x) (*.f64 y (*.f64 y -1/4)))
(*.f64 y (+.f64 (*.f64 -1/4 y) (*.f64 1/2 x)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(*.f64 3/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 3/4)
(*.f64 x (*.f64 x 3/4))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4))
(fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4)))
(*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(*.f64 3/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 3/4)
(*.f64 x (*.f64 x 3/4))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4))
(fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4)))
(*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(-.f64 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 2)))
(*.f64 (*.f64 x x) 3/4)
(*.f64 x (*.f64 x 3/4))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4))
(fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4)))
(*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(*.f64 -1/4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -1/4)
(*.f64 y (*.f64 y -1/4))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 -1/4 (*.f64 y y) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 y x) (*.f64 y (*.f64 y -1/4)))
(*.f64 y (+.f64 (*.f64 -1/4 y) (*.f64 1/2 x)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(*.f64 -1/4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -1/4)
(*.f64 y (*.f64 y -1/4))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 -1/4 (*.f64 y y) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 y x) (*.f64 y (*.f64 y -1/4)))
(*.f64 y (+.f64 (*.f64 -1/4 y) (*.f64 1/2 x)))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(-.f64 (+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (*.f64 1/2 (*.f64 y x)) (pow.f64 x 2))) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 1/2 (*.f64 y x) (*.f64 (*.f64 x x) 3/4)))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 1/2 (*.f64 y x) (*.f64 x (*.f64 x 3/4))))
(fma.f64 (*.f64 y y) -1/4 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))))
(*.f64 -1/2 y)
(*.f64 y -1/2)
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(*.f64 3/2 x)
(*.f64 x 3/2)
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(*.f64 3/2 x)
(*.f64 x 3/2)
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(+.f64 (*.f64 -1/2 y) (*.f64 3/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 x (*.f64 -1/2 x))
(*.f64 x 3/2)
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(*.f64 -1/2 y)
(*.f64 y -1/2)
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(*.f64 -1/2 y)
(*.f64 y -1/2)
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(-.f64 (+.f64 (*.f64 -1/2 y) x) (*.f64 -1/2 x))
(fma.f64 -1/2 y (*.f64 x 3/2))
(fma.f64 x 3/2 (*.f64 y -1/2))
(fma.f64 y -1/2 (*.f64 x 3/2))
(*.f64 1/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 1/4)
(*.f64 (*.f64 1/4 x) x)
(*.f64 x (*.f64 x 1/4))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/2 (*.f64 y x) (*.f64 (*.f64 x x) 1/4))
(fma.f64 (*.f64 x x) 1/4 (*.f64 y (*.f64 x -1/2)))
(*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(*.f64 1/4 (pow.f64 y 2))
(*.f64 (*.f64 y y) 1/4)
(*.f64 y (*.f64 y 1/4))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 y 2)))
(fma.f64 -1/2 (*.f64 y x) (*.f64 (*.f64 y y) 1/4))
(fma.f64 (*.f64 y y) 1/4 (*.f64 y (*.f64 x -1/2)))
(*.f64 y (+.f64 (*.f64 x -1/2) (*.f64 1/4 y)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(*.f64 1/4 (pow.f64 y 2))
(*.f64 (*.f64 y y) 1/4)
(*.f64 y (*.f64 y 1/4))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 y 2)))
(fma.f64 -1/2 (*.f64 y x) (*.f64 (*.f64 y y) 1/4))
(fma.f64 (*.f64 y y) 1/4 (*.f64 y (*.f64 x -1/2)))
(*.f64 y (+.f64 (*.f64 x -1/2) (*.f64 1/4 y)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(*.f64 1/4 (pow.f64 y 2))
(*.f64 (*.f64 y y) 1/4)
(*.f64 y (*.f64 y 1/4))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 y 2)))
(fma.f64 -1/2 (*.f64 y x) (*.f64 (*.f64 y y) 1/4))
(fma.f64 (*.f64 y y) 1/4 (*.f64 y (*.f64 x -1/2)))
(*.f64 y (+.f64 (*.f64 x -1/2) (*.f64 1/4 y)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(*.f64 1/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 1/4)
(*.f64 (*.f64 1/4 x) x)
(*.f64 x (*.f64 x 1/4))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/2 (*.f64 y x) (*.f64 (*.f64 x x) 1/4))
(fma.f64 (*.f64 x x) 1/4 (*.f64 y (*.f64 x -1/2)))
(*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(*.f64 1/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 1/4)
(*.f64 (*.f64 1/4 x) x)
(*.f64 x (*.f64 x 1/4))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 1/4 (pow.f64 x 2)))
(fma.f64 -1/2 (*.f64 y x) (*.f64 (*.f64 x x) 1/4))
(fma.f64 (*.f64 x x) 1/4 (*.f64 y (*.f64 x -1/2)))
(*.f64 x (+.f64 (*.f64 x 1/4) (*.f64 y -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 y x)) (+.f64 (*.f64 1/4 (pow.f64 y 2)) (*.f64 1/4 (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 y x) (*.f64 1/4 (+.f64 (*.f64 y y) (*.f64 x x))))
(fma.f64 (*.f64 y -1/2) x (*.f64 1/4 (fma.f64 y y (*.f64 x x))))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (-.f64 y x) 1/2 x)
Compiler

Compiled 14 to 6 computations (57.1% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite50.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
715×pow1_binary64
666×add-log-exp_binary64
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
653×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify43.0ms (0.8%)

Algorithm
egg-herbie
Rules
14×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-+l+_binary64
associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
012186
129150
246150
348150
Stop Event
saturated
Counts
45 → 28
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/2 x) x)
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(*.f64 1/2 y)
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(*.f64 1/2 y)
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(*.f64 1/2 x)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
Outputs
(+.f64 (*.f64 -1/2 x) x)
(*.f64 x 1/2)
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 y)
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 y)
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 1/2 y) x))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 x)
(*.f64 x 1/2)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(*.f64 1/2 x)
(*.f64 x 1/2)
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))
(+.f64 (*.f64 1/2 x) (*.f64 1/2 y))
(fma.f64 -1/2 x (fma.f64 1/2 y x))
(*.f64 1/2 (+.f64 x y))

eval254.0ms (4.9%)

Compiler

Compiled 11703 to 6492 computations (44.5% saved)

prune80.0ms (1.5%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New4039412
Fresh011
Picked101
Done123
Total40512417
Error
0.1b
Counts
417 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
45.2b
(*.f64 x 1/2)
53.6b
(*.f64 1/2 (/.f64 (*.f64 x x) x))
46.5b
(fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (-.f64 y x) 4)))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 1/4))) x)
53.7b
(/.f64 (*.f64 x (*.f64 x 3/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
53.7b
(/.f64 (-.f64 (*.f64 x x) (*.f64 x (*.f64 x 1/4))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
49.4b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
0.1b
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
56.7b
x
29.2b
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
53.5b
(/.f64 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
30.6b
(*.f64 1/2 (+.f64 y x))
48.0b
(*.f64 1/2 y)
Compiler

Compiled 337 to 221 computations (34.4% saved)

localize5.0ms (0.1%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
30.5b
(/.f64 (*.f64 x x) x)
Compiler

Compiled 19 to 7 computations (63.2% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite48.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
347×pow1_binary64
331×add-sqr-sqrt_binary64
326×add-log-exp_binary64
326×log1p-expm1-u_binary64
326×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047
1871
212261
Stop Event
node limit
Counts
1 → 66
Calls
Call 1
Inputs
(/.f64 (*.f64 x x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2)) (log.f64 (cbrt.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 x))) (log.f64 (sqrt.f64 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (pow.f64 1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (pow.f64 (pow.f64 x -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) x) (cbrt.f64 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (/.f64 x (cbrt.f64 x)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (/.f64 x (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (neg.f64 x)) (/.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 3/2) (sqrt.f64 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) x)) (pow.f64 (pow.f64 (cbrt.f64 x) 5) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (cbrt.f64 x))) (sqrt.f64 (*.f64 (cbrt.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) x)) (sqrt.f64 (/.f64 x (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 x)) (pow.f64 (pow.f64 x 3/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 x) x) 1) (/.f64 1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 x) x) (/.f64 (*.f64 x x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -1/2) (pow.f64 x 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -1/2) (pow.f64 (pow.f64 x -3/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 x) x) (sqrt.f64 x)) (/.f64 (/.f64 x (cbrt.f64 x)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x 3/2) 1/2) (sqrt.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 5) 1/2) (sqrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cbrt.f64 x) x) 2) 1/3) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x 5/2) 1/3) (cbrt.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 3) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 x)) 3) (pow.f64 (sqrt.f64 (cbrt.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 x)) 2) -1) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (cbrt.f64 x)) -1) (pow.f64 (/.f64 (cbrt.f64 x) x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 x (cbrt.f64 x)) 1) -1) (pow.f64 (/.f64 (cbrt.f64 x) (*.f64 x x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x -1/2) -1) (pow.f64 (pow.f64 x -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (*.f64 (cbrt.f64 x) x)) -1) (/.f64 1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 x) (*.f64 (cbrt.f64 x) x)) -1) (pow.f64 (/.f64 (sqrt.f64 x) (/.f64 x (cbrt.f64 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (cbrt.f64 x) x) -1) (pow.f64 (/.f64 1 (cbrt.f64 x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (cbrt.f64 x)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 x) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 x))) (sqrt.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2)) (cbrt.f64 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x x) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 x)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x . x)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 x) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 x)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 x)) -1))))))

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112
Stop Event
saturated
Counts
78 → 67
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
Outputs
x
x
x
x
x
x
x
x
x
x
x
x

localize24.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 3/4 x) (*.f64 1/2 y))
0.0b
(-.f64 x (*.f64 (-.f64 y x) 1/2))
0.1b
(*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y)))
21.7b
(/.f64 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
Compiler

Compiled 60 to 35 computations (41.7% saved)

series12.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

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

rewrite112.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
862×log-prod_binary64
710×fma-def_binary64
315×fma-neg_binary64
286×expm1-udef_binary64
286×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify83.0ms (1.6%)

Algorithm
egg-herbie
Rules
458×fma-def_binary64
448×times-frac_binary64
401×div-sub_binary64
399×associate-/l*_binary64
363×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01221494
13771324
212631104
366121104
Stop Event
node limit
Counts
242 → 217
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -27/2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y))))
(+.f64 (*.f64 -27/2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -81/2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))))
(*.f64 1/2 x)
(-.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/3 y)) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (+.f64 (*.f64 1/3 y) (*.f64 1/9 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) (pow.f64 x 2)))))) (*.f64 -1/6 y))
(*.f64 1/2 x)
(-.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/3 y)) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (+.f64 (*.f64 1/3 y) (*.f64 1/9 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) (pow.f64 x 2)))))) (*.f64 -1/6 y))
(*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x))))
(+.f64 (*.f64 y (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(+.f64 (*.f64 y (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x))))))
(+.f64 (*.f64 y (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))))
(*.f64 -1 x)
(-.f64 (+.f64 (*.f64 -1 x) (*.f64 -3/2 (/.f64 (pow.f64 x 2) y))) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) x) y)))
(-.f64 (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 x 2) y)) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -3/2 (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2))))) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) x) y)))
(-.f64 (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2) (-.f64 (*.f64 -3/2 (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 3))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 x 2) y)) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -3/2 (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2)))))) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) x) y)))
(*.f64 -1 x)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x))) y)) (*.f64 -1 x))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x))) y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2))) (*.f64 -1 x)))
(+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2) (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 3))) (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x))) y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2))) (*.f64 -1 x))))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(*.f64 3/4 (pow.f64 x 2))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(*.f64 3/4 (pow.f64 x 2))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(*.f64 3/4 (pow.f64 x 2))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(*.f64 3/4 x)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(*.f64 3/4 x)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(*.f64 3/4 x)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(*.f64 1/2 y)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 x (/.f64 y x)) (neg.f64 x))
(-.f64 (/.f64 (*.f64 x -9/2) (/.f64 y x)) x)
(+.f64 (*.f64 -27/2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y))))
(fma.f64 -27/2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y))))
(fma.f64 -27/2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (fma.f64 -9/2 (/.f64 x (/.f64 y x)) (neg.f64 x)))
(-.f64 (fma.f64 -27/2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (/.f64 (*.f64 x -9/2) (/.f64 y x))) x)
(+.f64 (*.f64 -27/2 (/.f64 (pow.f64 x 3) (pow.f64 y 2))) (+.f64 (*.f64 -81/2 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))))
(fma.f64 -27/2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (fma.f64 -81/2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))))
(fma.f64 -27/2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (fma.f64 -81/2 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) (fma.f64 -9/2 (/.f64 x (/.f64 y x)) (neg.f64 x))))
(fma.f64 -27/2 (/.f64 (pow.f64 x 3) (*.f64 y y)) (-.f64 (fma.f64 -9/2 (/.f64 x (/.f64 y x)) (/.f64 -81/2 (/.f64 (pow.f64 y 3) (pow.f64 x 4)))) x))
(*.f64 1/2 x)
(*.f64 x 1/2)
(-.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/3 y)) (*.f64 -1/6 y))
(+.f64 (*.f64 x 1/2) (*.f64 y 1/2))
(*.f64 1/2 (+.f64 x y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(+.f64 (fma.f64 1/2 x (*.f64 1/3 (+.f64 (/.f64 y (/.f64 x (*.f64 y 1/2))) y))) (*.f64 1/6 y))
(+.f64 (fma.f64 x 1/2 (*.f64 1/3 (*.f64 (/.f64 y x) (*.f64 y 1/2)))) (*.f64 y 1/2))
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (+.f64 (*.f64 1/3 y) (*.f64 1/9 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) (pow.f64 x 2)))))) (*.f64 -1/6 y))
(+.f64 (fma.f64 1/2 x (fma.f64 1/3 (/.f64 y (/.f64 x (*.f64 y 1/2))) (fma.f64 1/3 y (*.f64 1/9 (/.f64 (*.f64 y y) (/.f64 (*.f64 x x) (*.f64 y 1/2))))))) (*.f64 1/6 y))
(fma.f64 x 1/2 (+.f64 (fma.f64 1/3 (+.f64 y (*.f64 (/.f64 y x) (*.f64 y 1/2))) (*.f64 1/9 (/.f64 (*.f64 (pow.f64 y 3) 1/2) (*.f64 x x)))) (*.f64 y 1/6)))
(+.f64 (+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6))) (/.f64 (*.f64 (pow.f64 y 3) 1/18) (*.f64 x x)))
(*.f64 1/2 x)
(*.f64 x 1/2)
(-.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/3 y)) (*.f64 -1/6 y))
(+.f64 (*.f64 x 1/2) (*.f64 y 1/2))
(*.f64 1/2 (+.f64 x y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(+.f64 (fma.f64 1/2 x (*.f64 1/3 (+.f64 (/.f64 y (/.f64 x (*.f64 y 1/2))) y))) (*.f64 1/6 y))
(+.f64 (fma.f64 x 1/2 (*.f64 1/3 (*.f64 (/.f64 y x) (*.f64 y 1/2)))) (*.f64 y 1/2))
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (+.f64 (*.f64 1/3 y) (*.f64 1/9 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) (pow.f64 x 2)))))) (*.f64 -1/6 y))
(+.f64 (fma.f64 1/2 x (fma.f64 1/3 (/.f64 y (/.f64 x (*.f64 y 1/2))) (fma.f64 1/3 y (*.f64 1/9 (/.f64 (*.f64 y y) (/.f64 (*.f64 x x) (*.f64 y 1/2))))))) (*.f64 1/6 y))
(fma.f64 x 1/2 (+.f64 (fma.f64 1/3 (+.f64 y (*.f64 (/.f64 y x) (*.f64 y 1/2))) (*.f64 1/9 (/.f64 (*.f64 (pow.f64 y 3) 1/2) (*.f64 x x)))) (*.f64 y 1/6)))
(+.f64 (+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6))) (/.f64 (*.f64 (pow.f64 y 3) 1/18) (*.f64 x x)))
(*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x))))
(*.f64 3/4 (/.f64 (*.f64 x x) (+.f64 x (*.f64 x 1/2))))
(/.f64 (*.f64 x x) (/.f64 (*.f64 3/2 x) 3/4))
(*.f64 1/2 (/.f64 (*.f64 x x) x))
(+.f64 (*.f64 y (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))
(fma.f64 y (-.f64 (/.f64 (*.f64 x 1/2) (+.f64 x (*.f64 x 1/2))) (/.f64 (*.f64 -3/8 (*.f64 x x)) (pow.f64 (+.f64 x (*.f64 x 1/2)) 2))) (*.f64 3/4 (/.f64 (*.f64 x x) (+.f64 x (*.f64 x 1/2)))))
(fma.f64 y (fma.f64 1/2 (/.f64 x (*.f64 3/2 x)) (/.f64 (*.f64 3/8 (*.f64 x x)) (pow.f64 (*.f64 3/2 x) 2))) (/.f64 (*.f64 x x) (/.f64 (*.f64 3/2 x) 3/4)))
(fma.f64 y (fma.f64 (/.f64 x (/.f64 (*.f64 9/4 (*.f64 x x)) x)) 3/8 (*.f64 1/3 (/.f64 x x))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x))))))
(fma.f64 y (-.f64 (/.f64 (*.f64 x 1/2) (+.f64 x (*.f64 x 1/2))) (/.f64 (*.f64 -3/8 (*.f64 x x)) (pow.f64 (+.f64 x (*.f64 x 1/2)) 2))) (fma.f64 1/2 (/.f64 (*.f64 y y) (/.f64 (+.f64 x (*.f64 x 1/2)) (-.f64 (/.f64 (*.f64 x 1/2) (+.f64 x (*.f64 x 1/2))) (/.f64 (*.f64 -3/8 (*.f64 x x)) (pow.f64 (+.f64 x (*.f64 x 1/2)) 2))))) (*.f64 3/4 (/.f64 (*.f64 x x) (+.f64 x (*.f64 x 1/2))))))
(fma.f64 y (fma.f64 1/2 (/.f64 x (*.f64 3/2 x)) (/.f64 (*.f64 3/8 (*.f64 x x)) (pow.f64 (*.f64 3/2 x) 2))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 y y) (*.f64 3/2 x)) (fma.f64 1/2 (/.f64 x (*.f64 3/2 x)) (/.f64 (*.f64 3/8 (*.f64 x x)) (pow.f64 (*.f64 3/2 x) 2)))) (/.f64 (*.f64 x x) (/.f64 (*.f64 3/2 x) 3/4))))
(+.f64 (fma.f64 y (fma.f64 (/.f64 x (/.f64 (*.f64 9/4 (*.f64 x x)) x)) 3/8 (*.f64 1/3 (/.f64 x x))) (*.f64 1/2 (/.f64 (*.f64 x x) x))) (*.f64 1/3 (/.f64 (*.f64 y (*.f64 y (fma.f64 (/.f64 x (/.f64 (*.f64 9/4 (*.f64 x x)) x)) 3/8 (*.f64 1/3 (/.f64 x x))))) x)))
(+.f64 (*.f64 y (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 1/2 (/.f64 x (-.f64 x (*.f64 -1/2 x)))) (*.f64 -3/8 (/.f64 (pow.f64 x 2) (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2))))) (-.f64 x (*.f64 -1/2 x)))) (*.f64 3/4 (/.f64 (pow.f64 x 2) (-.f64 x (*.f64 -1/2 x)))))))
(fma.f64 y (-.f64 (/.f64 (*.f64 x 1/2) (+.f64 x (*.f64 x 1/2))) (/.f64 (*.f64 -3/8 (*.f64 x x)) (pow.f64 (+.f64 x (*.f64 x 1/2)) 2))) (fma.f64 1/4 (/.f64 (pow.f64 y 3) (/.f64 (pow.f64 (+.f64 x (*.f64 x 1/2)) 2) (-.f64 (/.f64 (*.f64 x 1/2) (+.f64 x (*.f64 x 1/2))) (/.f64 (*.f64 -3/8 (*.f64 x x)) (pow.f64 (+.f64 x (*.f64 x 1/2)) 2))))) (fma.f64 1/2 (/.f64 (*.f64 y y) (/.f64 (+.f64 x (*.f64 x 1/2)) (-.f64 (/.f64 (*.f64 x 1/2) (+.f64 x (*.f64 x 1/2))) (/.f64 (*.f64 -3/8 (*.f64 x x)) (pow.f64 (+.f64 x (*.f64 x 1/2)) 2))))) (*.f64 3/4 (/.f64 (*.f64 x x) (+.f64 x (*.f64 x 1/2)))))))
(fma.f64 y (fma.f64 1/2 (/.f64 x (*.f64 3/2 x)) (/.f64 (*.f64 3/8 (*.f64 x x)) (pow.f64 (*.f64 3/2 x) 2))) (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 (*.f64 3/2 x) 2)) (fma.f64 1/2 (/.f64 x (*.f64 3/2 x)) (/.f64 (*.f64 3/8 (*.f64 x x)) (pow.f64 (*.f64 3/2 x) 2)))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 y y) (*.f64 3/2 x)) (fma.f64 1/2 (/.f64 x (*.f64 3/2 x)) (/.f64 (*.f64 3/8 (*.f64 x x)) (pow.f64 (*.f64 3/2 x) 2)))) (/.f64 (*.f64 x x) (/.f64 (*.f64 3/2 x) 3/4)))))
(+.f64 (fma.f64 y (fma.f64 (/.f64 x (/.f64 (*.f64 9/4 (*.f64 x x)) x)) 3/8 (*.f64 1/3 (/.f64 x x))) (*.f64 1/2 (/.f64 (*.f64 x x) x))) (fma.f64 1/4 (*.f64 (fma.f64 (/.f64 x (/.f64 (*.f64 9/4 (*.f64 x x)) x)) 3/8 (*.f64 1/3 (/.f64 x x))) (/.f64 (pow.f64 y 3) (*.f64 9/4 (*.f64 x x)))) (*.f64 1/3 (/.f64 (*.f64 y (*.f64 y (fma.f64 (/.f64 x (/.f64 (*.f64 9/4 (*.f64 x x)) x)) 3/8 (*.f64 1/3 (/.f64 x x))))) x))))
(*.f64 -1 x)
(neg.f64 x)
(-.f64 (+.f64 (*.f64 -1 x) (*.f64 -3/2 (/.f64 (pow.f64 x 2) y))) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) x) y)))
(+.f64 (fma.f64 -1 x (*.f64 (/.f64 (*.f64 x x) y) -3/2)) (*.f64 -2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 y x))))
(fma.f64 -1 x (fma.f64 (/.f64 x (/.f64 y x)) -3/2 (*.f64 (/.f64 x (/.f64 y (*.f64 3/2 x))) -2)))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y) x)
(-.f64 (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 x 2) y)) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -3/2 (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2))))) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) x) y)))
(+.f64 (fma.f64 -1 x (fma.f64 -3/2 (/.f64 (*.f64 x x) y) (*.f64 2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 (*.f64 y y) (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2))))))) (*.f64 -2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 y x))))
(+.f64 (-.f64 (fma.f64 2 (*.f64 (/.f64 (fma.f64 (*.f64 x x) -3/2 (*.f64 x (*.f64 (*.f64 3/2 x) -2))) y) (/.f64 (*.f64 3/2 x) y)) (/.f64 (*.f64 (*.f64 x x) -3/2) y)) x) (*.f64 (/.f64 x (/.f64 y (*.f64 3/2 x))) -2))
(+.f64 (*.f64 (/.f64 (*.f64 3 x) y) (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y)) (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y) x))
(-.f64 (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2) (-.f64 (*.f64 -3/2 (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 3))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 x 2) y)) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 -3/2 (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2)))))) (*.f64 2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) x) y)))
(+.f64 (fma.f64 4 (/.f64 (pow.f64 (+.f64 x (*.f64 x 1/2)) 2) (/.f64 (pow.f64 y 3) (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)))) (fma.f64 -1 x (fma.f64 -3/2 (/.f64 (*.f64 x x) y) (*.f64 2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 (*.f64 y y) (+.f64 (*.f64 (*.f64 x x) -3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)))))))) (*.f64 -2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 y x))))
(+.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 (*.f64 3/2 x) 2) (pow.f64 y 3)) (fma.f64 (*.f64 x x) -3/2 (*.f64 x (*.f64 (*.f64 3/2 x) -2)))) (-.f64 (fma.f64 2 (*.f64 (/.f64 (fma.f64 (*.f64 x x) -3/2 (*.f64 x (*.f64 (*.f64 3/2 x) -2))) y) (/.f64 (*.f64 3/2 x) y)) (/.f64 (*.f64 (*.f64 x x) -3/2) y)) x)) (*.f64 (/.f64 x (/.f64 y (*.f64 3/2 x))) -2))
(fma.f64 4 (*.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) (/.f64 (*.f64 9/4 (*.f64 x x)) (pow.f64 y 3))) (+.f64 (*.f64 (/.f64 (*.f64 3 x) y) (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y)) (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x))) y)) (*.f64 -1 x))
(+.f64 (fma.f64 -1 x (*.f64 (/.f64 (*.f64 x x) y) -3/2)) (*.f64 -2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 y x))))
(fma.f64 -1 x (fma.f64 (/.f64 x (/.f64 y x)) -3/2 (*.f64 (/.f64 x (/.f64 y (*.f64 3/2 x))) -2)))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y) x)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x))) y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2))) (*.f64 -1 x)))
(fma.f64 -1 (/.f64 (-.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)) y) (fma.f64 -2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)))) (neg.f64 x)))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 3/2 x) (*.f64 y y)) (fma.f64 (*.f64 x x) 3/2 (*.f64 (*.f64 3/2 x) (*.f64 x 2)))) (neg.f64 x)) (/.f64 (fma.f64 (*.f64 x x) 3/2 (*.f64 (*.f64 3/2 x) (*.f64 x 2))) y))
(+.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y) x) (*.f64 (/.f64 (*.f64 -3 x) y) (/.f64 (*.f64 3 (*.f64 (*.f64 x x) 3/2)) y)))
(+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 (-.f64 x (*.f64 -1/2 x)) 2) (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 3))) (+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x))) y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (-.f64 x (*.f64 -1/2 x)) (-.f64 (*.f64 3/2 (pow.f64 x 2)) (*.f64 -2 (*.f64 (-.f64 x (*.f64 -1/2 x)) x)))) (pow.f64 y 2))) (*.f64 -1 x))))
(fma.f64 -4 (/.f64 (pow.f64 (+.f64 x (*.f64 x 1/2)) 2) (/.f64 (pow.f64 y 3) (-.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)))) (fma.f64 -1 (/.f64 (-.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)) y) (fma.f64 -2 (/.f64 (+.f64 x (*.f64 x 1/2)) (/.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x (+.f64 x (*.f64 x 1/2))) -2)))) (neg.f64 x))))
(fma.f64 -4 (*.f64 (/.f64 (pow.f64 (*.f64 3/2 x) 2) (pow.f64 y 3)) (fma.f64 (*.f64 x x) 3/2 (*.f64 (*.f64 3/2 x) (*.f64 x 2)))) (-.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 3/2 x) (*.f64 y y)) (fma.f64 (*.f64 x x) 3/2 (*.f64 (*.f64 3/2 x) (*.f64 x 2)))) (neg.f64 x)) (/.f64 (fma.f64 (*.f64 x x) 3/2 (*.f64 (*.f64 3/2 x) (*.f64 x 2))) y)))
(+.f64 (*.f64 (/.f64 (*.f64 -3 x) y) (/.f64 (*.f64 3 (*.f64 (*.f64 x x) 3/2)) y)) (-.f64 (fma.f64 -4 (*.f64 (*.f64 3 (*.f64 (*.f64 x x) 3/2)) (/.f64 (*.f64 9/4 (*.f64 x x)) (pow.f64 y 3))) (/.f64 (*.f64 (*.f64 (*.f64 x x) 3/2) -3) y)) x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 x y))
(*.f64 x (*.f64 y 1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(*.f64 3/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 3/4)
(*.f64 x (*.f64 x 3/4))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(*.f64 3/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 3/4)
(*.f64 x (*.f64 x 3/4))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(*.f64 3/4 (pow.f64 x 2))
(*.f64 (*.f64 x x) 3/4)
(*.f64 x (*.f64 x 3/4))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 3/4 (pow.f64 x 2)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 x y))
(*.f64 x (*.f64 y 1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 x y))
(*.f64 x (*.f64 y 1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(+.f64 (*.f64 3/4 (pow.f64 x 2)) (*.f64 1/2 (*.f64 y x)))
(fma.f64 1/2 (*.f64 x y) (*.f64 (*.f64 x x) 3/4))
(*.f64 x (fma.f64 y 1/2 (*.f64 x 3/4)))
(*.f64 1/2 y)
(*.f64 y 1/2)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(*.f64 3/4 x)
(*.f64 x 3/4)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(*.f64 3/4 x)
(*.f64 x 3/4)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(*.f64 3/4 x)
(*.f64 x 3/4)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(*.f64 1/2 y)
(*.f64 y 1/2)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(*.f64 1/2 y)
(*.f64 y 1/2)
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))
(+.f64 (*.f64 1/2 y) (*.f64 3/4 x))
(fma.f64 1/2 y (*.f64 x 3/4))
(fma.f64 x 3/4 (*.f64 y 1/2))
(fma.f64 y 1/2 (*.f64 x 3/4))

localize92.0ms (1.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y)
19.1b
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x))
30.5b
(/.f64 (*.f64 x x) x)
32.6b
(/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))
Compiler

Compiled 313 to 160 computations (48.9% saved)

series4.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x))
1.0ms
x
@inf
(*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y)
0.0ms
x
@0
(/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))
0.0ms
x
@-inf
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x))
0.0ms
x
@inf
(/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))

rewrite178.0ms (3.4%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
215×add-sqr-sqrt_binary64
215×add-sqr-sqrt_binary64
203×add-cbrt-cube_binary64
203×add-cbrt-cube_binary64
202×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02068
148468
2673468
0813
118013
2251513
0813
01826
144526
2624226
01826
02029
148429
2673029
02029
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 29
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x))
(*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x x) -3/8) (/.f64 1 (*.f64 (*.f64 x x) 9/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) (cbrt.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6))) (cbrt.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) (sqrt.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6) (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))) (cbrt.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)))) (cbrt.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))) (sqrt.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) 3) (pow.f64 (/.f64 1/6 x) 3)) (+.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (-.f64 (*.f64 (/.f64 1/6 x) (/.f64 1/6 x)) (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))) (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y) (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y)) (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x) (/.f64 1/6 x)) y)))))))

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0248
Stop Event
saturated
Counts
77 → 31
Calls
Call 1
Inputs
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Outputs
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
-1/6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

eval245.0ms (4.7%)

Compiler

Compiled 15067 to 8635 computations (42.7% saved)

prune93.0ms (1.8%)

Pruning

14 alts after pruning (10 fresh and 4 done)

PrunedKeptTotal
New4868494
Fresh325
Picked101
Done246
Total49214506
Error
0.1b
Counts
506 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
48.9b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
0.1b
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
56.7b
x
45.4b
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
29.2b
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
45.2b
(*.f64 x 1/2)
30.6b
(*.f64 1/2 (+.f64 y x))
62.2b
(-.f64 (/.f64 (*.f64 x -9/2) (/.f64 y x)) x)
49.6b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (*.f64 (*.f64 (*.f64 x x) -3/8) (/.f64 1 (*.f64 (*.f64 x x) 9/4)))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
62.5b
(neg.f64 x)
44.9b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
49.6b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
46.5b
(fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (-.f64 y x) 4)))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 1/4))) x)
48.0b
(*.f64 1/2 y)
Compiler

Compiled 595 to 376 computations (36.8% saved)

localize45.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x))
0.4b
(*.f64 1/3 y)
0.4b
(*.f64 -1/6 y)
8.2b
(/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)
Compiler

Compiled 119 to 83 computations (30.3% saved)

series13.0ms (0.3%)

Counts
4 → 24
Calls

18 calls:

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

rewrite82.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
686×log-prod_binary64
459×fma-def_binary64
322×pow2_binary64
237×pow-unpow_binary64
227×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01131
125731
2358331
Stop Event
node limit
Counts
4 → 111
Calls
Call 1
Inputs
(/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)
(*.f64 -1/6 y)
(*.f64 1/3 y)
(*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))) 2)) (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1 (/.f64 x (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (*.f64 y 1/2) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (*.f64 y (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 1/2)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) 2) (*.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) 2) (cbrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 y (*.f64 y 1/2))) (*.f64 (sqrt.f64 (*.f64 y (*.f64 y 1/2))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) (sqrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y 1/2) (neg.f64 y)) (/.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 y (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 1) (/.f64 (*.f64 y 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 1/2) 1) (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y x) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) 2) 1) (/.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 y (*.f64 y 1/2))) 1) (/.f64 (sqrt.f64 (*.f64 y (*.f64 y 1/2))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (cbrt.f64 (*.f64 x x))) (/.f64 (*.f64 y 1/2) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 1/2) (cbrt.f64 (*.f64 x x))) (/.f64 y (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 x x))) (/.f64 (*.f64 y (*.f64 y 1/2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) 2) (cbrt.f64 (*.f64 x x))) (cbrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 y (*.f64 y 1/2))) (cbrt.f64 (*.f64 x x))) (/.f64 (sqrt.f64 (*.f64 y (*.f64 y 1/2))) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (sqrt.f64 x)) (/.f64 (*.f64 y 1/2) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 1/2) (sqrt.f64 x)) (/.f64 y (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (*.f64 y (*.f64 y 1/2)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/2))) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 x (*.f64 y 1/2)) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 y (*.f64 y 1/2)) 3) (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 x (*.f64 y 1/2)) y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 y (*.f64 y 1/2)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/36 (*.f64 y y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y -1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/216 (pow.f64 y 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/36 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/6) y))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/216 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y -1/6)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (cbrt.f64 (exp.f64 y)))) (log.f64 (sqrt.f64 (cbrt.f64 (exp.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y 1/3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 3) 1/27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (cbrt.f64 (exp.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) 1/27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y 1/3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2))))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))) (log.f64 (sqrt.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 1/3) (/.f64 x (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (*.f64 1/3 (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 y 1/2) (neg.f64 y)) 1/3) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (*.f64 (*.f64 y 1/2) (neg.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/9 (pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (*.f64 1/3 (*.f64 y (*.f64 y 1/2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/9 (pow.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 y x) (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 1/3 (/.f64 (/.f64 x (*.f64 y 1/2)) y))) 1))))))

simplify118.0ms (2.3%)

Algorithm
egg-herbie
Rules
1141×associate-*l/_binary64
961×associate-*r/_binary64
676×*-commutative_binary64
370×associate-/l*_binary64
343×sqr-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010240
121240
240240
384240
4247240
5921240
62439240
73685240
83787240
93938240
104116240
114395240
124720240
137445240
147909240
Stop Event
node limit
Counts
135 → 115
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
Outputs
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/2 (/.f64 (pow.f64 y 2) x))
(*.f64 1/2 (/.f64 (*.f64 y y) x))
(*.f64 1/2 (/.f64 y (/.f64 x y)))
(/.f64 1/2 (/.f64 (/.f64 x y) y))
(*.f64 y (*.f64 1/2 (/.f64 y x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))
(*.f64 1/6 (/.f64 (pow.f64 y 2) x))
(/.f64 (*.f64 1/6 (*.f64 y y)) x)
(/.f64 (*.f64 (*.f64 y y) 1/6) x)
(/.f64 (*.f64 y (*.f64 y 1/6)) x)
(*.f64 (*.f64 y y) (/.f64 1/6 x))
(*.f64 y (/.f64 y (/.f64 x 1/6)))
(*.f64 y (*.f64 y (/.f64 1/6 x)))

localize3.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 13 computations (51.9% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite95.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
954×prod-diff_binary64
550×log-prod_binary64
306×fma-def_binary64
254×pow2_binary64
209×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify102.0ms (2%)

Algorithm
egg-herbie
Rules
617×distribute-rgt-neg-in_binary64
588×fma-def_binary64
510×distribute-lft-neg-in_binary64
397×cancel-sign-sub-inv_binary64
355×distribute-neg-frac_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
011531
123513
243513
388513
4237513
5923477
63185477
76676477
Stop Event
node limit
Counts
267 → 223
Calls
Call 1
Inputs
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
Outputs
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(*.f64 -9/2 (/.f64 (pow.f64 x 2) y))
(*.f64 -9/2 (/.f64 (*.f64 x x) y))
(*.f64 -9/2 (*.f64 (/.f64 x y) x))
(*.f64 -9/2 (*.f64 x (/.f64 x y)))
(*.f64 -9/2 (/.f64 x (/.f64 y x)))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))
(+.f64 (*.f64 -1 x) (*.f64 -9/2 (/.f64 (pow.f64 x 2) y)))
(fma.f64 -1 x (*.f64 -9/2 (/.f64 (*.f64 x x) y)))
(fma.f64 -9/2 (/.f64 (*.f64 x x) y) (neg.f64 x))
(fma.f64 -9/2 (*.f64 (/.f64 x y) x) (neg.f64 x))
(-.f64 (*.f64 -9/2 (/.f64 (*.f64 x x) y)) x)
(fma.f64 -9/2 (*.f64 x (/.f64 x y)) (neg.f64 x))
(*.f64 x (fma.f64 -9/2 (/.f64 x y) -1))

localize163.0ms (3.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y)
19.1b
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x))
30.5b
(/.f64 (*.f64 x x) x)
32.6b
(/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))
Compiler

Compiled 251 to 137 computations (45.4% saved)

series4.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite91.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
513×log-prod_binary64
319×pow2_binary64
310×fma-def_binary64
283×pow-prod-down_binary64
225×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01520
13798
239052
Stop Event
node limit
Counts
2 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x))
(*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 0)))))
((#(struct:change #<rule egg-rr> (2) ((x . 0)))))

simplify13.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize254.0ms (4.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
26.0b
(-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x)))
30.5b
(/.f64 (*.f64 x x) x)
31.0b
(/.f64 (*.f64 x x) (*.f64 x x))
32.6b
(/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))
Compiler

Compiled 595 to 301 computations (49.4% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite89.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
569×log-prod_binary64
318×fma-def_binary64
282×fma-neg_binary64
227×expm1-udef_binary64
227×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01617
14258
249448
Stop Event
node limit
Counts
2 → 174
Calls
Call 1
Inputs
(/.f64 (*.f64 x x) (*.f64 x x))
(-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/36 (pow.f64 x -2)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/36 (pow.f64 x -2)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 -1/3 x) 2) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 -1/3 x) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 -1/3 x) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 -1/3 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1/3 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (/.f64 1 (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 2) (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6)) (/.f64 1 (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 x) (/.f64 -1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)) (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (/.f64 -1/3 x) 2) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 3) (+.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (-.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6)) (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6))) (neg.f64 (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)) (neg.f64 (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6)) (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)) (-.f64 (pow.f64 (/.f64 -1/3 x) 2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1/3 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)) (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 -1/3 x) 2) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2)))) (exp.f64 (*.f64 1/36 (pow.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2)))) (exp.f64 (*.f64 1/36 (pow.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 1/36 (pow.f64 x -2))) (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2)))) (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2)))) (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 1/36 (pow.f64 x -2))) (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2)))) (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2)))) (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2)))) (exp.f64 (*.f64 1/36 (pow.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2)))) (exp.f64 (*.f64 1/36 (pow.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 1/36 (pow.f64 x -2))) (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2)))) (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2)))) (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 1/36 (pow.f64 x -2))) (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/36 (pow.f64 x -2)))) (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2)))) (/.f64 1 (exp.f64 (*.f64 1/36 (pow.f64 x -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 -1/3 x) 2))) (exp.f64 (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (pow.f64 (/.f64 -1/3 x) 2)) (+.f64 1 (expm1.f64 (pow.f64 (/.f64 -1/3 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 -1/3 x) 2))) (+.f64 1 (expm1.f64 (pow.f64 (/.f64 -1/3 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 1/36 (pow.f64 x -2)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (pow.f64 (/.f64 -1/3 x) 2) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (/.f64 -1/3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 -1/3 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (/.f64 -1/12 (*.f64 x x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (/.f64 -1/12 (*.f64 x x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (/.f64 -1/12 (*.f64 x x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) (/.f64 1/18 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) (/.f64 1/18 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) (/.f64 1/18 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/6 x) (/.f64 -1/6 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/6 x) (/.f64 -1/6 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/6 x) (/.f64 -1/6 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (/.f64 (/.f64 -1/6 x) x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (/.f64 (/.f64 -1/6 x) x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (/.f64 (/.f64 -1/6 x) x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 (/.f64 1 x) (/.f64 -1/6 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 (/.f64 1 x) (/.f64 -1/6 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 (/.f64 1 x) (/.f64 -1/6 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/36 (pow.f64 x -2)) 1 (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/36 (pow.f64 x -2)) 1 (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/36 (pow.f64 x -2)) 1 (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 -1/3 x) 2) 1 (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 -1/3 x) 2) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/36 (pow.f64 x -2)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/36 (pow.f64 x -2)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/36 (pow.f64 x -2)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (/.f64 -1/3 x) 2) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (/.f64 -1/3 x) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/9 (/.f64 1/4 (*.f64 x x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/9 (/.f64 1/4 (*.f64 x x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/9 (/.f64 1/4 (*.f64 x x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (/.f64 1 (pow.f64 (/.f64 -1/3 x) 2)) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2) (/.f64 1 (pow.f64 (/.f64 -1/3 x) 2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (pow.f64 x -2) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (pow.f64 x -2) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (pow.f64 x -2) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (*.f64 (/.f64 1 x) (/.f64 1 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (*.f64 (/.f64 1 x) (/.f64 1 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (*.f64 (/.f64 1 x) (/.f64 1 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (pow.f64 (/.f64 1 x) 2) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (pow.f64 (/.f64 1 x) 2) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/36 (pow.f64 (/.f64 1 x) 2) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (*.f64 x x)) 1/9 (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (*.f64 x x)) 1/9 (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (*.f64 x x)) 1/9 (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (*.f64 (cbrt.f64 (/.f64 -1/6 x)) (/.f64 -1/6 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (*.f64 (cbrt.f64 (/.f64 -1/6 x)) (/.f64 -1/6 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (*.f64 (cbrt.f64 (/.f64 -1/6 x)) (/.f64 -1/6 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 2) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 2) (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) 2) (cbrt.f64 (pow.f64 (/.f64 -1/3 x) 2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 -1/6 x)) (*.f64 (sqrt.f64 (/.f64 -1/6 x)) (/.f64 -1/6 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 -1/6 x)) (*.f64 (sqrt.f64 (/.f64 -1/6 x)) (/.f64 -1/6 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 -1/6 x)) (*.f64 (sqrt.f64 (/.f64 -1/6 x)) (/.f64 -1/6 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6)) (/.f64 1 (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2))) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (/.f64 -1/6 x) 6) (pow.f64 (/.f64 -1/6 x) 6)) (/.f64 1 (+.f64 (/.f64 1/1296 (pow.f64 x 4)) (pow.f64 (pow.f64 (/.f64 -1/3 x) 2) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/3 x) (/.f64 -1/3 x) (pow.f64 (/.f64 -1/3 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/3 x) (/.f64 -1/3 x) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4))) (*.f64 1/36 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/36 (pow.f64 x -2)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/36 (pow.f64 x -2)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/36 (pow.f64 x -2)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/36 x) (/.f64 1 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/36 x) (/.f64 1 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/36 x) (/.f64 1 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/12 (*.f64 x x)) -1/3 (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/12 (*.f64 x x)) -1/3 (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/12 (*.f64 x x)) -1/3 (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/18 x) (/.f64 1/2 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/18 x) (/.f64 1/2 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/18 x) (/.f64 1/2 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 (/.f64 -1/6 x)) 3) (sqrt.f64 (/.f64 -1/6 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 (/.f64 -1/6 x)) 3) (sqrt.f64 (/.f64 -1/6 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 (/.f64 -1/6 x)) 3) (sqrt.f64 (/.f64 -1/6 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/6 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (/.f64 -1/6 x) (cbrt.f64 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/6 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (/.f64 -1/6 x) (cbrt.f64 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/6 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (/.f64 -1/6 x) (cbrt.f64 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/6 (sqrt.f64 x)) (/.f64 (/.f64 -1/6 x) (sqrt.f64 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/6 (sqrt.f64 x)) (/.f64 (/.f64 -1/6 x) (sqrt.f64 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/6 (sqrt.f64 x)) (/.f64 (/.f64 -1/6 x) (sqrt.f64 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) (sqrt.f64 x)) (/.f64 1/6 (sqrt.f64 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) (sqrt.f64 x)) (/.f64 1/6 (sqrt.f64 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) (sqrt.f64 x)) (/.f64 1/6 (sqrt.f64 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) 1) (/.f64 -1/6 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) 1) (/.f64 -1/6 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) 1) (/.f64 -1/6 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) (pow.f64 (cbrt.f64 x) 2)) (/.f64 1/6 (cbrt.f64 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) (pow.f64 (cbrt.f64 x) 2)) (/.f64 1/6 (cbrt.f64 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 -1/6 x) (pow.f64 (cbrt.f64 x) 2)) (/.f64 1/6 (cbrt.f64 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4)))) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4)))) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (/.f64 1/1296 (pow.f64 x 4)))) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2))) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) 1/2) (/.f64 1 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) 1/2) (/.f64 1 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) 1/2) (/.f64 1 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) 1) (/.f64 1/2 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) 1) (/.f64 1/2 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) 1) (/.f64 1/2 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1/6 x) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 -1/6 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1/6 x) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 -1/6 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 -1/6 x) (cbrt.f64 (*.f64 1/36 (pow.f64 x -2)))) (cbrt.f64 (/.f64 -1/6 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/9 (/.f64 1/2 x)) (/.f64 1/2 x) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/9 (/.f64 1/2 x)) (/.f64 1/2 x) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/9 (/.f64 1/2 x)) (/.f64 1/2 x) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) (pow.f64 (cbrt.f64 (/.f64 1/2 x)) 2)) (cbrt.f64 (/.f64 1/2 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) (pow.f64 (cbrt.f64 (/.f64 1/2 x)) 2)) (cbrt.f64 (/.f64 1/2 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) (pow.f64 (cbrt.f64 (/.f64 1/2 x)) 2)) (cbrt.f64 (/.f64 1/2 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) (sqrt.f64 (/.f64 1/2 x))) (sqrt.f64 (/.f64 1/2 x)) (*.f64 1/36 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) (sqrt.f64 (/.f64 1/2 x))) (sqrt.f64 (/.f64 1/2 x)) (fma.f64 1/36 (pow.f64 x -2) (pow.f64 (/.f64 -1/3 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/18 x) (sqrt.f64 (/.f64 1/2 x))) (sqrt.f64 (/.f64 1/2 x)) (neg.f64 (-.f64 (*.f64 1/36 (pow.f64 x -2)) (pow.f64 (/.f64 -1/3 x) 2))))))))

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0224
1424
Stop Event
saturated
Counts
198 → 175
Calls
Call 1
Inputs
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
Outputs
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

eval478.0ms (9.2%)

Compiler

Compiled 30839 to 17993 computations (41.7% saved)

prune122.0ms (2.4%)

Pruning

20 alts after pruning (13 fresh and 7 done)

PrunedKeptTotal
New7008708
Fresh055
Picked101
Done178
Total70220722
Error
0.1b
Counts
722 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
56.7b
x
45.4b
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
44.9b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (neg.f64 (/.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
44.9b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
29.2b
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
45.2b
(*.f64 x 1/2)
30.6b
(*.f64 1/2 (+.f64 y x))
62.2b
(-.f64 (/.f64 (*.f64 x -9/2) (/.f64 y x)) x)
49.6b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
44.3b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
44.9b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) x) (*.f64 1/3 y))) (*.f64 -1/6 y))
49.6b
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (*.f64 (*.f64 (*.f64 x x) -3/8) (/.f64 1 (*.f64 (*.f64 x x) 9/4)))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
62.5b
(neg.f64 x)
48.0b
(*.f64 1/2 y)
45.4b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 y 1/3) (/.f64 x (*.f64 y 1/2))) (*.f64 1/3 y))) (*.f64 -1/6 y))
0.1b
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
45.4b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (*.f64 (*.f64 y 1/2) (*.f64 y (/.f64 1 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
45.4b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y (*.f64 y (/.f64 1/6 x))) (*.f64 1/3 y))) (*.f64 -1/6 y))
46.5b
(fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (-.f64 y x) 4)))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 1/4))) x)
44.9b
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 1 (/.f64 x (*.f64 1/3 (*.f64 y (*.f64 y 1/2))))) (*.f64 1/3 y))) (*.f64 -1/6 y))
Compiler

Compiled 436 to 298 computations (31.7% saved)

regimes68.0ms (1.3%)

Counts
30 → 1
Calls
Call 1
Inputs
x
(neg.f64 x)
(*.f64 x 1/2)
(*.f64 x 1/2)
(*.f64 1/2 y)
(*.f64 1/2 (+.f64 y x))
(*.f64 1/2 (/.f64 (*.f64 x x) x))
(-.f64 (/.f64 (*.f64 x -9/2) (/.f64 y x)) x)
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
(/.f64 (*.f64 x (*.f64 x 3/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 x (*.f64 x 1/4))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(/.f64 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y (*.f64 y (/.f64 1/6 x))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) x) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 y 1/3) (/.f64 x (*.f64 y 1/2))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (neg.f64 (/.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (*.f64 (*.f64 y 1/2) (*.f64 y (/.f64 1 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 1 (/.f64 x (*.f64 1/3 (*.f64 y (*.f64 y 1/2))))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (*.f64 (*.f64 (*.f64 x x) -3/8) (/.f64 1 (*.f64 (*.f64 x x) 9/4)))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
(fma.f64 (-.f64 y x) 1/2 x)
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (pow.f64 (-.f64 y x) 2) 1/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (-.f64 y x) 4)))) (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 2) 1/4))) x)
Outputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
Calls

3 calls:

18.0ms
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
17.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
Compiler

Compiled 685 to 398 computations (41.9% saved)

regimes95.0ms (1.8%)

Counts
27 → 4
Calls
Call 1
Inputs
x
(neg.f64 x)
(*.f64 x 1/2)
(*.f64 x 1/2)
(*.f64 1/2 y)
(*.f64 1/2 (+.f64 y x))
(*.f64 1/2 (/.f64 (*.f64 x x) x))
(-.f64 (/.f64 (*.f64 x -9/2) (/.f64 y x)) x)
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
(/.f64 (*.f64 x (*.f64 x 3/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 x (*.f64 x 1/4))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(/.f64 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y (*.f64 y (/.f64 1/6 x))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) x) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 y 1/3) (/.f64 x (*.f64 y 1/2))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (neg.f64 (/.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (*.f64 (*.f64 y 1/2) (*.f64 y (/.f64 1 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 1 (/.f64 x (*.f64 1/3 (*.f64 y (*.f64 y 1/2))))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (*.f64 (*.f64 (*.f64 x x) -3/8) (/.f64 1 (*.f64 (*.f64 x x) 9/4)))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
(fma.f64 (-.f64 y x) 1/2 x)
Outputs
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
(*.f64 x 1/2)
(*.f64 1/2 (fabs.f64 (-.f64 y x)))
(*.f64 1/2 (+.f64 y x))
Calls

2 calls:

52.0ms
y
27.0ms
x
Results
ErrorSegmentsBranch
17.9b2x
17.1b4y
Compiler

Compiled 628 to 366 computations (41.7% saved)

bsearch60.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
-3.735633306313992e-223
-1.6480587708485636e-223
20.0ms
-5.745546530603745e-28
-4.912138894048362e-29
19.0ms
-9.871622400645874e-9
-3.6657820437337247e-13
Compiler

Compiled 15 to 11 computations (26.7% saved)

regimes41.0ms (0.8%)

Counts
25 → 1
Calls
Call 1
Inputs
x
(neg.f64 x)
(*.f64 x 1/2)
(*.f64 x 1/2)
(*.f64 1/2 y)
(*.f64 1/2 (+.f64 y x))
(*.f64 1/2 (/.f64 (*.f64 x x) x))
(-.f64 (/.f64 (*.f64 x -9/2) (/.f64 y x)) x)
(+.f64 (*.f64 1/2 (+.f64 x y)) (*.f64 (/.f64 y x) (*.f64 y 1/6)))
(/.f64 (*.f64 x (*.f64 x 3/4)) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 x (*.f64 x 1/4))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(/.f64 (*.f64 x (+.f64 (*.f64 3/4 x) (*.f64 1/2 y))) (-.f64 x (*.f64 (-.f64 y x) 1/2)))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 y (*.f64 y (/.f64 1/6 x))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 1/3 (*.f64 y (*.f64 y 1/2))) x) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 (*.f64 y 1/3) (/.f64 x (*.f64 y 1/2))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (neg.f64 (/.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (*.f64 (*.f64 y 1/2) (*.f64 y (/.f64 1 x)))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (/.f64 1 (/.f64 x (*.f64 1/3 (*.f64 y (*.f64 y 1/2))))) (*.f64 1/3 y))) (*.f64 -1/6 y))
(-.f64 (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 1/3 (/.f64 (*.f64 y (-.f64 (*.f64 1/3 y) (*.f64 -1/6 y))) x)) (*.f64 1/3 y))) (*.f64 -1/6 y))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (*.f64 (*.f64 (*.f64 x x) -3/8) (/.f64 1 (*.f64 (*.f64 x x) 9/4)))) x)) (/.f64 1/6 x)) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) -1/6) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
(+.f64 (*.f64 y (-.f64 (-.f64 (*.f64 1/3 (/.f64 x x)) (/.f64 (*.f64 (*.f64 x x) -3/8) (*.f64 (*.f64 x x) 9/4))) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x))) (*.f64 (/.f64 1/6 x) (/.f64 1/6 x))) (-.f64 (*.f64 -1/3 (/.f64 (-.f64 1/3 (*.f64 (/.f64 (*.f64 x x) (*.f64 x x)) -1/6)) x)) (/.f64 1/6 x))) y))) (*.f64 1/2 (/.f64 (*.f64 x x) x)))
Outputs
(*.f64 1/2 (+.f64 y x))
Calls

2 calls:

14.0ms
x
13.0ms
y
Results
ErrorSegmentsBranch
30.6b1x
30.6b1y
Compiler

Compiled 616 to 361 computations (41.4% saved)

regimes31.0ms (0.6%)

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

2 calls:

15.0ms
y
15.0ms
x
Results
ErrorSegmentsBranch
37.3b3x
36.9b2y
Compiler

Compiled 20 to 13 computations (35% saved)

bsearch20.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
1.7539199192809811e-23
2.6382444509052362e-23
Compiler

Compiled 15 to 11 computations (26.7% saved)

regimes10.0ms (0.2%)

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

2 calls:

5.0ms
y
4.0ms
x
Results
ErrorSegmentsBranch
45.2b1x
45.2b1y
Compiler

Compiled 17 to 11 computations (35.3% saved)

regimes9.0ms (0.2%)

Accuracy

Total -6.2b remaining (-11%)

Threshold costs -6.2b (-11%)

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

2 calls:

4.0ms
x
3.0ms
y
Results
ErrorSegmentsBranch
56.7b1x
56.7b1y
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02785
13785
24485
34985
45285
55385
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
(if (<=.f64 y -5967029600813473/604462909807314587353088) (*.f64 1/2 (fabs.f64 (-.f64 y x))) (if (<=.f64 y -6406498460264787/11150372599265311570767859136324180752990208) (*.f64 x 1/2) (if (<=.f64 y -2490925680244838912/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (fabs.f64 (-.f64 y x))) (*.f64 1/2 (+.f64 y x)))))
(*.f64 1/2 (+.f64 y x))
(if (<=.f64 y 5968280215227136/340282366920938463463374607431768211456) (*.f64 x 1/2) (*.f64 1/2 y))
(*.f64 x 1/2)
x
Outputs
(+.f64 x (/.f64 (fabs.f64 (-.f64 y x)) 2))
(if (<=.f64 y -5967029600813473/604462909807314587353088) (*.f64 1/2 (fabs.f64 (-.f64 y x))) (if (<=.f64 y -6406498460264787/11150372599265311570767859136324180752990208) (*.f64 x 1/2) (if (<=.f64 y -2490925680244838912/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (fabs.f64 (-.f64 y x))) (*.f64 1/2 (+.f64 y x)))))
(if (<=.f64 y -5967029600813473/604462909807314587353088) (*.f64 (fabs.f64 (-.f64 y x)) 1/2) (if (<=.f64 y -6406498460264787/11150372599265311570767859136324180752990208) (*.f64 x 1/2) (if (<=.f64 y -4865089219228201/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 (fabs.f64 (-.f64 y x)) 1/2) (*.f64 1/2 (+.f64 x y)))))
(*.f64 1/2 (+.f64 y x))
(*.f64 1/2 (+.f64 x y))
(if (<=.f64 y 5968280215227136/340282366920938463463374607431768211456) (*.f64 x 1/2) (*.f64 1/2 y))
(if (<=.f64 y 23313594590731/1329227995784915872903807060280344576) (*.f64 x 1/2) (*.f64 y 1/2))
(*.f64 x 1/2)
x
Compiler

Compiled 71 to 49 computations (31% saved)

soundness0.0ms (0%)

end79.0ms (1.5%)

Compiler

Compiled 61 to 36 computations (41% saved)

Profiling

Loading profile data...