Details

Time bar (total: 7.1s)

analyze272.0ms (3.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%48.6%51.4%0
0%48.6%51.4%1
24.3%24.3%51.4%2
24.3%24.3%51.4%3
30.4%18.2%51.4%4
30.4%18.2%51.4%5
33.4%15.2%51.4%6
33.4%15.2%51.4%7
34.6%14.1%51.4%8
34.8%13.9%51.4%9
35.4%13.2%51.4%10
35.6%13.1%51.4%11
35.9%12.7%51.4%12
Compiler

Compiled 28 to 20 computations (28.6% saved)

sample2.0s (27.9%)

Results
992.0ms6359×body256valid
434.0ms781×body2048valid
252.0ms532×body1024valid
217.0ms297×body4096valid
77.0ms287×body512valid

preprocess20.0ms (0.3%)

Algorithm
egg-herbie
Rules
18×fma-def_binary64
12×*-commutative_binary64
+-commutative_binary64
associate-/l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02448
15048
27044
38444
48844
59244
69444
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 p (sqrt.f64 (+.f64 (*.f64 (*.f64 4 x) x) (*.f64 p p)))))))
Outputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x)))))))
(sqrt.f64 (+.f64 1/2 (/.f64 (*.f64 x 1/2) (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p)))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 p (*.f64 4 p))))) 1/2))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 p (sqrt.f64 (+.f64 (*.f64 (*.f64 4 x) x) (*.f64 p p)))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 p (sqrt.f64 (fma.f64 (*.f64 x 4) x (*.f64 p p)))) 1/2)))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 p (sqrt.f64 (fma.f64 4 (*.f64 x x) (*.f64 p p)))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 p (sqrt.f64 (fma.f64 4 (*.f64 x x) (*.f64 p p)))) 1/2))
Compiler

Compiled 21 to 16 computations (23.8% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
associate-/l*_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13124
24122
34822
45022
55222
65322
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
Outputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x)))) 1/2)))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))

eval1.0ms (0%)

Compiler

Compiled 34 to 24 computations (29.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
11.5b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
11.5b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

localize33.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
0.0b
(+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))
0.6b
(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
13.6b
(sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))
Compiler

Compiled 96 to 55 computations (42.7% saved)

series19.0ms (0.3%)

Counts
4 → 96
Calls

24 calls:

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

rewrite96.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
604×log-prod_binary64
461×fma-def_binary64
406×pow-prod-down_binary64
322×pow2_binary64
226×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01259
126040
2348740
Stop Event
node limit
Counts
4 → 194
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))
(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
(+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 x (*.f64 2 p)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 x (*.f64 2 p)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 x (*.f64 2 p))))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 x (*.f64 2 p)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 x (*.f64 2 p)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2) (cbrt.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 x (*.f64 2 p))) (sqrt.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (hypot.f64 x (*.f64 2 p)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (*.f64 4 (pow.f64 (*.f64 p x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4))) (sqrt.f64 (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 x (*.f64 2 p)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 x (*.f64 2 p))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (hypot.f64 x (*.f64 2 p)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 x (*.f64 2 p))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 2 p) x)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 x (*.f64 2 p)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 x (*.f64 2 p))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) (/.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2) (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 2) (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) (sqrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3)) (/.f64 1 (fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2)) (/.f64 1 (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1) 1) (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) (-.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3)) (fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3)) (+.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2) (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2)) (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3))) (neg.f64 (fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2))) (neg.f64 (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2) 1) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1) 1) (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) (-.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (/.f64 1 (hypot.f64 x (*.f64 2 p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) (pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2) (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) (sqrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) (/.f64 1 (neg.f64 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (hypot.f64 x (*.f64 2 p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (hypot.f64 x (*.f64 2 p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) -2) (/.f64 x (cbrt.f64 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2)) (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) -1/2) (/.f64 x (sqrt.f64 (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (hypot.f64 x (*.f64 2 p)))) (/.f64 (cbrt.f64 x) (sqrt.f64 (hypot.f64 x (*.f64 2 p)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 2 p) 4) (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 x (*.f64 2 p)) (hypot.f64 x (*.f64 2 p)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 4) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 x (*.f64 2 p))) (pow.f64 (sqrt.f64 (hypot.f64 x (*.f64 2 p))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (*.f64 4 (pow.f64 (*.f64 p x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (/.f64 1 (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (hypot.f64 x (*.f64 2 p))) 3) (sqrt.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 x (*.f64 2 p)) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2)) (cbrt.f64 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (*.f64 4 (pow.f64 (*.f64 p x) 2))) (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x)) (-.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6)) (-.f64 (+.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (*.f64 4 (pow.f64 (*.f64 p x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (-.f64 (pow.f64 (*.f64 2 p) 4) (*.f64 4 (pow.f64 (*.f64 p x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (*.f64 4 (pow.f64 (*.f64 p x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4))) (neg.f64 (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 p) 4)) (-.f64 (*.f64 x x) (*.f64 4 (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 x (*.f64 2 p)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 3) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 x (*.f64 2 p))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4)) (*.f64 4 (pow.f64 (*.f64 p x) 2))) (fma.f64 64 (pow.f64 p 6) (pow.f64 x 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 4 (*.f64 p p)) (*.f64 x x)) (-.f64 (pow.f64 (*.f64 2 p) 4) (pow.f64 x 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 4 (*.f64 p p)))) (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 4) (*.f64 p p)) (+.f64 1 (expm1.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 4 (*.f64 p p)))) (+.f64 1 (expm1.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x x))) (pow.f64 (exp.f64 4) (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) x) (+.f64 1 (expm1.f64 (*.f64 4 (*.f64 p p))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x x))) (+.f64 1 (expm1.f64 (*.f64 4 (*.f64 p p))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 x (*.f64 2 p)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 4 (*.f64 p p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 p (*.f64 4 p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 4 p) p (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 4 (*.f64 p p)) 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 4 (*.f64 p p)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 p p) 4 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (*.f64 p p))) (cbrt.f64 (pow.f64 (*.f64 2 p) 4)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 2 p) 4)) (cbrt.f64 (*.f64 4 (*.f64 p p))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 p) 2) (*.f64 (cbrt.f64 p) (*.f64 4 p)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 4 p)) 2) (*.f64 (cbrt.f64 (*.f64 4 p)) p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 p) (*.f64 2 p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 x (sqrt.f64 x)) (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 p) (*.f64 (sqrt.f64 p) (*.f64 4 p)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 p)) (*.f64 (*.f64 2 (sqrt.f64 p)) p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) (*.f64 4 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 p (pow.f64 (cbrt.f64 (*.f64 4 p)) 2)) (cbrt.f64 (*.f64 4 p)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 p (*.f64 2 (sqrt.f64 p))) (*.f64 2 (sqrt.f64 p)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 4 p) (pow.f64 (cbrt.f64 p) 2)) (cbrt.f64 p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 4 p) (sqrt.f64 p)) (sqrt.f64 p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 4 (*.f64 p p)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 x (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) (pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2) (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) (sqrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (hypot.f64 x (*.f64 2 p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) -2) (/.f64 x (cbrt.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2)) (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 2 p))) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 x (*.f64 2 p)) -1/2) (/.f64 x (sqrt.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (hypot.f64 x (*.f64 2 p)))) (/.f64 (cbrt.f64 x) (sqrt.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 x (*.f64 2 p)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 x (*.f64 2 p)) x) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p)))) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) 2) (cbrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) (sqrt.f64 (+.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 3)) (/.f64 1 (fma.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) (-.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (/.f64 x (hypot.f64 x (*.f64 2 p))) 2)) (/.f64 1 (-.f64 1 (/.f64 x (hypot.f64 x (*.f64 2 p))))) -1)))))

simplify74.0ms (1%)

Algorithm
egg-herbie
Rules
831×associate-*l*_binary64
816×associate-*r*_binary64
490×times-frac_binary64
430×associate-/r*_binary64
384×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02122521
16412423
221402237
Stop Event
node limit
Counts
290 → 301
Calls
Call 1
Inputs
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(*.f64 -2 p)
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 -2 p))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p)))
(+.f64 (*.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p))))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(*.f64 -1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x)))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 (pow.f64 x 5) p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4)))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 p 2) (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))))) (+.f64 (*.f64 -256 (pow.f64 p 8)) (pow.f64 (*.f64 -1/2 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2))) 2))) (pow.f64 x 8))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2))) (*.f64 64 (/.f64 1 (pow.f64 x 8)))) (*.f64 (pow.f64 x 2) (pow.f64 p 6)))) (+.f64 2 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
1
(+.f64 (*.f64 -1/2 (/.f64 x p)) 1)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5)))))
(pow.f64 x 2)
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(*.f64 4 (pow.f64 p 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(*.f64 4 (pow.f64 p 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(*.f64 4 (pow.f64 p 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(*.f64 1/2 (/.f64 x p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 (pow.f64 x 5) p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 p 8))) (*.f64 -1/8 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (pow.f64 p 2)))) (*.f64 p (pow.f64 x 7)))) (+.f64 (*.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 (pow.f64 x 5) p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))))) 1)
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2))) (*.f64 64 (/.f64 1 (pow.f64 x 8)))) (*.f64 (pow.f64 x 2) (pow.f64 p 6)))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))))
(*.f64 1/2 (/.f64 x p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5)))))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5))) (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) (pow.f64 x 2))) (*.f64 1/256 (pow.f64 x 6))) x) (pow.f64 p 7))))))
(*.f64 -1/2 (/.f64 x p))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5))))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) (pow.f64 x 2))) (*.f64 1/256 (pow.f64 x 6))) x) (pow.f64 p 7)) (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5)))))
Outputs
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(fma.f64 2 (/.f64 (*.f64 p p) x) x)
(fma.f64 2 (/.f64 p (/.f64 x p)) x)
(fma.f64 2 (*.f64 (/.f64 p x) p) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 p (/.f64 x p)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (*.f64 (/.f64 p x) p) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) x) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 p (/.f64 x p)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (*.f64 (/.f64 p x) p) x)))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 2 p))
(fma.f64 2 p (/.f64 (*.f64 1/4 (*.f64 x x)) p))
(fma.f64 2 p (/.f64 1/4 (/.f64 p (*.f64 x x))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 2 p (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 3) -1/64))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 2 p (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 3) -1/64)))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p))))
(*.f64 -2 p)
(*.f64 p -2)
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 -2 p))
(fma.f64 -1/4 (/.f64 (*.f64 x x) p) (*.f64 p -2))
(fma.f64 p -2 (*.f64 (/.f64 x (/.f64 p x)) -1/4))
(fma.f64 p -2 (/.f64 (*.f64 x x) (/.f64 p -1/4)))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p)))
(fma.f64 -1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p -2)))
(fma.f64 (/.f64 x (/.f64 p x)) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64)))
(fma.f64 (*.f64 (/.f64 x p) x) -1/4 (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64 (*.f64 p -2)))
(+.f64 (*.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p))))
(fma.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p -2))))
(fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) -1/512 (fma.f64 (/.f64 x (/.f64 p x)) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64))))
(fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) -1/512 (fma.f64 (*.f64 (/.f64 x p) x) -1/4 (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64 (*.f64 p -2))))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 2 p))
(fma.f64 2 p (/.f64 (*.f64 1/4 (*.f64 x x)) p))
(fma.f64 2 p (/.f64 1/4 (/.f64 p (*.f64 x x))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 2 p (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 3) -1/64))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 2 p (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 3) -1/64)))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 2 p))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(fma.f64 2 (/.f64 (*.f64 p p) x) x)
(fma.f64 2 (/.f64 p (/.f64 x p)) x)
(fma.f64 2 (*.f64 (/.f64 p x) p) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 p (/.f64 x p)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (*.f64 (/.f64 p x) p) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) x) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 p (/.f64 x p)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (*.f64 (/.f64 p x) p) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))
(fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x))
(-.f64 (/.f64 (*.f64 p p) (/.f64 x -2)) x)
(-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x)))
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x)))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (/.f64 (*.f64 p p) (/.f64 x -2))) x)
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x))))
(fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) -4 (-.f64 (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (/.f64 (*.f64 p p) (/.f64 x -2))) x))
(fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) -4 (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(fma.f64 1/2 (/.f64 x p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3)))
(+.f64 1 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (*.f64 x 1/2) p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 (pow.f64 x 5) p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (fma.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p (pow.f64 x 5)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p (pow.f64 x 5)))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 p (*.f64 (pow.f64 x 5) (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2)
(fma.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p) 2)
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4)))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (/.f64 (pow.f64 x 4) -1/2)))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p) 2) (*.f64 (/.f64 -1/2 (pow.f64 x 4)) (*.f64 (pow.f64 p 4) -12)))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -1/2 (+.f64 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (/.f64 (fma.f64 64 (pow.f64 p 6) (*.f64 2 (*.f64 (*.f64 p p) (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2))))) (pow.f64 x 6))))))
(+.f64 2 (fma.f64 -1/2 (+.f64 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) (/.f64 (fma.f64 2 (*.f64 (*.f64 p p) (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6))) (/.f64 (*.f64 p p) (/.f64 (*.f64 x x) -2))))
(+.f64 2 (fma.f64 -1/2 (+.f64 (/.f64 (*.f64 (pow.f64 p 4) -12) (pow.f64 x 4)) (/.f64 (fma.f64 2 (*.f64 p (*.f64 p (*.f64 (pow.f64 p 4) -12))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6))) (*.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(/.f64 (/.f64 (*.f64 2 (*.f64 p p)) x) x)
(*.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(fma.f64 1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 1/2 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) (/.f64 (/.f64 (*.f64 2 (*.f64 p p)) x) x))
(fma.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p) (*.f64 (/.f64 1/2 (pow.f64 x 4)) (*.f64 (pow.f64 p 4) -12)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(fma.f64 1/2 (/.f64 (fma.f64 64 (pow.f64 p 6) (*.f64 2 (*.f64 (*.f64 p p) (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2))))) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 (*.f64 p p) (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) (/.f64 (/.f64 (*.f64 2 (*.f64 p p)) x) x)))
(fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 p (*.f64 p (*.f64 (pow.f64 p 4) -12))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p) (*.f64 (/.f64 1/2 (pow.f64 x 4)) (*.f64 (pow.f64 p 4) -12))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 p 2) (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))))) (+.f64 (*.f64 -256 (pow.f64 p 8)) (pow.f64 (*.f64 -1/2 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2))) 2))) (pow.f64 x 8))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))))
(fma.f64 1/2 (/.f64 (fma.f64 64 (pow.f64 p 6) (*.f64 2 (*.f64 (*.f64 p p) (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2))))) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 (*.f64 p p) (fma.f64 64 (pow.f64 p 6) (*.f64 2 (*.f64 (*.f64 p p) (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)))))) (fma.f64 -256 (pow.f64 p 8) (pow.f64 (*.f64 -1/2 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2))) 2))) (pow.f64 x 8)) (*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x))))))
(fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 (*.f64 p p) (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) (fma.f64 1/2 (/.f64 (fma.f64 2 (+.f64 (*.f64 64 (pow.f64 p 8)) (*.f64 (*.f64 2 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) (pow.f64 p 4))) (fma.f64 -256 (pow.f64 p 8) (pow.f64 (*.f64 -1/2 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) 2))) (pow.f64 x 8)) (/.f64 (/.f64 (*.f64 2 (*.f64 p p)) x) x))))
(fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 p (*.f64 p (*.f64 (pow.f64 p 4) -12))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 p 4) -12) (pow.f64 x 4)) (fma.f64 1/2 (/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 p 8) 128) (*.f64 4 (*.f64 (pow.f64 p 4) (*.f64 (pow.f64 p 4) -12)))) (fma.f64 -256 (pow.f64 p 8) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 p 4) -12)) 2))) (pow.f64 x 8)) (*.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p)))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2)
(fma.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p) 2)
(+.f64 2 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(+.f64 2 (fma.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (*.f64 x x) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(+.f64 2 (fma.f64 1/2 (*.f64 (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (*.f64 (*.f64 x x) (pow.f64 p 4))) (/.f64 (*.f64 p p) (/.f64 (*.f64 x x) -2))))
(+.f64 2 (fma.f64 1/2 (*.f64 (*.f64 x x) (*.f64 (pow.f64 p 4) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2))) (*.f64 64 (/.f64 1 (pow.f64 x 8)))) (*.f64 (pow.f64 x 2) (pow.f64 p 6)))) (+.f64 2 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))))
(fma.f64 -1/2 (*.f64 (fma.f64 -2 (/.f64 (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (*.f64 x x)) (/.f64 64 (pow.f64 x 8))) (*.f64 (pow.f64 p 6) (*.f64 x x))) (+.f64 2 (fma.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (*.f64 x x) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))))
(fma.f64 -1/2 (*.f64 (fma.f64 -2 (-.f64 (/.f64 16 (pow.f64 x 8)) (/.f64 (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2) (*.f64 x x))) (/.f64 64 (pow.f64 x 8))) (*.f64 x (*.f64 x (pow.f64 p 6)))) (+.f64 2 (fma.f64 1/2 (*.f64 (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (*.f64 (*.f64 x x) (pow.f64 p 4))) (/.f64 (*.f64 p p) (/.f64 (*.f64 x x) -2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 x x) (*.f64 (pow.f64 p 4) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p))) (fma.f64 (+.f64 (*.f64 1 (-.f64 (/.f64 16 (pow.f64 x 8)) (*.f64 (/.f64 -2 (pow.f64 x 4)) (/.f64 -2 (pow.f64 x 4))))) (/.f64 -32 (pow.f64 x 8))) (*.f64 x (*.f64 x (pow.f64 p 6))) 2))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(fma.f64 1/2 (/.f64 x p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3)))
(+.f64 1 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (*.f64 x 1/2) p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (neg.f64 (/.f64 (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2)) (/.f64 (pow.f64 p 5) x))))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (-.f64 (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3)) (/.f64 x (/.f64 (pow.f64 p 5) (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256))))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (-.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) x)))
1
(+.f64 (*.f64 -1/2 (/.f64 x p)) 1)
(fma.f64 -1/2 (/.f64 x p) 1)
(fma.f64 (/.f64 x p) -1/2 1)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 x p) 1) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))
(fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 1))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5)))))
(+.f64 (fma.f64 -1/2 (/.f64 x p) 1) (fma.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2)) (/.f64 (pow.f64 p 5) x))))
(+.f64 (fma.f64 (/.f64 x p) -1/2 1) (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (/.f64 x (/.f64 (pow.f64 p 5) (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256))))))
(+.f64 1 (fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) x))))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(*.f64 4 (pow.f64 p 2))
(*.f64 (*.f64 p p) 4)
(*.f64 p (*.f64 p 4))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(*.f64 4 (pow.f64 p 2))
(*.f64 (*.f64 p p) 4)
(*.f64 p (*.f64 p 4))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(*.f64 4 (pow.f64 p 2))
(*.f64 (*.f64 p p) 4)
(*.f64 p (*.f64 p 4))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(+.f64 (*.f64 4 (pow.f64 p 2)) (pow.f64 x 2))
(fma.f64 4 (*.f64 p p) (*.f64 x x))
(fma.f64 x x (*.f64 p (*.f64 p 4)))
(*.f64 1/2 (/.f64 x p))
(/.f64 (*.f64 x 1/2) p)
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 1/2 (/.f64 x p) (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3)))
(fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (*.f64 x 1/2) p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 (pow.f64 x 5) p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p (pow.f64 x 5)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p (pow.f64 x 5)))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 p (*.f64 (pow.f64 x 5) (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2))))))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 p 8))) (*.f64 -1/8 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (pow.f64 p 2)))) (*.f64 p (pow.f64 x 7)))) (+.f64 (*.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 p 6))) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 (pow.f64 x 5) p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1 (*.f64 (+.f64 (/.f64 1/256 (pow.f64 p 8)) (*.f64 -1/8 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p p)))) (*.f64 p (pow.f64 x 7))) (fma.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p (pow.f64 x 5)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 1/2 (/.f64 x p) (-.f64 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)) (*.f64 p (pow.f64 x 5)))) (*.f64 (fma.f64 -1/8 (-.f64 (/.f64 1/64 (pow.f64 p 8)) (/.f64 (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2) (*.f64 p p))) (/.f64 1/256 (pow.f64 p 8))) (*.f64 p (pow.f64 x 7)))))
(-.f64 (fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 p (*.f64 (pow.f64 x 5) (-.f64 (/.f64 1/64 (pow.f64 p 6)) (pow.f64 (/.f64 -1/16 (pow.f64 p 3)) 2)))))) (*.f64 p (*.f64 (fma.f64 -1/8 (-.f64 (/.f64 1/64 (pow.f64 p 8)) (/.f64 1/256 (pow.f64 p 8))) (/.f64 1/256 (pow.f64 p 8))) (pow.f64 x 7))))
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 1)
(fma.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p) 1)
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (/.f64 (pow.f64 x 4) -1/2))))
(+.f64 (*.f64 (/.f64 -1/2 (pow.f64 x 4)) (*.f64 (pow.f64 p 4) -12)) (fma.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p) 1))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))))))
(+.f64 1 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -1/2 (+.f64 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (/.f64 (fma.f64 64 (pow.f64 p 6) (*.f64 2 (*.f64 (*.f64 p p) (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2))))) (pow.f64 x 6))))))
(+.f64 1 (fma.f64 -1/2 (+.f64 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) (/.f64 (fma.f64 2 (*.f64 (*.f64 p p) (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6))) (/.f64 (*.f64 p p) (/.f64 (*.f64 x x) -2))))
(+.f64 1 (fma.f64 -1/2 (+.f64 (/.f64 (*.f64 (pow.f64 p 4) -12) (pow.f64 x 4)) (/.f64 (fma.f64 2 (*.f64 p (*.f64 p (*.f64 (pow.f64 p 4) -12))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6))) (*.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) -1)
(fma.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p) -1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 1/2 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 p 4) -12) (pow.f64 x 4)) -1))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 64 (pow.f64 p 6)) (*.f64 2 (*.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -16 (pow.f64 p 4)) (pow.f64 (*.f64 -2 (pow.f64 p 2)) 2)) (pow.f64 x 4))))) 1)
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 64 (pow.f64 p 6) (*.f64 2 (*.f64 (*.f64 p p) (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2))))) (pow.f64 x 6)) (fma.f64 1/2 (/.f64 (fma.f64 -16 (pow.f64 p 4) (pow.f64 (*.f64 (*.f64 p p) -2) 2)) (pow.f64 x 4)) (*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x))))) -1)
(fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 (*.f64 p p) (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4)))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 1/2 (/.f64 (fma.f64 (pow.f64 p 4) -16 (*.f64 4 (pow.f64 p 4))) (pow.f64 x 4)) -1)))
(fma.f64 1/2 (/.f64 (fma.f64 2 (*.f64 p (*.f64 p (*.f64 (pow.f64 p 4) -12))) (*.f64 (pow.f64 p 6) 64)) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p) (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 p 4) -12) (pow.f64 x 4)) -1)))
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 1)
(fma.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(+.f64 1 (fma.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (*.f64 x x) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(+.f64 1 (fma.f64 1/2 (*.f64 (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (*.f64 (*.f64 x x) (pow.f64 p 4))) (/.f64 (*.f64 p p) (/.f64 (*.f64 x x) -2))))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 x x) (*.f64 (pow.f64 p 4) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2))) (*.f64 64 (/.f64 1 (pow.f64 x 8)))) (*.f64 (pow.f64 x 2) (pow.f64 p 6)))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (-.f64 (*.f64 16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))))
(fma.f64 -1/2 (*.f64 (fma.f64 -2 (/.f64 (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (*.f64 x x)) (/.f64 64 (pow.f64 x 8))) (*.f64 (pow.f64 p 6) (*.f64 x x))) (+.f64 1 (fma.f64 1/2 (*.f64 (pow.f64 p 4) (*.f64 (*.f64 x x) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))))
(fma.f64 -1/2 (*.f64 (fma.f64 -2 (-.f64 (/.f64 16 (pow.f64 x 8)) (/.f64 (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2) (*.f64 x x))) (/.f64 64 (pow.f64 x 8))) (*.f64 x (*.f64 x (pow.f64 p 6)))) (+.f64 1 (fma.f64 1/2 (*.f64 (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)) (*.f64 (*.f64 x x) (pow.f64 p 4))) (/.f64 (*.f64 p p) (/.f64 (*.f64 x x) -2)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 x x) (*.f64 (pow.f64 p 4) (-.f64 (/.f64 16 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (pow.f64 x 3)) 2)))) (*.f64 -2 (*.f64 (/.f64 p (*.f64 x x)) p))) (fma.f64 (+.f64 (*.f64 1 (-.f64 (/.f64 16 (pow.f64 x 8)) (*.f64 (/.f64 -2 (pow.f64 x 4)) (/.f64 -2 (pow.f64 x 4))))) (/.f64 -32 (pow.f64 x 8))) (*.f64 x (*.f64 x (pow.f64 p 6))) 1))
(*.f64 1/2 (/.f64 x p))
(/.f64 (*.f64 x 1/2) p)
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 1/2 (/.f64 x p) (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3)))
(fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (*.f64 x 1/2) p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5)))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (neg.f64 (/.f64 (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2)) (/.f64 (pow.f64 p 5) x)))))
(-.f64 (fma.f64 1/2 (/.f64 x p) (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3))) (/.f64 x (/.f64 (pow.f64 p 5) (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256)))))
(-.f64 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (*.f64 x 1/2) p)) (*.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) x))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5))) (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) (pow.f64 x 2))) (*.f64 1/256 (pow.f64 x 6))) x) (pow.f64 p 7))))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 -1 (+.f64 (/.f64 (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2)) (/.f64 (pow.f64 p 5) x)) (/.f64 (fma.f64 1/8 (*.f64 (*.f64 x x) (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2))) (*.f64 (pow.f64 x 6) 1/256)) (/.f64 (pow.f64 p 7) x))))))
(fma.f64 1/2 (/.f64 x p) (-.f64 (-.f64 (/.f64 (*.f64 (pow.f64 x 3) -1/16) (pow.f64 p 3)) (/.f64 x (/.f64 (pow.f64 p 5) (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256))))) (*.f64 (/.f64 (fma.f64 (pow.f64 x 6) 1/256 (*.f64 (*.f64 x x) (*.f64 (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256)) 1/8))) (pow.f64 p 7)) x)))
(-.f64 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (*.f64 x 1/2) p)) (*.f64 x (+.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) (/.f64 (fma.f64 (pow.f64 x 6) 1/256 (*.f64 (*.f64 (pow.f64 x 4) -3/256) (*.f64 (*.f64 x x) 1/8))) (pow.f64 p 7)))))
(*.f64 -1/2 (/.f64 x p))
(*.f64 (/.f64 x p) -1/2)
(/.f64 (*.f64 x -1/2) p)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 -1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))
(fma.f64 (/.f64 x p) -1/2 (/.f64 1/16 (/.f64 (pow.f64 p 3) (pow.f64 x 3))))
(fma.f64 (/.f64 x p) -1/2 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5))))
(fma.f64 -1/2 (/.f64 x p) (fma.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2)) (/.f64 (pow.f64 p 5) x))))
(fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (/.f64 x (/.f64 (pow.f64 p 5) (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256))))))
(fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) x)))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) (pow.f64 x 2))) (*.f64 1/256 (pow.f64 x 6))) x) (pow.f64 p 7)) (/.f64 (*.f64 (+.f64 (*.f64 -1/64 (pow.f64 x 4)) (pow.f64 (*.f64 -1/16 (pow.f64 x 2)) 2)) x) (pow.f64 p 5)))))
(fma.f64 -1/2 (/.f64 x p) (fma.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (+.f64 (/.f64 (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2)) (/.f64 (pow.f64 p 5) x)) (/.f64 (fma.f64 1/8 (*.f64 (*.f64 x x) (fma.f64 -1/64 (pow.f64 x 4) (pow.f64 (*.f64 (*.f64 x x) -1/16) 2))) (*.f64 (pow.f64 x 6) 1/256)) (/.f64 (pow.f64 p 7) x)))))
(+.f64 (fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (/.f64 x (/.f64 (pow.f64 p 5) (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256)))))) (*.f64 (/.f64 (fma.f64 (pow.f64 x 6) 1/256 (*.f64 (*.f64 x x) (*.f64 (fma.f64 -1/64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 1/256)) 1/8))) (pow.f64 p 7)) x))
(fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 x (+.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) (/.f64 (fma.f64 (pow.f64 x 6) 1/256 (*.f64 (*.f64 (pow.f64 x 4) -3/256) (*.f64 (*.f64 x x) 1/8))) (pow.f64 p 7))))))

eval159.0ms (2.2%)

Compiler

Compiled 7283 to 5494 computations (24.6% saved)

prune46.0ms (0.6%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New29110301
Fresh000
Picked101
Done000
Total29210302
Error
5.5b
Counts
302 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
11.5b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))))
59.8b
(sqrt.f64 (*.f64 1/2 (+.f64 1 -1)))
55.3b
(sqrt.f64 (*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
30.5b
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
28.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
30.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
40.4b
(sqrt.f64 (*.f64 1/2 2))
13.8b
(sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)))
27.4b
(sqrt.f64 (*.f64 1/2 1))
53.1b
(sqrt.f64 (*.f64 1/2 (*.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p))))
Compiler

Compiled 238 to 196 computations (17.6% saved)

localize21.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (hypot.f64 (*.f64 2 p) x))
0.0b
(hypot.f64 (*.f64 2 p) x)
0.6b
(+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))
Compiler

Compiled 54 to 37 computations (31.5% saved)

series10.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
949×pow1_binary64
881×add-log-exp_binary64
880×log1p-expm1-u_binary64
880×expm1-log1p-u_binary64
864×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (0.9%)

Algorithm
egg-herbie
Rules
754×associate-/l*_binary64
715×associate-+r+_binary64
586×associate-*l*_binary64
579×associate-/r*_binary64
566×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02191861
16731788
223561749
Stop Event
node limit
Counts
150 → 175
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4)))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 16 (pow.f64 p 8)) (pow.f64 (*.f64 -2 (pow.f64 p 4)) 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 4)) (pow.f64 x 8))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 p 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 p 5))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
1
(+.f64 (*.f64 -1/2 (/.f64 x p)) 1)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(*.f64 -2 p)
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 -2 p))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p)))
(+.f64 (*.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p))))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(*.f64 -1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x)))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))))
(*.f64 1/2 (/.f64 x p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4))))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 4 (pow.f64 p 4)) (*.f64 2 (pow.f64 p 4))) (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 4 (pow.f64 p 4)) (*.f64 2 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 4 (pow.f64 p 4)) (*.f64 2 (pow.f64 p 4))) (pow.f64 x 4))))) 1)
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(*.f64 1/2 (/.f64 x p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 p 5)))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/8 (*.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 x 2))) (*.f64 1/1024 (pow.f64 x 7))) (pow.f64 p 7))) (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 p 5))))))
(*.f64 -1/2 (/.f64 x p))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 7) (pow.f64 p 7))) (*.f64 -1/8 (/.f64 (*.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 x 2)) (pow.f64 p 7))))))))
Outputs
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(fma.f64 1/2 (/.f64 x p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 1))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 3/256 (pow.f64 p 5)) (pow.f64 x 5))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2)
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4)))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4)))))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4))))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -1 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) -6)))) (pow.f64 x 6)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4))))))
(+.f64 2 (-.f64 (-.f64 (*.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x))) (/.f64 (fma.f64 -2 (*.f64 (pow.f64 p 6) -6) (*.f64 8 (pow.f64 p 6))) (pow.f64 x 6))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6)))
(+.f64 2 (+.f64 (/.f64 (fma.f64 (pow.f64 p 6) -8 (*.f64 (pow.f64 p 6) -12)) (pow.f64 x 6)) (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 4) -6) (/.f64 (pow.f64 x 6) (*.f64 p p))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 6) -6) (pow.f64 x 6)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6 (/.f64 (*.f64 (pow.f64 p 6) 12) (pow.f64 x 6)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 16 (pow.f64 p 8)) (pow.f64 (*.f64 -2 (pow.f64 p 4)) 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 4)) (pow.f64 x 8))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 p 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))))))
(fma.f64 -1/2 (/.f64 (fma.f64 16 (pow.f64 p 8) (pow.f64 (*.f64 -2 (pow.f64 p 4)) 2)) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 p 4) (*.f64 (pow.f64 p 4) -6)) (pow.f64 x 8)) (fma.f64 -2 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) -6)))) (/.f64 (pow.f64 x 8) (*.f64 p p))) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 4) -6) (/.f64 (pow.f64 x 6) (*.f64 p p))) (fma.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))))))))
(fma.f64 -1/2 (/.f64 (fma.f64 16 (pow.f64 p 8) (*.f64 4 (pow.f64 p 8))) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 p 8) -6) (pow.f64 x 8)) (fma.f64 -2 (*.f64 (/.f64 (fma.f64 -2 (*.f64 (pow.f64 p 6) -6) (*.f64 8 (pow.f64 p 6))) (pow.f64 x 8)) (*.f64 p p)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 6) -6) (pow.f64 x 6)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6 (*.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8))))))))))
(+.f64 (fma.f64 -2 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 8)) (*.f64 -2 (*.f64 (pow.f64 p 8) -6))) (pow.f64 x 8)) (+.f64 (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6 (/.f64 (*.f64 (pow.f64 p 6) 12) (pow.f64 x 6))))) (/.f64 (*.f64 (pow.f64 p 8) -8) (pow.f64 x 8)))) (fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 p 8) 20) (pow.f64 x 8)) (/.f64 (*.f64 (pow.f64 p 8) -12) (pow.f64 x 8))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2)
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4)))))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -20 2) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -20 2) (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(fma.f64 1/2 (/.f64 x p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 p 5))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 1))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 3/256 (pow.f64 p 5)) (pow.f64 x 5))))
1
(+.f64 (*.f64 -1/2 (/.f64 x p)) 1)
(fma.f64 -1/2 (/.f64 x p) 1)
(fma.f64 (/.f64 x p) -1/2 1)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 x p) 1) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))
(fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 1))
(+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))))
(fma.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 (fma.f64 -1/2 (/.f64 x p) 1) (fma.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))))
(+.f64 (fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/128 (fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/256)))) 1)
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(fma.f64 2 (/.f64 (*.f64 p p) x) x)
(fma.f64 2 (*.f64 (/.f64 p x) p) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (*.f64 (/.f64 p x) p) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) x) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (*.f64 (/.f64 p x) p) x)))
(*.f64 2 p)
(*.f64 p 2)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 p 2))
(fma.f64 p 2 (*.f64 1/4 (/.f64 x (/.f64 p x))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (*.f64 p 2))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2)))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 p 2 (*.f64 (/.f64 -1/64 (pow.f64 p 3)) (pow.f64 x 4))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 p 2 (*.f64 (/.f64 -1/64 (pow.f64 p 3)) (pow.f64 x 4)))))
(*.f64 -2 p)
(*.f64 p -2)
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 -2 p))
(fma.f64 -1/4 (/.f64 (*.f64 x x) p) (*.f64 p -2))
(fma.f64 p -2 (/.f64 -1/4 (/.f64 p (*.f64 x x))))
(fma.f64 p -2 (*.f64 (/.f64 -1/4 p) (*.f64 x x)))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p)))
(fma.f64 -1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p -2)))
(fma.f64 (/.f64 x (/.f64 p x)) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64)))
(fma.f64 (*.f64 (/.f64 x p) x) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64)))
(+.f64 (*.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p))))
(fma.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p -2))))
(fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) -1/512 (fma.f64 (/.f64 x (/.f64 p x)) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64))))
(fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) -1/512 (fma.f64 (*.f64 (/.f64 x p) x) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64))))
(*.f64 2 p)
(*.f64 p 2)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 p 2))
(fma.f64 p 2 (*.f64 1/4 (/.f64 x (/.f64 p x))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (*.f64 p 2))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2)))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 p 2 (*.f64 (/.f64 -1/64 (pow.f64 p 3)) (pow.f64 x 4))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 p 2 (*.f64 (/.f64 -1/64 (pow.f64 p 3)) (pow.f64 x 4)))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(fma.f64 2 (/.f64 (*.f64 p p) x) x)
(fma.f64 2 (*.f64 (/.f64 p x) p) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (*.f64 (/.f64 p x) p) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) x) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (*.f64 (/.f64 p x) p) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))
(fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x))
(-.f64 (/.f64 -2 (/.f64 x (*.f64 p p))) x)
(fma.f64 -2 (*.f64 (/.f64 p x) p) (neg.f64 x))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x)))
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x)))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (/.f64 -2 (/.f64 x (*.f64 p p)))) x)
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (*.f64 (/.f64 p x) p) (neg.f64 x)))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x))))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (-.f64 (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (/.f64 -2 (/.f64 x (*.f64 p p)))) x))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (*.f64 (/.f64 p x) p) (neg.f64 x))))
(*.f64 1/2 (/.f64 x p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p)))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 3/256 (pow.f64 p 5)) (pow.f64 x 5))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/2 (/.f64 x p) (fma.f64 -5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 -5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7))))))
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 1)
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4)))))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 1) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 1 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4))))))
(+.f64 1 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -1 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) -6)))) (pow.f64 x 6)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4))))))
(+.f64 1 (-.f64 (-.f64 (*.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x))) (/.f64 (fma.f64 -2 (*.f64 (pow.f64 p 6) -6) (*.f64 8 (pow.f64 p 6))) (pow.f64 x 6))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6)))
(+.f64 1 (+.f64 (/.f64 (fma.f64 (pow.f64 p 6) -8 (*.f64 (pow.f64 p 6) -12)) (pow.f64 x 6)) (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) -1)
(fma.f64 (/.f64 2 x) (*.f64 (/.f64 p x) p) -1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 4 (pow.f64 p 4)) (*.f64 2 (pow.f64 p 4))) (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) 6) (pow.f64 x 4)))) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) -1))
(+.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6) (fma.f64 (/.f64 2 x) (*.f64 (/.f64 p x) p) -1))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 4 (pow.f64 p 4)) (*.f64 2 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 4 (pow.f64 p 4)) (*.f64 2 (pow.f64 p 4))) (pow.f64 x 4))))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -1 (+.f64 (/.f64 (fma.f64 -8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) 6)))) (pow.f64 x 6)) (/.f64 (*.f64 (pow.f64 p 4) 6) (pow.f64 x 4))))) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -1 (+.f64 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (fma.f64 (pow.f64 p 6) -8 (*.f64 -2 (*.f64 (pow.f64 p 6) 6))) (pow.f64 x 6))) -1))
(+.f64 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 (pow.f64 p 6) 12)) (pow.f64 x 6)) (+.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6) (fma.f64 (/.f64 2 x) (*.f64 (/.f64 p x) p) -1)))
1
(+.f64 1 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 1)
(+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4)))))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 1) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 1 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 1 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (+.f64 1 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -20 1) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -20 1) (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(*.f64 1/2 (/.f64 x p))
(+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p)))
(+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 p 5)))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 3/256 (pow.f64 p 5)) (pow.f64 x 5))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/8 (*.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 x 2))) (*.f64 1/1024 (pow.f64 x 7))) (pow.f64 p 7))) (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 p 5))))))
(fma.f64 -1 (/.f64 (fma.f64 -1/8 (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 5) -3/256)) (*.f64 (pow.f64 x 7) 1/1024)) (pow.f64 p 7)) (fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (neg.f64 (/.f64 (*.f64 (pow.f64 x 5) -3/256) (pow.f64 p 5))))))
(-.f64 (-.f64 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (/.f64 (pow.f64 x 5) (/.f64 (pow.f64 p 5) -3/256))) (/.f64 (fma.f64 -1/8 (*.f64 (pow.f64 x 5) (*.f64 -3/256 (*.f64 x x))) (*.f64 (pow.f64 x 7) 1/1024)) (pow.f64 p 7)))
(-.f64 (fma.f64 1/2 (/.f64 x p) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 3/256 (pow.f64 p 5)) (pow.f64 x 5)))) (/.f64 (fma.f64 (*.f64 (pow.f64 x 5) 3/2048) (*.f64 x x) (*.f64 (pow.f64 x 7) 1/1024)) (pow.f64 p 7)))
(*.f64 -1/2 (/.f64 x p))
(*.f64 (/.f64 x p) -1/2)
(/.f64 -1/2 (/.f64 p x))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 -1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))
(fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (/.f64 -1/2 (/.f64 p x)))
(fma.f64 (/.f64 x p) -1/2 (*.f64 (/.f64 1/16 (pow.f64 p 3)) (pow.f64 x 3)))
(+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 -1/2 (/.f64 x p) (fma.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/128 (fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/256))))
(+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 7) (pow.f64 p 7))) (*.f64 -1/8 (/.f64 (*.f64 (+.f64 (*.f64 -1/256 (pow.f64 x 5)) (*.f64 -1/128 (pow.f64 x 5))) (pow.f64 x 2)) (pow.f64 p 7))))))))
(fma.f64 -1/128 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 -1/2 (/.f64 x p) (fma.f64 -1/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (fma.f64 1/1024 (/.f64 (pow.f64 x 7) (pow.f64 p 7)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x 5) -3/256) (/.f64 (pow.f64 p 7) (*.f64 x x)))))))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/128 (fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/256 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (fma.f64 (/.f64 (pow.f64 x 7) (pow.f64 p 7)) 1/1024 (/.f64 (*.f64 (pow.f64 x 5) (*.f64 -3/256 (*.f64 x x))) (/.f64 (pow.f64 p 7) -1/8)))))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/128 (fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -1/256 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (fma.f64 (/.f64 (pow.f64 x 7) (pow.f64 p 7)) 1/1024 (/.f64 (*.f64 x x) (/.f64 (pow.f64 p 7) (*.f64 (pow.f64 x 5) 3/2048))))))))

localize5.0ms (0.1%)

Compiler

Compiled 11 to 11 computations (0% saved)

localize8.0ms (0.1%)

Compiler

Compiled 19 to 19 computations (0% saved)

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/2 (/.f64 x p))
1.9b
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
Compiler

Compiled 41 to 25 computations (39% saved)

series11.0ms (0.2%)

Counts
2 → 12
Calls

12 calls:

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

rewrite66.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
522×log-prod_binary64
292×pow-prod-down_binary64
280×prod-diff_binary64
276×pow2_binary64
191×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01120
123719
2294017
Stop Event
node limit
Counts
2 → 75
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
(*.f64 -1/2 (/.f64 x p))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/6) (cbrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/4) (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 (/.f64 x p) -1/4 1/2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (/.f64 x p) -1/4 1/2) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 (/.f64 x p) -1/4 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (/.f64 x p) -1/4 1/2)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (/.f64 x p) -1/4 1/2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2 (/.f64 x p)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x p) -1/4) (*.f64 (/.f64 x p) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (/.f64 x p))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (/.f64 x p)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 -1/2 (/.f64 x p) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 p x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 p (*.f64 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 x) p)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -1/2 x)) (neg.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/2 x) 1) p)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/2 x) (cbrt.f64 (*.f64 p p))) (cbrt.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/2 x) (sqrt.f64 p)) (sqrt.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/2 x) 1) p)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) -1/2) (neg.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (neg.f64 x)) (neg.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (/.f64 x p)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (pow.f64 (/.f64 x p) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 x p))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 x p))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 x p) 3) -1/8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 p (*.f64 -1/2 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (pow.f64 (/.f64 x p) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/2) (/.f64 x p)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (/.f64 x p)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 x p) 3) -1/8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/2 (/.f64 x p))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 -1/2 (/.f64 x p))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/2 (/.f64 x p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/2 (/.f64 x p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (/.f64 x p))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 x p)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 x p)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 -1/2 (/.f64 x p)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (/.f64 x p))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (/.f64 x p))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 -1/2 (/.f64 x p) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 -1/2 (/.f64 x p) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) (sqrt.f64 (fma.f64 -1/2 (/.f64 x p) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (/.f64 x p) 3) -1/8 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 (/.f64 x p) 2) 1) (*.f64 -1/2 (/.f64 x p)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (pow.f64 (/.f64 x p) 2) -1) (/.f64 1 (fma.f64 -1/2 (/.f64 x p) -1)) -1)))))

simplify50.0ms (0.7%)

Algorithm
egg-herbie
Rules
990×distribute-rgt-out_binary64
660×associate-/r*_binary64
550×associate-*r*_binary64
546×fma-def_binary64
521×associate-*l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028318
180306
2251297
31203255
46741255
Stop Event
node limit
Counts
87 → 82
Calls
Call 1
Inputs
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (*.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (*.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (*.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
Outputs
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (sqrt.f64 1/2))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (sqrt.f64 1/2))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (+.f64 (*.f64 (/.f64 -1/4 p) x) 1) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p)))))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (fma.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))) (sqrt.f64 1/2)))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (/.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p (*.f64 x x)) p)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (+.f64 -1/4 (*.f64 (/.f64 -1/32 p) x))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (*.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (fma.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p))))))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (fma.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (pow.f64 x 3)) (fma.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))) (sqrt.f64 1/2))))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (/.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p (*.f64 x x)) p)) (fma.f64 -1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2))))
(+.f64 (sqrt.f64 1/2) (fma.f64 -1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (+.f64 -1/4 (*.f64 (/.f64 -1/32 p) x)))))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (sqrt.f64 1/2))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (sqrt.f64 1/2))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (+.f64 (*.f64 (/.f64 -1/4 p) x) 1) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p)))))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (fma.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))) (sqrt.f64 1/2)))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (/.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p (*.f64 x x)) p)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (+.f64 -1/4 (*.f64 (/.f64 -1/32 p) x))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (*.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (fma.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p))))))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (fma.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (pow.f64 x 3)) (fma.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))) (sqrt.f64 1/2))))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (/.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p (*.f64 x x)) p)) (fma.f64 -1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2))))
(+.f64 (sqrt.f64 1/2) (fma.f64 -1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (+.f64 -1/4 (*.f64 (/.f64 -1/32 p) x)))))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (sqrt.f64 1/2))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (sqrt.f64 1/2))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (+.f64 (*.f64 (/.f64 -1/4 p) x) 1) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p)))))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (fma.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))) (sqrt.f64 1/2)))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (/.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p (*.f64 x x)) p)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (+.f64 -1/4 (*.f64 (/.f64 -1/32 p) x))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (+.f64 (*.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (fma.f64 -1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p))))))
(fma.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (fma.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (pow.f64 x 3)) (fma.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))) (sqrt.f64 1/2))))
(fma.f64 -1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (/.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p (*.f64 x x)) p)) (fma.f64 -1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2))))
(+.f64 (sqrt.f64 1/2) (fma.f64 -1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (*.f64 (*.f64 (sqrt.f64 1/2) (/.f64 x p)) (+.f64 -1/4 (*.f64 (/.f64 -1/32 p) x)))))

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
1.4b
(+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))
1.5b
(/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x))
4.2b
(*.f64 (/.f64 -2 x) (*.f64 p p))
Compiler

Compiled 84 to 46 computations (45.2% saved)

series17.0ms (0.2%)

Counts
4 → 96
Calls

24 calls:

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

rewrite106.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
733×log-prod_binary64
498×fma-def_binary64
262×expm1-udef_binary64
262×log1p-udef_binary64
259×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01469
131469
2422267
Stop Event
node limit
Counts
4 → 151
Calls
Call 1
Inputs
(*.f64 (/.f64 -2 x) (*.f64 p p))
(/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x))
(+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 -2 x) (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 p) p) (/.f64 -2 x))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 p) p) (/.f64 -2 x))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 p) p) (/.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 p) p) (/.f64 -2 x)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 p) p) (/.f64 -2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (/.f64 x (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 p p) (*.f64 x -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (*.f64 -2 (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (*.f64 p p)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -2 (*.f64 p p))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -2 (*.f64 p p)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -2 (*.f64 p p)) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -2 (*.f64 p p)) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 p p)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 p p) 2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 -2 x) (*.f64 p p))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 p (sqrt.f64 (/.f64 -2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (*.f64 -2 (*.f64 p p))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 p 4) (/.f64 4 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 p) p) (/.f64 -2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 -2 x) (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 -2 x) (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 -2 x) (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 -2 x) (*.f64 p p))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))) (cbrt.f64 (exp.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (sqrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 x x)) 1) (/.f64 (cbrt.f64 x) (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (/.f64 x (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (/.f64 x (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (-.f64 (pow.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) 3) (pow.f64 x 3))) (fma.f64 x (fma.f64 p (*.f64 (/.f64 -2 x) p) x) (*.f64 (pow.f64 p 4) (/.f64 4 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (-.f64 (*.f64 (pow.f64 p 4) (/.f64 4 (*.f64 x x))) (*.f64 x x))) (fma.f64 p (*.f64 (/.f64 -2 x) p) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)) x) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) (pow.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) 2) (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3)) (/.f64 1 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (/.f64 1 (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))) (/.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2) (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) (pow.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) 2) (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3)) (/.f64 1 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (/.f64 1 (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1) (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (-.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3)) (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3)) (+.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2) (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3))) (neg.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2))) (neg.f64 (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2) 1) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) (-.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 1) (+.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (-.f64 1 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (sqrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (*.f64 x x)) 1) (/.f64 (cbrt.f64 x) (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (/.f64 x (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (cbrt.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (/.f64 x (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (-.f64 (pow.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) 3) (pow.f64 x 3))) (fma.f64 x (fma.f64 p (*.f64 (/.f64 -2 x) p) x) (*.f64 (pow.f64 p 4) (/.f64 4 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (-.f64 (*.f64 (pow.f64 p 4) (/.f64 4 (*.f64 x x))) (*.f64 x x))) (fma.f64 p (*.f64 (/.f64 -2 x) p) x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))) (cbrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 1/4) (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (+.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 2)) 1/2) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (/.f64 x (fma.f64 (/.f64 -2 x) (*.f64 p p) (neg.f64 x))) 1/2 1/2))) 1))))))

simplify81.0ms (1.1%)

Algorithm
egg-herbie
Rules
858×associate-/l*_binary64
679×fma-def_binary64
457×*-commutative_binary64
407×associate-*l/_binary64
395×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01942986
16042916
222672761
Stop Event
node limit
Counts
247 → 214
Calls
Call 1
Inputs
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) 1)
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) 1)
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) 1)
(*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
1
(+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
1
(+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))))
1
(+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 p 4))) (pow.f64 (/.f64 -1/4 (pow.f64 p 2)) 2)) (pow.f64 x 4)))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 p 4))) (pow.f64 (/.f64 -1/4 (pow.f64 p 2)) 2)) (pow.f64 x 4)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 p 6))) (*.f64 -1/4 (/.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 p 4))) (pow.f64 (/.f64 -1/4 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6)))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 16 (pow.f64 p 8)) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (pow.f64 p 2)) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 7) p)))) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(+.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -16 (pow.f64 p 8)) (*.f64 -2 (/.f64 (*.f64 (-.f64 (*.f64 8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (pow.f64 p 2)) (pow.f64 (sqrt.f64 2) 2)))) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 7) p)))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 x (pow.f64 p 5)))) (sqrt.f64 2))) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3))))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 x 2)))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))) (*.f64 x (pow.f64 p 7)))) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 x (pow.f64 p 5)))) (sqrt.f64 2))) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2)) (pow.f64 x 2))))) (pow.f64 p 6))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2)) (pow.f64 x 2))))) (pow.f64 p 6))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
Outputs
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -2 (/.f64 (pow.f64 p 2) x))
(*.f64 -2 (/.f64 (*.f64 p p) x))
(*.f64 -2 (/.f64 p (/.f64 x p)))
(*.f64 -2 (*.f64 (/.f64 p x) p))
(*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2)))
(/.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 p p))
(*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p))))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) -1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) -1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) -1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1)))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) -1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) -1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) -1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1)))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1)
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) -1)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) -1)
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) 1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))) -1)
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -1)))
(*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2)))
(/.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 p p))
(*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p))))))
(*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2)))
(/.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 p p))
(*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(fma.f64 1/16 (/.f64 (pow.f64 x 8) (pow.f64 p 8)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p))))))
1
(+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))))
(+.f64 (/.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 p p)) 1)
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))) 1)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))) 1)
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) 1))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -16 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
1
(+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))))
(+.f64 (/.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 p p)) 1)
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))) 1)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))) 1)
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) 1))
1
(+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))))
(+.f64 (/.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 p p)) 1)
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)))) 1)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1))
(fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 p 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))) (*.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6))))) 1)
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)) 1) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) (*.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 x 6) (pow.f64 p 6)) (*.f64 -1/2 (*.f64 (/.f64 x p) (/.f64 x p)))) (fma.f64 1/4 (/.f64 (pow.f64 x 4) (pow.f64 p 4)) 1))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x)))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 p 4))) (pow.f64 (/.f64 -1/4 (pow.f64 p 2)) 2)) (pow.f64 x 4)))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 x 4) (-.f64 (/.f64 1/4 (pow.f64 p 4)) (pow.f64 (/.f64 -1/4 (*.f64 p p)) 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(fma.f64 1/2 (*.f64 (pow.f64 x 4) (*.f64 (sqrt.f64 1/2) (-.f64 (/.f64 1/4 (pow.f64 p 4)) (pow.f64 (/.f64 -1/4 (*.f64 p p)) 2)))) (fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2)))
(fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 p 4)) (/.f64 -1/16 (pow.f64 p 4))) (*.f64 (pow.f64 x 4) (sqrt.f64 1/2))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 p 4))) (pow.f64 (/.f64 -1/4 (pow.f64 p 2)) 2)) (pow.f64 x 4)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 p 6))) (*.f64 -1/4 (/.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 p 4))) (pow.f64 (/.f64 -1/4 (pow.f64 p 2)) 2)) (pow.f64 p 2)))) (pow.f64 x 6)))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 x 4) (-.f64 (/.f64 1/4 (pow.f64 p 4)) (pow.f64 (/.f64 -1/4 (*.f64 p p)) 2)))) (+.f64 (sqrt.f64 1/2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 x 6) (+.f64 (/.f64 1/8 (pow.f64 p 6)) (*.f64 -1/4 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 p 4)) (pow.f64 (/.f64 -1/4 (*.f64 p p)) 2)) (*.f64 p p)))))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x)))))))
(+.f64 (fma.f64 1/2 (*.f64 (pow.f64 x 4) (*.f64 (sqrt.f64 1/2) (-.f64 (/.f64 1/4 (pow.f64 p 4)) (pow.f64 (/.f64 -1/4 (*.f64 p p)) 2)))) (fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2))) (*.f64 -1/2 (*.f64 (pow.f64 x 6) (*.f64 (sqrt.f64 1/2) (fma.f64 -1/4 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 p 4)) (pow.f64 (/.f64 -1/4 (*.f64 p p)) 2)) (*.f64 p p)) (/.f64 1/8 (pow.f64 p 6)))))))
(fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 p 4)) (/.f64 -1/16 (pow.f64 p 4))) (*.f64 (pow.f64 x 4) (sqrt.f64 1/2))) (fma.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 -1/4 (+.f64 (/.f64 1/4 (pow.f64 p 6)) (/.f64 (/.f64 -1/16 (pow.f64 p 4)) (*.f64 p p))) (/.f64 1/8 (pow.f64 p 6)))) (*.f64 -1/2 (pow.f64 x 6)) (fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2))))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (*.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))
(fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))
(fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (pow.f64 (/.f64 p x) 3)) (*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -8 (pow.f64 p 6) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 2)) (/.f64 (sqrt.f64 1/2) (*.f64 p (pow.f64 x 5)))) (+.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (*.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (fma.f64 (pow.f64 p 6) -8 (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (*.f64 p (pow.f64 x 5)))) (fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))
(fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (pow.f64 (/.f64 p x) 3)) (fma.f64 (/.f64 (fma.f64 (pow.f64 p 6) -8 (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (/.f64 (sqrt.f64 1/2) p) (pow.f64 x 5))) (*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 16 (pow.f64 p 8)) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (pow.f64 p 2)) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 7) p)))) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 -8 (pow.f64 p 6) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (sqrt.f64 2)) (/.f64 (sqrt.f64 1/2) (*.f64 p (pow.f64 x 5)))) (+.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (fma.f64 16 (pow.f64 p 8) (*.f64 2 (/.f64 (fma.f64 -8 (pow.f64 p 6) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 p p))))) (*.f64 p (pow.f64 x 7)))) (*.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (fma.f64 (pow.f64 p 6) -8 (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (*.f64 p (pow.f64 x 5)))) (fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (fma.f64 2 (*.f64 (/.f64 (fma.f64 (pow.f64 p 6) -8 (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) 2) (*.f64 p p)) (*.f64 (pow.f64 p 8) 16)) (*.f64 p (pow.f64 x 7))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (/.f64 (fma.f64 (pow.f64 p 6) -8 (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (*.f64 (sqrt.f64 2) (*.f64 p (pow.f64 x 5))))) (fma.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)) (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (+.f64 (*.f64 -2 (pow.f64 (/.f64 p x) 3)) (*.f64 -1/2 (/.f64 (fma.f64 (pow.f64 p 8) 16 (*.f64 1 (*.f64 p (*.f64 p (fma.f64 (pow.f64 p 6) -8 (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)))))) (*.f64 p (pow.f64 x 7))))))))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(/.f64 (neg.f64 (sqrt.f64 2)) (/.f64 (/.f64 x p) (sqrt.f64 1/2)))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)))
(fma.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2))))))
(-.f64 (*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))
(fma.f64 (/.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))))
(fma.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 (sqrt.f64 2) (*.f64 p (pow.f64 x 5)))) (fma.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))))))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 x 5))) (/.f64 (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) p)) (*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))
(-.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (+.f64 (*.f64 2 (pow.f64 (/.f64 p x) 3)) (/.f64 (*.f64 -1/2 (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 p (pow.f64 x 5))))) (*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -16 (pow.f64 p 8)) (*.f64 -2 (/.f64 (*.f64 (-.f64 (*.f64 8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (pow.f64 p 2)) (pow.f64 (sqrt.f64 2) 2)))) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 7) p)))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 8 (pow.f64 p 6)) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 x 5) p)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 p 8) -16) (*.f64 2 (/.f64 (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 p p))))) (sqrt.f64 2)) (/.f64 (sqrt.f64 1/2) (*.f64 p (pow.f64 x 7)))) (fma.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2))) (*.f64 (sqrt.f64 2) (*.f64 p (pow.f64 x 5)))) (fma.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 (pow.f64 p 8) -16 (*.f64 2 (/.f64 (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (/.f64 2 (*.f64 p p))))) (sqrt.f64 2)) (/.f64 (/.f64 (sqrt.f64 1/2) p) (pow.f64 x 7))) (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (pow.f64 x 5))) (/.f64 (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) p)) (*.f64 2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (+.f64 (/.f64 (-.f64 (*.f64 (pow.f64 p 8) -16) (*.f64 -1 (*.f64 p (*.f64 p (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)))))) (*.f64 p (pow.f64 x 7))) (/.f64 (-.f64 (*.f64 (pow.f64 p 6) 8) (pow.f64 (*.f64 -2 (/.f64 (pow.f64 p 3) (sqrt.f64 2))) 2)) (*.f64 p (pow.f64 x 5))))) (fma.f64 (/.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2))))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (*.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))
(fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))
(fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (pow.f64 (/.f64 p x) 3)) (*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 x (pow.f64 p 5)))) (sqrt.f64 2))) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3))))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (fma.f64 1/2 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2))) (*.f64 x (pow.f64 p 5))) (sqrt.f64 2)) (*.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))) (fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 x (pow.f64 p 5))) (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 (/.f64 -2 (sqrt.f64 2)) (pow.f64 x 3)) 2)))))))
(fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (pow.f64 (/.f64 p x) 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 x (pow.f64 p 5)))) (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2))) (*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -2 (/.f64 (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 x 2)))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))) (*.f64 x (pow.f64 p 7)))) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 x (pow.f64 p 5)))) (sqrt.f64 2))) (*.f64 -2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (*.f64 (sqrt.f64 2) (pow.f64 x 3)))))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (fma.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 -2 (/.f64 (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2)) (*.f64 (*.f64 x x) (pow.f64 (sqrt.f64 2) 2))) (/.f64 16 (pow.f64 x 8))) (*.f64 x (pow.f64 p 7)))) (sqrt.f64 2)) (fma.f64 1/2 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2))) (*.f64 x (pow.f64 p 5))) (sqrt.f64 2)) (*.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))) (fma.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 x (pow.f64 p 7))) (+.f64 (*.f64 -1 (/.f64 (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 (/.f64 -2 (sqrt.f64 2)) (pow.f64 x 3)) 2)) (*.f64 x x))) (/.f64 16 (pow.f64 x 8))))) (fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 x (pow.f64 p 5))) (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 (/.f64 -2 (sqrt.f64 2)) (pow.f64 x 3)) 2))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 x (pow.f64 p 7)))) (fma.f64 -1 (-.f64 (/.f64 8 (pow.f64 x 8)) (/.f64 (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2) (*.f64 x x))) (/.f64 16 (pow.f64 x 8)))) (fma.f64 -2 (*.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (pow.f64 (/.f64 p x) 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) (*.f64 x (pow.f64 p 5)))) (-.f64 (/.f64 8 (pow.f64 x 6)) (pow.f64 (/.f64 -2 (*.f64 (sqrt.f64 2) (pow.f64 x 3))) 2))) (*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x)))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 4) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 (*.f64 x x) -1/4) 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 4)) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 1/16))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 x 4) 3/16) (/.f64 (sqrt.f64 1/2) (pow.f64 p 4))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2)) (pow.f64 x 2))))) (pow.f64 p 6))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 4) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 (*.f64 x x) -1/4) 2)))) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 6) (-.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 -1/4 (*.f64 (*.f64 x x) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 (*.f64 x x) -1/4) 2))))))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x)))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 4)) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 1/16))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 6)) (fma.f64 -1/8 (pow.f64 x 6) (*.f64 1/4 (*.f64 (*.f64 x x) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 1/16)))))))) (fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2)))
(fma.f64 1/2 (fma.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 4)) (*.f64 (pow.f64 x 4) 3/16) (*.f64 (fma.f64 1/4 (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) 3/16)) (*.f64 -1/8 (pow.f64 x 6))) (/.f64 (sqrt.f64 1/2) (pow.f64 p 6)))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2)))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x)))))
(fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2))
(fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 4) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 (*.f64 x x) -1/4) 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 4)) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 1/16))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 x 4) 3/16) (/.f64 (sqrt.f64 1/2) (pow.f64 p 4))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2))) (pow.f64 p 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 -1/4 (pow.f64 x 2)) 2)) (pow.f64 x 2))))) (pow.f64 p 6))) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 4) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 (*.f64 x x) -1/4) 2)))) (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 6) (-.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 -1/4 (*.f64 (*.f64 x x) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (pow.f64 (*.f64 (*.f64 x x) -1/4) 2))))))) (*.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x)))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 4)) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 1/16))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 6)) (fma.f64 -1/8 (pow.f64 x 6) (*.f64 1/4 (*.f64 (*.f64 x x) (-.f64 (*.f64 1/4 (pow.f64 x 4)) (*.f64 (pow.f64 x 4) 1/16)))))))) (fma.f64 -1/4 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 p p) (*.f64 x x))) (sqrt.f64 1/2)))
(fma.f64 1/2 (fma.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 4)) (*.f64 (pow.f64 x 4) 3/16) (*.f64 (fma.f64 1/4 (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) 3/16)) (*.f64 -1/8 (pow.f64 x 6))) (/.f64 (sqrt.f64 1/2) (pow.f64 p 6)))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 1/2) (*.f64 p p))) (sqrt.f64 1/2)))

eval316.0ms (4.4%)

Compiler

Compiled 11353 to 8062 computations (29% saved)

prune134.0ms (1.9%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New4656471
Fresh235
Picked011
Done134
Total46813481
Error
0.1b
Counts
481 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
40.4b
(sqrt.f64 (*.f64 1/2 2))
54.1b
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
11.5b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))))
59.8b
(sqrt.f64 (*.f64 1/2 (+.f64 1 -1)))
54.1b
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
27.4b
(sqrt.f64 1/2)
53.1b
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
30.5b
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
28.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
30.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
54.1b
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
13.8b
(sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)))
54.1b
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
Compiler

Compiled 248 to 202 computations (18.5% saved)

localize43.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 x (*.f64 2 p))
0.0b
(/.f64 1 (hypot.f64 x (*.f64 2 p)))
13.6b
(fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)
Compiler

Compiled 57 to 41 computations (28.1% saved)

series15.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)
2.0ms
p
@inf
(fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)
1.0ms
p
@0
(fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)
1.0ms
p
@inf
(/.f64 1 (hypot.f64 x (*.f64 2 p)))
1.0ms
x
@inf
(fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)

rewrite86.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
781×pow1_binary64
717×add-log-exp_binary64
717×log1p-expm1-u_binary64
717×expm1-log1p-u_binary64
701×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify69.0ms (1%)

Algorithm
egg-herbie
Rules
729×associate-+r+_binary64
710×associate-/r*_binary64
579×associate-*r*_binary64
566×associate-*l*_binary64
312×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02451867
17511771
226451704
Stop Event
node limit
Counts
136 → 162
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4)))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4))))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 16 (pow.f64 p 8)) (pow.f64 (*.f64 -2 (pow.f64 p 4)) 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 4)) (pow.f64 x 8))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 p 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) x) (pow.f64 p 5))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
1
(+.f64 (*.f64 -1/2 (/.f64 x p)) 1)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) x) (pow.f64 p 5)) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(/.f64 1/2 p)
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (*.f64 1/2 (/.f64 1 p)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 1/2 (/.f64 1 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)))))
(+.f64 (*.f64 -5/2048 (/.f64 (pow.f64 x 6) (pow.f64 p 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 1/2 (/.f64 1 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))))))
(/.f64 1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 5))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 5))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 7))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))))
(/.f64 -1 x)
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 5))))) (/.f64 1 x))
(-.f64 (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 7))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 7))))))) (/.f64 1 x))
(/.f64 1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (+.f64 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (/.f64 1 x)))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 7))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (+.f64 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (/.f64 1 x))))
(/.f64 1/2 p)
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (*.f64 1/2 (/.f64 1 p)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 p 5))) (*.f64 1/2 (/.f64 1 p))))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 p 5))) (+.f64 (*.f64 1/2 (/.f64 1 p)) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/8 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 x 2))) (*.f64 1/1024 (pow.f64 x 6))) (pow.f64 p 7))))))
(/.f64 -1/2 p)
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (*.f64 1/2 (/.f64 1 p)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 4) (pow.f64 p 5))) (*.f64 -1/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))))) (*.f64 1/2 (/.f64 1 p)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))) (+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 4) (pow.f64 p 5))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 6) (pow.f64 p 7))) (*.f64 -1/8 (/.f64 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 x 2)) (pow.f64 p 7))))))) (*.f64 1/2 (/.f64 1 p)))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(*.f64 -1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x)))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(*.f64 -2 p)
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 -2 p))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p)))
(+.f64 (*.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p))))
Outputs
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(fma.f64 1/2 (/.f64 x p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p))))
(+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 1))
(+.f64 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p))) (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 1))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2)
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4)))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4)))))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 2 (fma.f64 (/.f64 -2 x) (/.f64 p (/.f64 x p)) (*.f64 (/.f64 6 (pow.f64 x 4)) (pow.f64 p 4))))
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 4))))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -1 (+.f64 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) -6)))) (pow.f64 x 6)) (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4))))))
(+.f64 2 (-.f64 (-.f64 (*.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x))) (/.f64 (fma.f64 -2 (*.f64 (pow.f64 p 6) -6) (*.f64 8 (pow.f64 p 6))) (pow.f64 x 6))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6)))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (-.f64 (*.f64 (/.f64 6 (pow.f64 x 4)) (pow.f64 p 4)) (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 (pow.f64 p 6) 12)) (pow.f64 x 6))))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 4) -6) (/.f64 (pow.f64 x 6) (*.f64 p p))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 6) -6) (pow.f64 x 6)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6 (/.f64 (*.f64 (pow.f64 p 6) 12) (pow.f64 x 6)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 16 (pow.f64 p 8)) (pow.f64 (*.f64 -2 (pow.f64 p 4)) 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 4)) (pow.f64 x 8))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 p 2)) (pow.f64 x 8))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 6))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))))))))
(fma.f64 -1/2 (/.f64 (fma.f64 16 (pow.f64 p 8) (pow.f64 (*.f64 -2 (pow.f64 p 4)) 2)) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 p 4) (*.f64 (pow.f64 p 4) -6)) (pow.f64 x 8)) (fma.f64 -2 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) -6)))) (/.f64 (pow.f64 x 8) (*.f64 p p))) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 4) -6) (/.f64 (pow.f64 x 6) (*.f64 p p))) (fma.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))))))))
(fma.f64 -1/2 (/.f64 (fma.f64 16 (pow.f64 p 8) (*.f64 4 (pow.f64 p 8))) (pow.f64 x 8)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 p 8) -6) (pow.f64 x 8)) (fma.f64 -2 (*.f64 (/.f64 (fma.f64 -2 (*.f64 (pow.f64 p 6) -6) (*.f64 8 (pow.f64 p 6))) (pow.f64 x 8)) (*.f64 p p)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 6) -6) (pow.f64 x 6)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6 (*.f64 -8 (/.f64 (pow.f64 p 8) (pow.f64 x 8))))))))))
(+.f64 (fma.f64 -2 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 8)) (*.f64 -2 (*.f64 (pow.f64 p 8) -6))) (pow.f64 x 8)) (+.f64 (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6 (/.f64 (*.f64 (pow.f64 p 6) 12) (pow.f64 x 6))))) (/.f64 -8 (/.f64 (pow.f64 x 8) (pow.f64 p 8))))) (fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 p 8) 20) (pow.f64 x 8)) (/.f64 (*.f64 (pow.f64 p 8) -12) (pow.f64 x 8))))
2
(+.f64 2 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 2 (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2)
(+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (neg.f64 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 4)))))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) 2) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -6))
(+.f64 2 (fma.f64 (/.f64 -2 x) (/.f64 p (/.f64 x p)) (*.f64 (/.f64 6 (pow.f64 x 4)) (pow.f64 p 4))))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (+.f64 2 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(fma.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (+.f64 2 (fma.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -20 2))
(+.f64 (fma.f64 (/.f64 -2 x) (/.f64 p (/.f64 x p)) (*.f64 (/.f64 6 (pow.f64 x 4)) (pow.f64 p 4))) (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -20 2))
1
(+.f64 1 (*.f64 1/2 (/.f64 x p)))
(fma.f64 1/2 (/.f64 x p) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1 (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 1/2 (/.f64 x p))))
(+.f64 1 (+.f64 (*.f64 1/2 (/.f64 x p)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) x) (pow.f64 p 5))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (/.f64 (pow.f64 p 5) x)) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 1 (fma.f64 1/2 (/.f64 x p) (-.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 5) -3/256)) x))))
(+.f64 (fma.f64 1/2 (/.f64 x p) 1) (fma.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (*.f64 (/.f64 3/256 (pow.f64 p 5)) (pow.f64 x 4)) x)))
1
(+.f64 (*.f64 -1/2 (/.f64 x p)) 1)
(fma.f64 -1/2 (/.f64 x p) 1)
(fma.f64 (/.f64 x p) -1/2 1)
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 -1/2 (/.f64 x p) 1) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16))
(fma.f64 (/.f64 x p) -1/2 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 1))
(+.f64 (*.f64 -1/2 (/.f64 x p)) (+.f64 1 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) x) (pow.f64 p 5)) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))))
(+.f64 (fma.f64 -1/2 (/.f64 x p) 1) (+.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (/.f64 (pow.f64 p 5) x)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16)))
(+.f64 (fma.f64 (/.f64 x p) -1/2 1) (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 5) -3/256)) x)))
(+.f64 (fma.f64 (/.f64 x p) -1/2 1) (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) x)))
(/.f64 1/2 p)
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (*.f64 1/2 (/.f64 1 p)))
(fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 1/2 p))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 1/2 (/.f64 1 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)))))
(+.f64 (fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 1/2 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))))
(fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (fma.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) (/.f64 1/2 p)))
(+.f64 (*.f64 -5/2048 (/.f64 (pow.f64 x 6) (pow.f64 p 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 1/2 (/.f64 1 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))))))
(fma.f64 -5/2048 (/.f64 (pow.f64 x 6) (pow.f64 p 7)) (+.f64 (fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 1/2 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)))))
(fma.f64 -5/2048 (/.f64 (pow.f64 x 6) (pow.f64 p 7)) (fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (fma.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) (/.f64 1/2 p))))
(/.f64 1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))
(fma.f64 -2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (/.f64 1 x))
(fma.f64 -2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 1 x))
(fma.f64 -2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (/.f64 1 x))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 5))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x)))
(fma.f64 -1 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 5)) (fma.f64 -2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (/.f64 1 x)))
(-.f64 (fma.f64 -2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 1 x)) (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -6)))
(fma.f64 -2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (/.f64 1 x)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 x 5))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 8 (pow.f64 p 6)) (*.f64 -2 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)))) (pow.f64 x 7))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))))
(fma.f64 -1 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 5)) (fma.f64 -1 (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 -2 (*.f64 (*.f64 p p) (*.f64 (pow.f64 p 4) -6)))) (pow.f64 x 7)) (fma.f64 -2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (/.f64 1 x))))
(-.f64 (-.f64 (fma.f64 -2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 1 x)) (/.f64 (fma.f64 -2 (*.f64 (pow.f64 p 6) -6) (*.f64 8 (pow.f64 p 6))) (pow.f64 x 7))) (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -6)))
(-.f64 (fma.f64 -2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (/.f64 1 x))) (/.f64 (fma.f64 8 (pow.f64 p 6) (*.f64 (pow.f64 p 6) 12)) (pow.f64 x 7)))
(/.f64 -1 x)
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))
(-.f64 (*.f64 2 (/.f64 (*.f64 p p) (pow.f64 x 3))) (/.f64 1 x))
(fma.f64 2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 -1 x))
(fma.f64 2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (/.f64 -1 x))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 5))))) (/.f64 1 x))
(-.f64 (fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (/.f64 (*.f64 (pow.f64 p 4) -4) (pow.f64 x 5)))) (/.f64 1 x))
(+.f64 (fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (fma.f64 2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -4)))) (/.f64 -1 x))
(+.f64 (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -6)) (fma.f64 2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (/.f64 -1 x)))
(-.f64 (+.f64 (*.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 7))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (*.f64 -2 (/.f64 (*.f64 (+.f64 (*.f64 -2 (pow.f64 p 4)) (*.f64 -4 (pow.f64 p 4))) (pow.f64 p 2)) (pow.f64 x 7))))))) (/.f64 1 x))
(-.f64 (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 7)) (fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (fma.f64 -4 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 p 4) -6) (/.f64 (pow.f64 x 7) (*.f64 p p)))))))) (/.f64 1 x))
(+.f64 (fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 7)) (fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (fma.f64 2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 p 6) -6) (pow.f64 x 7)) (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -4)))))) (/.f64 -1 x))
(fma.f64 8 (/.f64 (pow.f64 p 6) (pow.f64 x 7)) (+.f64 (+.f64 (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -6)) (/.f64 (*.f64 (pow.f64 p 6) 12) (pow.f64 x 7))) (fma.f64 2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (/.f64 -1 x))))
(/.f64 1 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (/.f64 1 x))
(fma.f64 -2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (/.f64 1 x))
(fma.f64 -2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 1 x))
(fma.f64 -2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (/.f64 1 x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (+.f64 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (/.f64 1 x)))
(fma.f64 -1 (/.f64 (*.f64 (pow.f64 p 4) -6) (pow.f64 x 5)) (fma.f64 -2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (/.f64 1 x)))
(-.f64 (fma.f64 -2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (/.f64 1 x)) (/.f64 (pow.f64 p 4) (/.f64 (pow.f64 x 5) -6)))
(fma.f64 -2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (/.f64 1 x)))
(+.f64 (*.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 7))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) (pow.f64 x 3))) (+.f64 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5))) (/.f64 1 x))))
(fma.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 7)) (fma.f64 -2 (/.f64 (*.f64 p p) (pow.f64 x 3)) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (/.f64 1 x))))
(fma.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 7)) (fma.f64 -2 (/.f64 p (/.f64 (pow.f64 x 3) p)) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (/.f64 1 x))))
(fma.f64 -20 (/.f64 (pow.f64 p 6) (pow.f64 x 7)) (fma.f64 -2 (*.f64 (/.f64 p (pow.f64 x 3)) p) (fma.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 5)) (/.f64 1 x))))
(/.f64 1/2 p)
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (*.f64 1/2 (/.f64 1 p)))
(fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 1/2 p))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 p 5))) (*.f64 1/2 (/.f64 1 p))))
(+.f64 (fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 1/2 p)) (*.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))))
(fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (fma.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) (/.f64 1/2 p)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 p 5))) (+.f64 (*.f64 1/2 (/.f64 1 p)) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/8 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 x 2))) (*.f64 1/1024 (pow.f64 x 6))) (pow.f64 p 7))))))
(fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (+.f64 (fma.f64 -1 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (pow.f64 p 5)) (/.f64 1/2 p)) (neg.f64 (/.f64 (fma.f64 -1/8 (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) -3/256)) (*.f64 (pow.f64 x 6) 1/1024)) (pow.f64 p 7)))))
(fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (-.f64 (-.f64 (/.f64 1/2 p) (/.f64 (pow.f64 x 4) (/.f64 (pow.f64 p 5) -3/256))) (/.f64 (fma.f64 -1/8 (*.f64 (pow.f64 x 6) -3/256) (*.f64 (pow.f64 x 6) 1/1024)) (pow.f64 p 7))))
(-.f64 (fma.f64 -1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (fma.f64 3/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) (/.f64 1/2 p))) (/.f64 (fma.f64 (pow.f64 x 6) 1/1024 (*.f64 (pow.f64 x 6) 3/2048)) (pow.f64 p 7)))
(/.f64 -1/2 p)
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (*.f64 1/2 (/.f64 1 p)))
(-.f64 (*.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3))) (/.f64 1/2 p))
(fma.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 -1/2 p))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 4) (pow.f64 p 5))) (*.f64 -1/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))))) (*.f64 1/2 (/.f64 1 p)))
(-.f64 (fma.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) -3/256)) (/.f64 1/2 p))
(fma.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) -3/256 (/.f64 -1/2 p)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 2) (pow.f64 p 3))) (+.f64 (*.f64 -1/256 (/.f64 (pow.f64 x 4) (pow.f64 p 5))) (+.f64 (*.f64 -1/128 (/.f64 (pow.f64 x 4) (pow.f64 p 5))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 6) (pow.f64 p 7))) (*.f64 -1/8 (/.f64 (*.f64 (+.f64 (*.f64 -1/128 (pow.f64 x 4)) (*.f64 -1/256 (pow.f64 x 4))) (pow.f64 x 2)) (pow.f64 p 7))))))) (*.f64 1/2 (/.f64 1 p)))
(-.f64 (fma.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (+.f64 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) -3/256) (fma.f64 1/1024 (/.f64 (pow.f64 x 6) (pow.f64 p 7)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x 4) -3/256) (/.f64 (pow.f64 p 7) (*.f64 x x))))))) (/.f64 1/2 p))
(+.f64 (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) -3/256 (fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 7)) 1/1024 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x 6) -3/256) (pow.f64 p 7))))) (fma.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 -1/2 p)))
(+.f64 (fma.f64 1/16 (/.f64 (*.f64 x x) (pow.f64 p 3)) (/.f64 -1/2 p)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 5)) -3/256 (fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 7)) 1/1024 (/.f64 (*.f64 (pow.f64 x 6) 3/2048) (pow.f64 p 7)))))
(*.f64 2 p)
(*.f64 p 2)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 p 2))
(fma.f64 p 2 (*.f64 1/4 (/.f64 x (/.f64 p x))))
(fma.f64 p 2 (*.f64 (/.f64 1/4 p) (*.f64 x x)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2)))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(fma.f64 2 (/.f64 (*.f64 p p) x) x)
(fma.f64 2 (/.f64 p (/.f64 x p)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 p (/.f64 x p)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) x) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 p (/.f64 x p)) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))
(fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x))
(-.f64 (/.f64 -2 (/.f64 x (*.f64 p p))) x)
(-.f64 (*.f64 -2 (/.f64 p (/.f64 x p))) x)
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x)))
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x)))
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (-.f64 (/.f64 -2 (/.f64 x (*.f64 p p))) x))
(fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (-.f64 (*.f64 -2 (/.f64 p (/.f64 x p))) x))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 p 2) x)) (*.f64 -1 x))))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 -2 (/.f64 (*.f64 p p) x) (neg.f64 x))))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (-.f64 (/.f64 -2 (/.f64 x (*.f64 p p))) x)))
(fma.f64 -4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (-.f64 (*.f64 -2 (/.f64 p (/.f64 x p))) x)))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(fma.f64 2 (/.f64 (*.f64 p p) x) x)
(fma.f64 2 (/.f64 p (/.f64 x p)) x)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 2 (/.f64 p (/.f64 x p)) x))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 (*.f64 p p) x) x)))
(fma.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) (fma.f64 2 (/.f64 p (/.f64 x p)) x)))
(*.f64 2 p)
(*.f64 p 2)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 p 2))
(fma.f64 p 2 (*.f64 1/4 (/.f64 x (/.f64 p x))))
(fma.f64 p 2 (*.f64 (/.f64 1/4 p) (*.f64 x x)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p)))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2)))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2)))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 2 p))))
(fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 p 2 (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))))
(fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p 2))))
(*.f64 -2 p)
(*.f64 p -2)
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 -2 p))
(fma.f64 -1/4 (/.f64 (*.f64 x x) p) (*.f64 p -2))
(fma.f64 p -2 (*.f64 (/.f64 x (/.f64 p x)) -1/4))
(fma.f64 p -2 (*.f64 (*.f64 (/.f64 x p) x) -1/4))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p)))
(fma.f64 -1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p -2)))
(fma.f64 (/.f64 x (/.f64 p x)) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64)))
(fma.f64 (*.f64 (/.f64 x p) x) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64)))
(+.f64 (*.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (*.f64 -2 p))))
(fma.f64 -1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (fma.f64 -1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 p -2))))
(fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) -1/512 (fma.f64 (/.f64 x (/.f64 p x)) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64))))
(fma.f64 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) -1/512 (fma.f64 (*.f64 (/.f64 x p) x) -1/4 (fma.f64 p -2 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) 1/64))))

localize3.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

localize16.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.2b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
Compiler

Compiled 40 to 29 computations (27.5% saved)

series4.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite60.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
517×log-prod_binary64
452×prod-diff_binary64
302×pow-prod-down_binary64
262×pow2_binary64
248×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01015
121515
2282313
Stop Event
node limit
Counts
1 → 31
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))) (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/6) (cbrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x p) 1)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (fma.f64 1/2 (/.f64 x p) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/4) (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 1/2 (/.f64 x p) 1) 2) 1/4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (fma.f64 1/2 (/.f64 x p) 1)) 1/4)) 2))))))

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
990×distribute-rgt-out_binary64
661×associate-/r*_binary64
568×fma-def_binary64
553×associate-*r*_binary64
521×associate-*l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028324
178318
2247297
31203255
46753255
Stop Event
node limit
Counts
43 → 38
Calls
Call 1
Inputs
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
Outputs
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x))))
(fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (sqrt.f64 1/2))
(fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (sqrt.f64 1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (*.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))))))
(fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (*.f64 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (/.f64 x p)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 1/4 (*.f64 (/.f64 -1/32 p) x))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/128 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (pow.f64 x 3)) (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (*.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2)))))))
(fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (*.f64 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (/.f64 x p)) (sqrt.f64 1/2))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 1/4 (*.f64 (/.f64 -1/32 p) x))) (fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x))))
(fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (sqrt.f64 1/2))
(fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (sqrt.f64 1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (*.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))))))
(fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (*.f64 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (/.f64 x p)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 1/4 (*.f64 (/.f64 -1/32 p) x))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/128 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (pow.f64 x 3)) (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (*.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2)))))))
(fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (*.f64 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (/.f64 x p)) (sqrt.f64 1/2))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 1/4 (*.f64 (/.f64 -1/32 p) x))) (fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)))
(+.f64 (sqrt.f64 1/2) (*.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x))))
(fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (sqrt.f64 1/2))
(fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (sqrt.f64 1/2))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p)))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (*.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2))))))
(fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (*.f64 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (/.f64 x p)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 1/4 (*.f64 (/.f64 -1/32 p) x))))
(+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 x 2)) (pow.f64 p 2))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (fma.f64 1/4 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (*.f64 -1/32 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 x x)) (*.f64 p p))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/128 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 p 3)) (pow.f64 x 3)) (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 1/2) x) p) (*.f64 -1/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/2)))))))
(fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (fma.f64 1/4 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (fma.f64 -1/32 (*.f64 (*.f64 x (/.f64 (sqrt.f64 1/2) p)) (/.f64 x p)) (sqrt.f64 1/2))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 p x)) (+.f64 1/4 (*.f64 (/.f64 -1/32 p) x))) (fma.f64 1/128 (/.f64 (sqrt.f64 1/2) (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
0.5b
(/.f64 (sqrt.f64 2) x)
0.5b
(*.f64 p (sqrt.f64 1/2))
Compiler

Compiled 27 to 21 computations (22.2% saved)

series12.0ms (0.2%)

Counts
3 → 36
Calls

12 calls:

TimeVariablePointExpression
5.0ms
x
@0
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
1.0ms
p
@0
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
1.0ms
x
@inf
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
1.0ms
p
@0
(*.f64 p (sqrt.f64 1/2))
1.0ms
p
@inf
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))

rewrite66.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
984×pow1_binary64
911×add-log-exp_binary64
911×log1p-expm1-u_binary64
911×expm1-log1p-u_binary64
100×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify22.0ms (0.3%)

Algorithm
egg-herbie
Rules
17×*-commutative_binary64
17×associate-/r/_binary64
15×associate-/l*_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010408
116408
232408
359408
481408
587408
699408
Stop Event
saturated
Counts
105 → 72
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
Outputs
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
0.5b
(/.f64 (sqrt.f64 2) x)
0.5b
(*.f64 p (sqrt.f64 1/2))
Compiler

Compiled 33 to 26 computations (21.2% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
1.0ms
p
@inf
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
1.0ms
x
@0
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
0.0ms
p
@0
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
0.0ms
p
@-inf
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))

rewrite58.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
534×log-prod_binary64
405×exp-prod_binary64
321×pow-prod-down_binary64
269×pow-unpow_binary64
258×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01116
123514
2294214
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (*.f64 p (/.f64 (sqrt.f64 2) x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (*.f64 p (/.f64 (sqrt.f64 2) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (*.f64 p (/.f64 (sqrt.f64 2) x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (*.f64 p (/.f64 (sqrt.f64 2) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 2) (/.f64 x (*.f64 p (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 x (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2))) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2))) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 2)) (*.f64 p (sqrt.f64 1/2))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 p (sqrt.f64 1/2)) (neg.f64 (sqrt.f64 2))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 2 (*.f64 x x)) (*.f64 1/2 (*.f64 p p))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 2 (*.f64 x x)) (*.f64 1/2 (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (*.f64 p (/.f64 (sqrt.f64 2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 p (sqrt.f64 1/2)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 p (sqrt.f64 1/2))) 1) (log.f64 (/.f64 x (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))) (*.f64 (log.f64 x) 1)))))))

simplify53.0ms (0.7%)

Algorithm
egg-herbie
Rules
704×fma-def_binary64
228×fma-neg_binary64
66×associate-/r/_binary64
63×associate-/l*_binary64
63×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012384
122384
256384
3166384
4346384
5530384
6691384
7829384
8950384
91347384
101790384
111792384
Stop Event
saturated
Counts
64 → 42
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
Outputs
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) p))
(*.f64 (sqrt.f64 1/2) (*.f64 p (neg.f64 (/.f64 (sqrt.f64 2) x))))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))

eval152.0ms (2.1%)

Compiler

Compiled 6640 to 5164 computations (22.2% saved)

prune73.0ms (1%)

Pruning

20 alts after pruning (11 fresh and 9 done)

PrunedKeptTotal
New3538361
Fresh134
Picked011
Done088
Total35420374
Error
0.1b
Counts
374 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
53.1b
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
54.0b
(*.f64 (*.f64 p (sqrt.f64 1/2)) (*.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) x)))
54.4b
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 p p)))))
28.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
30.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
54.3b
(*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
40.4b
(sqrt.f64 (*.f64 1/2 2))
54.1b
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
11.5b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))))
59.8b
(sqrt.f64 (*.f64 1/2 (+.f64 1 -1)))
13.8b
(sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)))
54.1b
(*.f64 (*.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) x)) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
54.1b
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
27.4b
(sqrt.f64 1/2)
54.2b
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (pow.f64 (cbrt.f64 (*.f64 p (sqrt.f64 1/2))) 3)))
30.5b
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
54.1b
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
54.1b
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
54.1b
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
54.1b
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
Compiler

Compiled 400 to 331 computations (17.3% saved)

localize6.0ms (0.1%)

Compiler

Compiled 11 to 11 computations (0% saved)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 p x) 2)
0.3b
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))
21.5b
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
Compiler

Compiled 46 to 21 computations (54.3% saved)

series10.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
p
@inf
(*.f64 (/.f64 p x) 2)
1.0ms
p
@0
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))
1.0ms
p
@inf
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))
1.0ms
x
@0
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))
1.0ms
x
@inf
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
561×log-prod_binary64
412×exp-prod_binary64
332×pow-prod-down_binary64
274×pow-unpow_binary64
262×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01038
121329
2267721
Stop Event
node limit
Counts
3 → 152
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
(*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))
(*.f64 (/.f64 p x) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (/.f64 x p)) (/.f64 1/2 (/.f64 x p)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 p x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 p x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 p x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 p x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 p (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 p x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 p x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 p x)) (cbrt.f64 (pow.f64 (/.f64 x p) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 x p) -2)) (cbrt.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 p) 2) (*.f64 (cbrt.f64 p) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 p x) (sqrt.f64 2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 p x)) (sqrt.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p x) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 p) (*.f64 (sqrt.f64 p) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 p) (/.f64 1 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) p)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/2 (/.f64 x p))) (sqrt.f64 (*.f64 (/.f64 p x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 p) 2) 1) (/.f64 (cbrt.f64 p) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 p) 1) (/.f64 (sqrt.f64 p) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) -2) (/.f64 p (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 p) 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 p) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 p) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -1/2) (/.f64 p (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 p) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 p) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 p x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 x p) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 p) 2) (/.f64 x (cbrt.f64 p)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 p) (/.f64 x (sqrt.f64 p)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 p) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 x p)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 p)) (neg.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 p 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 p (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 p (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 p x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x p) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (pow.f64 (/.f64 x p) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 p x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 p x) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x p) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 p x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (/.f64 x p) -2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 p x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x p) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 p 3) (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 x p) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 p x))) 2)) (cbrt.f64 (log.f64 (/.f64 p x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 p x)))) (sqrt.f64 (log.f64 (/.f64 p x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 p (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 p x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 p x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x p) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 p x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 x p) -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 x p) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 p x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 p x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x p)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (/.f64 x p) -2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (/.f64 x p) -2)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 p x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 p) 1) (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 p) (*.f64 (log.f64 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 p) 1) (*.f64 (log.f64 x) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 x p) -2) (pow.f64 (/.f64 x p) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (pow.f64 (/.f64 x p) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 x p) -2)) 2)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 x p) -2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 p (/.f64 x (*.f64 (/.f64 p x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 p x) 2) (/.f64 x p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (*.f64 p (*.f64 (/.f64 p x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 p 2) (*.f64 (/.f64 x p) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 p (*.f64 (/.f64 p x) 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 p (*.f64 (/.f64 p x) 2))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 p (*.f64 p 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 p) (*.f64 p 2)) (*.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 p 2) p) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 p 2) 1) (*.f64 x (/.f64 x p)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 p 2) (neg.f64 p)) (*.f64 x (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 p (*.f64 (/.f64 p x) 2)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 p (*.f64 (/.f64 p x) 2)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 p (*.f64 (/.f64 p x) 2)) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 p) (*.f64 (/.f64 p x) 2)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 p x) (*.f64 p 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (/.f64 p x) 2) (neg.f64 p)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 p x) 4) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 p x) (sqrt.f64 2)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 p x) (sqrt.f64 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (*.f64 p (*.f64 (/.f64 p x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))))) (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (/.f64 p x) 4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (/.f64 x p) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 p x) (sqrt.f64 2)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 p x) (sqrt.f64 2)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 p x) (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (pow.f64 (/.f64 x p) -2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 p x) 2)) 1) (log.f64 (/.f64 x p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 p (*.f64 (/.f64 p x) 2))) (*.f64 (log.f64 x) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 p x) (/.f64 p x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 p x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (/.f64 p x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (/.f64 p x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (/.f64 p x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (/.f64 p x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 p x) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 p (/.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 x p))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (*.f64 p 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 p 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 p 2)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 p 2) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 p 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 p 2) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 p) 2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 p)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 p x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 x p) -2) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 p x) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 p x) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 p x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 p x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (*.f64 p 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 p x) 2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 p x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 p x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (/.f64 x p) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) (/.f64 p x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 p x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 p x) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 p x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 p x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 p x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 p x) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 p x) 2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 p x) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 p x) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 p x) 2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 p 2)) (*.f64 (log.f64 x) 1)))))))

simplify79.0ms (1.1%)

Algorithm
egg-herbie
Rules
759×associate-/l*_binary64
473×associate-/r*_binary64
386×associate-*l/_binary64
386×associate-/l/_binary64
371×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012592
130592
262592
3170592
4857592
55365592
66363592
77141592
Stop Event
node limit
Counts
224 → 158
Calls
Call 1
Inputs
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(*.f64 -1 (/.f64 p x))
(*.f64 -1 (/.f64 p x))
(*.f64 -1 (/.f64 p x))
(*.f64 -1 (/.f64 p x))
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(*.f64 -1 (/.f64 p x))
(*.f64 -1 (/.f64 p x))
(*.f64 -1 (/.f64 p x))
(*.f64 -1 (/.f64 p x))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
(*.f64 2 (/.f64 p x))
Outputs
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(/.f64 p x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(*.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)))
(*.f64 2 (*.f64 (/.f64 p x) (/.f64 p x)))
(*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))
(*.f64 2 (/.f64 p x))
(*.f64 (/.f64 p x) 2)
(*.f64 p (/.f64 2 x))

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
0.5b
(*.f64 (sqrt.f64 1/2) p)
Compiler

Compiled 30 to 24 computations (20% saved)

series4.0ms (0%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
2.0ms
p
@-inf
(*.f64 (sqrt.f64 1/2) p)
0.0ms
p
@-inf
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
0.0ms
p
@inf
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
0.0ms
p
@0
(*.f64 (sqrt.f64 1/2) p)
0.0ms
p
@inf
(*.f64 (sqrt.f64 1/2) p)

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
572×pow1_binary64
530×add-log-exp_binary64
530×log1p-expm1-u_binary64
530×expm1-log1p-u_binary64
519×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0817
11617
217517
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) p)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) p) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) p) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) p)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) p)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (*.f64 p p)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) p))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) p) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) p)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) p)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) p)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 p) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 p 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 p 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 p) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 p) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 p p))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 p 3))))) (#(struct:change #<rule egg-rr> (2) ((x . p)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 p))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 p))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize19.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
0.4b
(*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))
0.5b
(*.f64 p (sqrt.f64 1/2))
Compiler

Compiled 42 to 34 computations (19% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
p
@0
(*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))
0.0ms
x
@0
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
0.0ms
x
@inf
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
0.0ms
p
@-inf
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
0.0ms
x
@-inf
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))

rewrite66.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
593×log-prod_binary64
367×pow-prod-down_binary64
288×pow2_binary64
245×pow-unpow_binary64
204×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01228
124925
2305017
Stop Event
node limit
Counts
2 → 91
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 p (pow.f64 1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 p) (pow.f64 1 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 p) (pow.f64 1 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 p) (pow.f64 1 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 p) (pow.f64 1 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 p (pow.f64 1 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 p (pow.f64 1 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 1/2 (*.f64 p p))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 p (pow.f64 1 1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 p (pow.f64 1 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 p (pow.f64 1 1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 p) (pow.f64 1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 p (pow.f64 1 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 p (pow.f64 1 1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 p (pow.f64 1 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 p (pow.f64 1 1/2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 p (pow.f64 1 1/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 p (pow.f64 1 1/2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 p (pow.f64 1 1/2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 p (pow.f64 1 1/2)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)) (cbrt.f64 (pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) -2)) (cbrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)) (sqrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 x) (*.f64 p (pow.f64 1 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 p (pow.f64 1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) 1) (/.f64 (*.f64 p (sqrt.f64 1/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 p (sqrt.f64 1/2)) 1) (/.f64 (sqrt.f64 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 p p)))) 1) (/.f64 (cbrt.f64 (*.f64 p (pow.f64 1 1/2))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) 1) (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sqrt.f64 2) p) 1) (/.f64 (sqrt.f64 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (*.f64 p (sqrt.f64 1/2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 p (sqrt.f64 1/2)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 2) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) -2) (/.f64 (*.f64 p (pow.f64 1 1/2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 p p)))) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (cbrt.f64 (*.f64 p (pow.f64 1 1/2))) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sqrt.f64 2) p) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 1/2) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 x)) (/.f64 (*.f64 p (sqrt.f64 1/2)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 p (sqrt.f64 1/2)) (sqrt.f64 x)) (/.f64 (sqrt.f64 2) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -1/2) (/.f64 (*.f64 p (pow.f64 1 1/2)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 p p)))) (sqrt.f64 x)) (/.f64 (cbrt.f64 (*.f64 p (pow.f64 1 1/2))) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) (sqrt.f64 x)) (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sqrt.f64 2) p) (sqrt.f64 x)) (/.f64 (sqrt.f64 1/2) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 x)) (neg.f64 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 x (sqrt.f64 2))) (*.f64 p (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2)))) -2) (cbrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (sqrt.f64 2)) (*.f64 p (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) 1) (*.f64 p (pow.f64 1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (cbrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 p p))))) (cbrt.f64 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 p (pow.f64 1 1/2)))) (sqrt.f64 (*.f64 p (pow.f64 1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (*.f64 (sqrt.f64 2) p)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 p (pow.f64 1 1/2)) 3) (pow.f64 x 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 x) (*.f64 p (pow.f64 1 1/2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 p (pow.f64 1 1/2))) (sqrt.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 p (pow.f64 1 1/2)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2)))) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 x (*.f64 p (pow.f64 1 1/2)))) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 p (pow.f64 1 1/2)) x)) 1) 1))))))

simplify25.0ms (0.3%)

Algorithm
egg-herbie
Rules
17×*-commutative_binary64
17×associate-/r/_binary64
15×associate-/l*_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010468
116468
232468
359468
481468
587468
699468
Stop Event
saturated
Counts
127 → 94
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
Outputs
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (sqrt.f64 2) (/.f64 x (*.f64 (sqrt.f64 1/2) p)))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 x p))
(*.f64 (/.f64 (sqrt.f64 2) (/.f64 x p)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 p p))
0.3b
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 p p)))))
0.5b
(/.f64 (sqrt.f64 2) x)
28.5b
(sqrt.f64 (*.f64 1/2 (*.f64 p p)))
Compiler

Compiled 45 to 27 computations (40% saved)

series4.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
p
@inf
(*.f64 1/2 (*.f64 p p))
0.0ms
p
@0
(*.f64 1/2 (*.f64 p p))
0.0ms
p
@0
(sqrt.f64 (*.f64 1/2 (*.f64 p p)))
0.0ms
x
@inf
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 p p)))))
0.0ms
p
@inf
(sqrt.f64 (*.f64 1/2 (*.f64 p p)))

rewrite94.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
556×log-prod_binary64
419×exp-prod_binary64
339×pow-prod-down_binary64
276×pow-unpow_binary64
274×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify80.0ms (1.1%)

Algorithm
egg-herbie
Rules
828×fma-def_binary64
505×fma-neg_binary64
457×associate-/r/_binary64
376×associate-*l*_binary64
327×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015540
135540
289540
3242540
4733540
52422540
64279540
76397540
Stop Event
node limit
Counts
173 → 132
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (pow.f64 p 2))
Outputs
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 (sqrt.f64 1/2) p)
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(neg.f64 (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (neg.f64 p))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(neg.f64 (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (neg.f64 p))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(neg.f64 (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (neg.f64 p))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) p))
(neg.f64 (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (neg.f64 p))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (neg.f64 p)) (sqrt.f64 2)) x)
(*.f64 (neg.f64 (/.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (neg.f64 (sqrt.f64 2)) x) p))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (neg.f64 p) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x)
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (/.f64 (sqrt.f64 1/2) (/.f64 x (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p x) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x)
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (/.f64 (sqrt.f64 1/2) (/.f64 x (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p x) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x)
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (/.f64 (sqrt.f64 1/2) (/.f64 x (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p x) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) p) (sqrt.f64 2)) x)
(*.f64 (/.f64 (sqrt.f64 2) x) (*.f64 (sqrt.f64 1/2) p))
(*.f64 (*.f64 (sqrt.f64 1/2) p) (/.f64 (sqrt.f64 2) x))
(*.f64 p (/.f64 (sqrt.f64 1/2) (/.f64 x (sqrt.f64 2))))
(*.f64 (sqrt.f64 1/2) (*.f64 (/.f64 p x) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (/.f64 p x)))
(*.f64 (sqrt.f64 1/2) (*.f64 p (/.f64 (sqrt.f64 2) x)))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))
(*.f64 1/2 (pow.f64 p 2))
(*.f64 1/2 (*.f64 p p))

eval229.0ms (3.2%)

Compiler

Compiled 5908 to 4244 computations (28.2% saved)

prune124.0ms (1.7%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New4485453
Fresh606
Picked101
Done6713
Total46112473
Error
0.1b
Counts
473 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
54.0b
(*.f64 (/.f64 1 x) p)
53.1b
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))))
54.0b
(/.f64 (neg.f64 p) x)
27.4b
(sqrt.f64 1/2)
54.0b
(/.f64 p x)
54.0b
(/.f64 1 (/.f64 x p))
30.5b
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
28.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
30.1b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
40.4b
(sqrt.f64 (*.f64 1/2 2))
11.5b
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))))
13.8b
(sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1)))
Compiler

Compiled 120 to 93 computations (22.5% saved)

regimes342.0ms (4.8%)

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

12 calls:

77.0ms
p
47.0ms
(*.f64 (*.f64 4 p) p)
45.0ms
(*.f64 (*.f64 4 p) p)
28.0ms
x
24.0ms
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
Results
ErrorSegmentsBranch
9.5b3p
11.5b1x
5.4b2(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
5.4b2(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
5.4b2(*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))))
5.4b2(*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))))
5.4b2(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
5.4b2(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
5.4b2(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
5.4b2(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
10.0b3(*.f64 (*.f64 4 p) p)
10.0b3(*.f64 (*.f64 4 p) p)
Compiler

Compiled 454 to 332 computations (26.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0
-0.9999999181892065
Compiler

Compiled 24 to 18 computations (25% saved)

regimes231.0ms (3.2%)

Counts
26 → 2
Calls
Call 1
Inputs
(/.f64 p x)
(/.f64 (neg.f64 p) x)
(*.f64 (/.f64 1 x) p)
(/.f64 1 (/.f64 x p))
(sqrt.f64 1/2)
(sqrt.f64 (*.f64 1/2 2))
(sqrt.f64 (*.f64 1/2 1))
(sqrt.f64 (*.f64 1/2 (+.f64 1 -1)))
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
(sqrt.f64 (*.f64 1/2 (*.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 p p)))))
(*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
Outputs
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x)))))
Calls

12 calls:

42.0ms
(*.f64 (*.f64 4 p) p)
41.0ms
(*.f64 (*.f64 4 p) p)
35.0ms
p
21.0ms
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
20.0ms
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
Results
ErrorSegmentsBranch
9.6b3p
11.5b1x
5.4b2(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
5.4b2(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
5.4b2(*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))))
5.4b2(*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))))
5.4b2(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
5.4b2(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
5.4b2(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
5.4b2(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
10.0b3(*.f64 (*.f64 4 p) p)
10.0b3(*.f64 (*.f64 4 p) p)
Compiler

Compiled 395 to 282 computations (28.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0
-0.9999999181892065
Compiler

Compiled 24 to 18 computations (25% saved)

regimes104.0ms (1.5%)

Counts
23 → 5
Calls
Call 1
Inputs
(/.f64 p x)
(/.f64 (neg.f64 p) x)
(*.f64 (/.f64 1 x) p)
(/.f64 1 (/.f64 x p))
(sqrt.f64 1/2)
(sqrt.f64 (*.f64 1/2 2))
(sqrt.f64 (*.f64 1/2 1))
(sqrt.f64 (*.f64 1/2 (+.f64 1 -1)))
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
(sqrt.f64 (*.f64 1/2 (*.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 p p)))))
(*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
Outputs
(sqrt.f64 1/2)
(*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
(sqrt.f64 (*.f64 1/2 2))
(/.f64 (neg.f64 p) x)
(sqrt.f64 1/2)
Calls

2 calls:

53.0ms
p
44.0ms
x
Results
ErrorSegmentsBranch
14.7b5p
20.9b3x
Compiler

Compiled 206 to 148 computations (28.2% saved)

bsearch217.0ms (3.1%)

Algorithm
binary-search
Steps
TimeLeftRight
48.0ms
1.3006941638237393e-101
2.1893520960740853e-99
50.0ms
5.312375818186186e-119
3.762903245190379e-116
69.0ms
-3.529971554799478e-262
-3.099359349246642e-262
50.0ms
-3.110819616271134e-113
-4.166814666207525e-121
Compiler

Compiled 24 to 18 computations (25% saved)

regimes97.0ms (1.4%)

Counts
22 → 5
Calls
Call 1
Inputs
(/.f64 p x)
(/.f64 (neg.f64 p) x)
(*.f64 (/.f64 1 x) p)
(/.f64 1 (/.f64 x p))
(sqrt.f64 1/2)
(sqrt.f64 (*.f64 1/2 2))
(sqrt.f64 (*.f64 1/2 1))
(sqrt.f64 (*.f64 1/2 (+.f64 1 -1)))
(sqrt.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2 (/.f64 x p)) 1)))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (*.f64 x 1/2) p))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 p (/.f64 2 x)))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2))))
(sqrt.f64 (*.f64 1/2 (*.f64 2 (*.f64 (/.f64 p (*.f64 x x)) p))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (-.f64 (*.f64 (/.f64 -2 x) (*.f64 p p)) x)))))
(*.f64 p (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) x)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x)
(*.f64 (*.f64 p (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) x))
(*.f64 (neg.f64 p) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) x)))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (*.f64 p (sqrt.f64 1/2))))
(/.f64 1 (/.f64 x (*.f64 (sqrt.f64 2) (*.f64 p (sqrt.f64 1/2)))))
(*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) p)) x))
(*.f64 (/.f64 (sqrt.f64 2) x) (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 p p)))))
Outputs
(sqrt.f64 1/2)
(/.f64 p x)
(sqrt.f64 (*.f64 1/2 2))
(/.f64 (neg.f64 p) x)
(sqrt.f64 1/2)
Calls

2 calls:

48.0ms
p
42.0ms
x
Results
ErrorSegmentsBranch
14.7b5p
20.9b3x
Compiler

Compiled 194 to 140 computations (27.8% saved)

bsearch209.0ms (2.9%)

Algorithm
binary-search
Steps
TimeLeftRight
46.0ms
1.3006941638237393e-101
2.1893520960740853e-99
48.0ms
5.312375818186186e-119
3.762903245190379e-116
66.0ms
-3.529971554799478e-262
-3.099359349246642e-262
48.0ms
-3.110819616271134e-113
-4.166814666207525e-121
Compiler

Compiled 24 to 18 computations (25% saved)

regimes32.0ms (0.5%)

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

2 calls:

18.0ms
p
13.0ms
x
Results
ErrorSegmentsBranch
18.6b4p
25.8b2x
Compiler

Compiled 27 to 17 computations (37% saved)

bsearch168.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
48.0ms
1.3006941638237393e-101
2.1893520960740853e-99
69.0ms
1.1892777029715038e-269
4.596021061912641e-261
50.0ms
-3.110819616271134e-113
-4.166814666207525e-121
Compiler

Compiled 24 to 18 computations (25% saved)

regimes28.0ms (0.4%)

Accuracy

Total -12.5b remaining (-25.8%)

Threshold costs -12.5b (-25.8%)

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

2 calls:

18.0ms
x
8.0ms
p
Results
ErrorSegmentsBranch
48.4b2p
50.7b4x
Compiler

Compiled 25 to 15 computations (40% saved)

bsearch69.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
69.0ms
1.1892777029715038e-269
4.596021061912641e-261
Compiler

Compiled 24 to 18 computations (25% saved)

simplify18.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
063270
187270
2104270
3115270
4120270
5121270
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))) -1) (sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1))))
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))) -1) (sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x))))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p -6257447467365781/17726622920963562283492833353875882150307419319860869157979152909707315649514250439943889552308992750523075148942386782770807567185698815677056677116184170553481231217950104164393978236130449019315710017470734562946173533283208371259654747728689409291887821024109648618981425152) (*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (neg.f64 (*.f64 p (sqrt.f64 1/2)))) (if (<=.f64 p 2413275289168299/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (sqrt.f64 (*.f64 1/2 2)) (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p -6257447467365781/17726622920963562283492833353875882150307419319860869157979152909707315649514250439943889552308992750523075148942386782770807567185698815677056677116184170553481231217950104164393978236130449019315710017470734562946173533283208371259654747728689409291887821024109648618981425152) (/.f64 p x) (if (<=.f64 p 2413275289168299/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (sqrt.f64 (*.f64 1/2 2)) (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p 7073904212776979/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (/.f64 p x) (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2))))
(if (<=.f64 p 7073904212776979/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (/.f64 p x) (/.f64 (neg.f64 p) x))
(/.f64 p x)
Outputs
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))) -1) (sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 2 p))) x 1))))
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 p (*.f64 4 p)) (*.f64 x x)))) -1) (sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (*.f64 1/2 (fma.f64 (/.f64 1 (hypot.f64 x (*.f64 p 2))) x 1))))
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))) -1) (sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 2 p) x))))))
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 p (*.f64 4 p)) (*.f64 x x)))) -1) (sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 p x) (*.f64 (/.f64 p x) 2)))) (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (hypot.f64 (*.f64 p 2) x))))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p -6257447467365781/17726622920963562283492833353875882150307419319860869157979152909707315649514250439943889552308992750523075148942386782770807567185698815677056677116184170553481231217950104164393978236130449019315710017470734562946173533283208371259654747728689409291887821024109648618981425152) (*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (neg.f64 (*.f64 p (sqrt.f64 1/2)))) (if (<=.f64 p 2413275289168299/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (sqrt.f64 (*.f64 1/2 2)) (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p -6257447467365781/17726622920963562283492833353875882150307419319860869157979152909707315649514250439943889552308992750523075148942386782770807567185698815677056677116184170553481231217950104164393978236130449019315710017470734562946173533283208371259654747728689409291887821024109648618981425152) (*.f64 (sqrt.f64 (/.f64 2 (*.f64 x x))) (*.f64 p (neg.f64 (sqrt.f64 1/2)))) (if (<=.f64 p 2413275289168299/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) 1 (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p -6257447467365781/17726622920963562283492833353875882150307419319860869157979152909707315649514250439943889552308992750523075148942386782770807567185698815677056677116184170553481231217950104164393978236130449019315710017470734562946173533283208371259654747728689409291887821024109648618981425152) (/.f64 p x) (if (<=.f64 p 2413275289168299/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (sqrt.f64 (*.f64 1/2 2)) (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p -6257447467365781/17726622920963562283492833353875882150307419319860869157979152909707315649514250439943889552308992750523075148942386782770807567185698815677056677116184170553481231217950104164393978236130449019315710017470734562946173533283208371259654747728689409291887821024109648618981425152) (/.f64 p x) (if (<=.f64 p 2413275289168299/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) 1 (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2)))))
(if (<=.f64 p -5390797046194697/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (sqrt.f64 1/2) (if (<=.f64 p 7073904212776979/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (/.f64 p x) (if (<=.f64 p 4099996760207769/315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454528) (/.f64 (neg.f64 p) x) (sqrt.f64 1/2))))
(if (<=.f64 p 7073904212776979/594806763391113225119224999259960224052504080663757783622308743726376262864161749418067325798462540235919489516077189220181834098217962283116332232440957850313188336178983949577074563933719094748095678312940574882427099482751152035262839576139463233204818042181657565129506139525873664) (/.f64 p x) (/.f64 (neg.f64 p) x))
(/.f64 p x)
Compiler

Compiled 195 to 138 computations (29.2% saved)

soundness66.0ms (0.9%)

Algorithm
egg-herbie
Rules
754×associate-/l*_binary64
715×associate-+r+_binary64
586×associate-*l*_binary64
579×associate-/r*_binary64
566×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02191861
16731788
223561749
Stop Event
node limit
Compiler

Compiled 66 to 45 computations (31.8% saved)

end87.0ms (1.2%)

Compiler

Compiled 183 to 113 computations (38.3% saved)

Profiling

Loading profile data...