Details

Time bar (total: 5.2s)

analyze1.2s (23.4%)

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
36%12.6%51.4%13
36.2%12.4%51.4%14
Compiler

Compiled 28 to 20 computations (28.6% saved)

sample2.1s (40.1%)

Results
887.0ms6214×body128valid
553.0ms869×body2048valid
262.0ms519×body1024valid
234.0ms300×body4096valid
90.0ms240×body512valid
27.0ms114×body256valid
Compiler

Compiled 56 to 40 computations (28.6% saved)

preprocess19.0ms (0.4%)

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 1/2 (/.f64 x (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 19 to 14 computations (26.3% saved)

simplify8.0ms (0.2%)

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

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
13.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
13.1b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
Compiler

Compiled 68 to 48 computations (29.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 4 (*.f64 p p))
0.0b
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
1.1b
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)
15.8b
(sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))

series17.0ms (0.3%)

Counts
4 → 84
Calls

21 calls:

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

rewrite52.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
544×log-prod_binary64
204×expm1-udef_binary64
204×log1p-udef_binary64
180×log-pow_binary64
154×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01262
124744
2288144
Stop Event
node limit
Counts
4 → 101
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))
(fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
(*.f64 4 (*.f64 p p))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 x (*.f64 p 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 x (*.f64 p 2)))) (cbrt.f64 (exp.f64 (hypot.f64 x (*.f64 p 2)))))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 x (*.f64 p 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 x (*.f64 p 2))))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 x (*.f64 p 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 x (*.f64 p 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 x (*.f64 p 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 x (*.f64 p 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 2) (cbrt.f64 (hypot.f64 x (*.f64 p 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 x (*.f64 p 2))) (sqrt.f64 (hypot.f64 x (*.f64 p 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 2) 2)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (hypot.f64 x (*.f64 p 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 2) 2) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 p 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 x (*.f64 p 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 x (*.f64 p 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 x (*.f64 p 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 x (*.f64 p 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (hypot.f64 x (*.f64 p 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 x (*.f64 p 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 x (*.f64 p 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 x (*.f64 p 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 x (*.f64 p 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 x (*.f64 p 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 x (*.f64 p 2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 x (*.f64 p 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 x (*.f64 p 2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 p 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 x (*.f64 p 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) 1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4) (*.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4)) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) 3) 1/8) (fma.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) (-.f64 1/4 (*.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) (*.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2)))) -1/4) (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 p (*.f64 4 p)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 p (*.f64 4 p)))) (cbrt.f64 (exp.f64 (*.f64 p (*.f64 4 p)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 p (*.f64 4 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 p (*.f64 4 p))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 p (*.f64 4 p))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 p (*.f64 4 p)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 p (*.f64 4 p)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 p (*.f64 4 p)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 p (*.f64 4 p))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 p 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 p 4) 16))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 p (*.f64 4 p))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 p (*.f64 4 p)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 p (*.f64 4 p)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 p (*.f64 4 p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 p (*.f64 4 p))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 p (*.f64 4 p))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 p (*.f64 4 p))))))))

simplify44.0ms (0.9%)

Algorithm
egg-herbie
Rules
578×associate-/l*_binary64
518×associate-/r*_binary64
435×fma-def_binary64
304×cancel-sign-sub-inv_binary64
210×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01541801
14971749
217471656
Stop Event
node limit
Counts
185 → 188
Calls
Call 1
Inputs
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (*.f64 2 p))) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) x)) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(*.f64 -1 x)
(neg.f64 (+.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 2 (/.f64 (pow.f64 p 2) x)) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) x)))
x
(+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) x)) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(*.f64 2 p)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (*.f64 2 p))) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(*.f64 -2 p)
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (*.f64 2 p))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
1/2
(-.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/4 (/.f64 x p))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(*.f64 -1 (/.f64 p x))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (/.f64 p x))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (pow.f64 p 2))
Outputs
(*.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 (/.f64 x p) x)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 2 p)) (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 2 p (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64)))
(fma.f64 2 p (fma.f64 1/4 (*.f64 (/.f64 x p) x) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (*.f64 2 p))) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (*.f64 2 p))) (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (*.f64 2 p))) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64))
(fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64 (fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 2 p (/.f64 (pow.f64 x 6) (/.f64 (pow.f64 p 5) 1/512)))))
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 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) x) x) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(+.f64 (fma.f64 2 (/.f64 p (/.f64 x p)) x) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2 (fma.f64 2 (*.f64 (/.f64 p x) p) x))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) x)) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) x) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x)) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(fma.f64 2 (/.f64 p (/.f64 x p)) (+.f64 (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2)))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2 (fma.f64 2 (*.f64 (/.f64 p x) p) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x)))
(*.f64 -1 x)
(neg.f64 x)
(neg.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x))
(neg.f64 (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(-.f64 (*.f64 (/.f64 p (/.f64 x p)) -2) x)
(-.f64 (*.f64 (*.f64 (/.f64 p x) p) -2) 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))) (fma.f64 2 (/.f64 (*.f64 p p) x) x))
(-.f64 (*.f64 2 (-.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (/.f64 p (/.f64 x p)))) x)
(-.f64 (*.f64 2 (-.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (*.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)) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) x)))
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))) (fma.f64 2 (/.f64 (*.f64 p p) x) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x)))
(-.f64 (*.f64 2 (-.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (/.f64 p (/.f64 x p)))) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x))
(-.f64 (*.f64 2 (-.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) (*.f64 (/.f64 p x) p))) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) 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)
(fma.f64 2 (*.f64 (/.f64 p x) p) x)
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) x) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) x) x) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(+.f64 (fma.f64 2 (/.f64 p (/.f64 x p)) x) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2 (fma.f64 2 (*.f64 (/.f64 p x) p) x))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) x)) (+.f64 (*.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5))) x)) (*.f64 2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) x) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x)) (*.f64 -2 (/.f64 (pow.f64 p 4) (pow.f64 x 3))))
(fma.f64 2 (/.f64 p (/.f64 x p)) (+.f64 (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) x) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2)))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 3)) -2 (fma.f64 2 (*.f64 (/.f64 p x) p) (fma.f64 4 (/.f64 (pow.f64 p 6) (pow.f64 x 5)) 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 (/.f64 x p) x)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 2 p)) (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 2 p (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64)))
(fma.f64 2 p (fma.f64 1/4 (*.f64 (/.f64 x p) x) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (*.f64 2 p))) (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (*.f64 2 p))) (*.f64 -1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 x (/.f64 p x)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (*.f64 2 p))) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64))
(fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) -1/64 (fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 2 p (/.f64 (pow.f64 x 6) (/.f64 (pow.f64 p 5) 1/512)))))
(*.f64 -2 p)
(*.f64 p -2)
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)))
(neg.f64 (fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 2 p)))
(+.f64 (*.f64 (/.f64 x (/.f64 p x)) -1/4) (*.f64 p -2))
(fma.f64 p -2 (*.f64 (*.f64 (/.f64 x p) x) -1/4))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (*.f64 2 p)))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (fma.f64 1/4 (/.f64 (*.f64 x x) p) (*.f64 2 p)))
(-.f64 (/.f64 1/64 (/.f64 (pow.f64 p 3) (pow.f64 x 4))) (fma.f64 2 p (/.f64 (*.f64 1/4 (*.f64 x x)) p)))
(fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (fma.f64 p -2 (*.f64 (*.f64 (/.f64 x p) x) -1/4)))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) p)) (+.f64 (*.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5))) (*.f64 2 p))))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (fma.f64 1/4 (/.f64 (*.f64 x x) p) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (*.f64 2 p))))
(-.f64 (fma.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3)) (*.f64 (/.f64 x (/.f64 p x)) -1/4)) (fma.f64 1/512 (/.f64 (pow.f64 x 6) (pow.f64 p 5)) (*.f64 2 p)))
(-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 4) (pow.f64 p 3))) (fma.f64 1/4 (*.f64 (/.f64 x p) x) (fma.f64 2 p (/.f64 (pow.f64 x 6) (/.f64 (pow.f64 p 5) 1/512)))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(fma.f64 1/4 (/.f64 x p) 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 1/2 (-.f64 (*.f64 1/4 (/.f64 x p)) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (/.f64 (*.f64 -1/32 (pow.f64 x 3)) (pow.f64 p 3)))
(-.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (/.f64 1/32 (pow.f64 (/.f64 p x) 3)))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (/.f64 (*.f64 -1/32 (pow.f64 x 3)) (pow.f64 p 3)))
(-.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (/.f64 1/32 (pow.f64 (/.f64 p x) 3)))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 1 (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 1 (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x)))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6))))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (*.f64 -3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(-.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(-.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))) (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 p x) (/.f64 p x) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) -35))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 1 (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 1 (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x)))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 (pow.f64 p 6) 10) (pow.f64 x 6))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(fma.f64 1/4 (/.f64 x p) 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 1/2 (-.f64 (*.f64 1/4 (/.f64 x p)) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (/.f64 (*.f64 -1/32 (pow.f64 x 3)) (pow.f64 p 3)))
(-.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (/.f64 1/32 (pow.f64 (/.f64 p x) 3)))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (/.f64 (*.f64 -1/32 (pow.f64 x 3)) (pow.f64 p 3)))
(-.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (/.f64 1/32 (pow.f64 (/.f64 p x) 3)))
1/2
(-.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(+.f64 1/2 (*.f64 -1/4 (/.f64 x p)))
(+.f64 1/2 (*.f64 (/.f64 x p) -1/4))
(fma.f64 (/.f64 x p) -1/4 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 1/4 (/.f64 x p)))
(+.f64 1/2 (-.f64 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 1/4 (/.f64 x p))))
(+.f64 1/2 (fma.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 x p) -1/4)))
(+.f64 (/.f64 1/32 (pow.f64 (/.f64 p x) 3)) (fma.f64 (/.f64 x p) -1/4 1/2))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/4 (/.f64 x p))))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/4 (/.f64 x p))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/2) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/4 (/.f64 x p))))
(+.f64 1/2 (+.f64 (/.f64 1/32 (pow.f64 (/.f64 p x) 3)) (fma.f64 (/.f64 x p) -1/4 (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) -3/512))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (*.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (/.f64 (*.f64 -1/128 (*.f64 x x)) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 p p))))))
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (*.f64 (/.f64 p x) p))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
(-.f64 (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (sqrt.f64 1/2))))))
(-.f64 (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))) (fma.f64 1/64 (/.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)) (pow.f64 p 3)) (/.f64 (*.f64 (*.f64 x x) 1/128) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 p p))))))
(+.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (-.f64 (/.f64 (/.f64 1/1024 (pow.f64 (/.f64 p x) 3)) (pow.f64 (sqrt.f64 1/2) 5)) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (*.f64 (/.f64 p x) p)) (/.f64 (/.f64 1/64 (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 p p) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 1)
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (*.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8)) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 1/2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16)))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -69/16)))
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (/.f64 p x))
(fma.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3)) (neg.f64 (/.f64 p x)))
(fma.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3)) (/.f64 (neg.f64 p) x))
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (/.f64 p x))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
(-.f64 (fma.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3)) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (fma.f64 3/2 (pow.f64 (/.f64 p x) 3) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 p p) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 1)
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (*.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8)) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 1/2 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16)))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -69/16)))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (*.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))))))
(+.f64 (sqrt.f64 1/2) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (/.f64 (*.f64 -1/128 (*.f64 x x)) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 p p))))))
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (*.f64 (/.f64 p x) p))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
(-.f64 (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (sqrt.f64 1/2))))))
(-.f64 (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))) (fma.f64 1/64 (/.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)) (pow.f64 p 3)) (/.f64 (*.f64 (*.f64 x x) 1/128) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 p p))))))
(+.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (-.f64 (/.f64 (/.f64 1/1024 (pow.f64 (/.f64 p x) 3)) (pow.f64 (sqrt.f64 1/2) 5)) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (*.f64 (/.f64 p x) p)) (/.f64 (/.f64 1/64 (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(+.f64 (sqrt.f64 1/2) (/.f64 (*.f64 -1/8 x) (*.f64 p (sqrt.f64 1/2))))
(fma.f64 (/.f64 x (*.f64 p (sqrt.f64 1/2))) -1/8 (sqrt.f64 1/2))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))))
(-.f64 (sqrt.f64 1/2) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))))))
(-.f64 (sqrt.f64 1/2) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (/.f64 (*.f64 (*.f64 x x) 1/128) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 p p))))))
(-.f64 (sqrt.f64 1/2) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (*.f64 (/.f64 p x) p)) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (sqrt.f64 1/2)))) (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))))))))
(-.f64 (fma.f64 1/64 (/.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)) (pow.f64 p 3)) (sqrt.f64 1/2)) (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (/.f64 (*.f64 (*.f64 x x) 1/128) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 p p)))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (-.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 1/1024 (pow.f64 (sqrt.f64 1/2) 5))))) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 x (*.f64 (/.f64 p x) p)) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))))))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))
(*.f64 4 (pow.f64 p 2))
(*.f64 4 (*.f64 p p))
(*.f64 p (*.f64 p 4))

prune171.0ms (3.3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1835188
Fresh000
Picked101
Done000
Total1845189
Error
3.1b
Counts
189 → 5
Alt Table
StatusErrorProgram
13.1b
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
13.1b
(sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1))
52.7b
(/.f64 (neg.f64 p) x)
56.4b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
52.1b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 3793 to 2803 computations (26.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (hypot.f64 x (*.f64 p 2)))
0.0b
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2)
0.1b
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
1.1b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)

series27.0ms (0.5%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
3.0ms
x
@0
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
3.0ms
p
@0
(/.f64 x (hypot.f64 x (*.f64 p 2)))
3.0ms
p
@inf
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
2.0ms
x
@inf
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)

rewrite54.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
537×log-prod_binary64
219×expm1-udef_binary64
219×log1p-udef_binary64
185×log-pow_binary64
133×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01358
128357
2315357
Stop Event
node limit
Counts
4 → 114
Calls
Call 1
Inputs
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
(pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2)
(/.f64 x (hypot.f64 x (*.f64 p 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) 1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4) (*.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/4) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) 3) 1/8) (fma.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) (-.f64 1/4 (*.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) (*.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p)))) -1/4) (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/4) 1/3) (pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/4) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))) (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/4) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 2) 3/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 3/2) (pow.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) (cbrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4)) (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3/2 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (+.f64 p p))) 1/2) 3/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 x (hypot.f64 x (+.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (+.f64 p p))))) (cbrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (+.f64 p p))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 x (hypot.f64 x (+.f64 p p))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1 (hypot.f64 x (+.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (hypot.f64 x (+.f64 p p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 x (hypot.f64 x (+.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) (pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) 2) (cbrt.f64 (/.f64 x (hypot.f64 x (+.f64 p 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 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) (sqrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 x (+.f64 p 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 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (hypot.f64 x (+.f64 p p))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (hypot.f64 x (+.f64 p p))) 2)) (/.f64 x (cbrt.f64 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (hypot.f64 x (+.f64 p p))) 2)) (cbrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (hypot.f64 x (+.f64 p p))) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (hypot.f64 x (+.f64 p p)))) (/.f64 x (sqrt.f64 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (hypot.f64 x (+.f64 p p)))) (/.f64 (cbrt.f64 x) (sqrt.f64 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (hypot.f64 x (+.f64 p p))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x (hypot.f64 x (+.f64 p p))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 x (+.f64 p p)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 x (hypot.f64 x (+.f64 p p))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 x (hypot.f64 x (+.f64 p p))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x (hypot.f64 x (+.f64 p p))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 x (+.f64 p p)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 x (hypot.f64 x (+.f64 p p)))))))))

simplify75.0ms (1.5%)

Algorithm
egg-herbie
Rules
600×cancel-sign-sub-inv_binary64
284×fma-neg_binary64
238×sub-neg_binary64
210×distribute-neg-frac_binary64
187×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02673328
19413039
233122882
Stop Event
node limit
Counts
210 → 229
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
1/2
(-.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/4 (/.f64 x p))))
(sqrt.f64 1/2)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (sqrt.f64 1/2))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 1/8) 2)) (pow.f64 p 2)))))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 5/192 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/8) 3)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 p 3))))))) (+.f64 (*.f64 13/384 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 3)))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 1/8) 2)) (pow.f64 p 2)))) (*.f64 1/64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11)) 1/3) (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/8) 2)) (pow.f64 p 3)))))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3)
(-.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (*.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(-.f64 (+.f64 (*.f64 31/8 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3)) (*.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(-.f64 (+.f64 (*.f64 31/8 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3)) (+.f64 (*.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))) (*.f64 187/16 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 6) (pow.f64 x 6))))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(sqrt.f64 1/2)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (sqrt.f64 1/2))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2)))))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 5/192 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 x 3)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 p 3))))))) (+.f64 (*.f64 1/64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 3)) (pow.f64 p 3)))) (+.f64 (*.f64 13/384 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 3)))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2)))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (sqrt.f64 1/2)) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2))))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 3)) (pow.f64 p 3)))) (*.f64 13/384 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 3))))))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2)))) (*.f64 5/192 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 x 3)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 p 3)))))))
(sqrt.f64 1/8)
(+.f64 (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)) (sqrt.f64 1/8))
(+.f64 (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)) (+.f64 (*.f64 3/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (pow.f64 p 2))) (sqrt.f64 1/8)))
(-.f64 (+.f64 (*.f64 3/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (pow.f64 p 2))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)) (sqrt.f64 1/8))) (*.f64 13/128 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (pow.f64 p 3))))
1
(-.f64 1 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 275/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2)))))
(-.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (*.f64 9/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 2)) (pow.f64 x 2))))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (*.f64 147/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 4)) (pow.f64 x 4)))) (*.f64 9/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 2)) (pow.f64 x 2))))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (*.f64 147/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 4)) (pow.f64 x 4)))) (+.f64 (*.f64 9/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 2)) (pow.f64 x 2))) (*.f64 1173/16 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 6)) (pow.f64 x 6)))))
1
(-.f64 1 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 275/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(sqrt.f64 1/8)
(+.f64 (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)) (sqrt.f64 1/8))
(+.f64 (*.f64 3/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (pow.f64 p 2))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)) (sqrt.f64 1/8)))
(-.f64 (+.f64 (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)) (+.f64 (*.f64 3/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (pow.f64 p 2))) (sqrt.f64 1/8))) (*.f64 13/128 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 3)) (pow.f64 p 3))))
(sqrt.f64 1/8)
(-.f64 (sqrt.f64 1/8) (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)))
(-.f64 (+.f64 (*.f64 3/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (pow.f64 p 2))) (sqrt.f64 1/8)) (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)))
(-.f64 (+.f64 (*.f64 13/128 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 3/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (pow.f64 p 2))) (sqrt.f64 1/8))) (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)))
(*.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 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (+.f64 (*.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 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
-1
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) 1)
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))) (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
1
(-.f64 1 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(*.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 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))))
(*.f64 -1/2 (/.f64 x p))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 1/2 (/.f64 x p)))
(-.f64 (*.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/2 (/.f64 x p))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))) (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))))
Outputs
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(fma.f64 1/4 (/.f64 x p) 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 1/2 (-.f64 (*.f64 1/4 (/.f64 x p)) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1/2 (fma.f64 1/4 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32)))
(+.f64 1/2 (fma.f64 1/4 (/.f64 x p) (*.f64 (pow.f64 (/.f64 x p) 3) -1/32)))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 (pow.f64 (/.f64 x p) 3) -1/32)))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 1 (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x)))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (/.f64 (*.f64 -3 (pow.f64 p 4)) (pow.f64 x 4)))
(fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 -3 (pow.f64 p 4)) (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (*.f64 -3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (/.f64 (*.f64 -3 (pow.f64 p 4)) (pow.f64 x 4)))
(fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 p x) (/.f64 p x) (/.f64 (*.f64 -3 (pow.f64 p 4)) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(-.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 p x) (/.f64 p x) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (/.f64 -35 (/.f64 (pow.f64 x 8) (pow.f64 p 8))))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 1 (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x)))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(fma.f64 1/4 (/.f64 x p) 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 1/2 (-.f64 (*.f64 1/4 (/.f64 x p)) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))))
(+.f64 1/2 (fma.f64 1/4 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32)))
(+.f64 1/2 (fma.f64 1/4 (/.f64 x p) (*.f64 (pow.f64 (/.f64 x p) 3) -1/32)))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 (pow.f64 (/.f64 x p) 3) -1/32)))
1/2
(-.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(+.f64 1/2 (*.f64 -1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 1/4 (/.f64 x p)))
(+.f64 1/2 (-.f64 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 1/4 (/.f64 x p))))
(+.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/2) (*.f64 (/.f64 x p) -1/4))
(+.f64 (fma.f64 1/32 (pow.f64 (/.f64 x p) 3) 1/2) (*.f64 (/.f64 x p) -1/4))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/4 (/.f64 x p))))
(+.f64 1/2 (-.f64 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/4 (/.f64 x p)))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/2) (fma.f64 1/4 (/.f64 x p) (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)))))
(-.f64 (fma.f64 1/32 (pow.f64 (/.f64 x p) 3) 1/2) (fma.f64 1/4 (/.f64 x p) (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)))))
(sqrt.f64 1/2)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (sqrt.f64 1/2))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 1/8) 2)) (pow.f64 p 2)))))
(+.f64 (fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (fma.f64 1/32 (*.f64 (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (*.f64 p p))) (sqrt.f64 1/2))) (*.f64 -1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8))))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) -1/16))
(fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (+.f64 (sqrt.f64 1/2) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) -1/16))))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 5/192 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/8) 3)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 p 3))))))) (+.f64 (*.f64 13/384 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 3)))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 1/8) 2)) (pow.f64 p 2)))) (*.f64 1/64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11)) 1/3) (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/8) 2)) (pow.f64 p 3)))))))
(-.f64 (fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (+.f64 (fma.f64 1/32 (*.f64 (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (*.f64 p p))) (sqrt.f64 1/2)) (*.f64 5/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 4)) (/.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 p 3)))))) (fma.f64 13/384 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (pow.f64 p 3))) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (*.f64 p p) (*.f64 x x)))) (*.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (pow.f64 p 3) (pow.f64 x 3))))))))
(-.f64 (+.f64 (fma.f64 5/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (sqrt.f64 1/8) 2)) (sqrt.f64 1/2)) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8))))) (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/8)) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) (*.f64 13/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (sqrt.f64 1/8))))))
(+.f64 (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)))) (-.f64 (fma.f64 5/192 (*.f64 (pow.f64 (/.f64 x p) 3) (/.f64 (sqrt.f64 1/8) 2)) (sqrt.f64 1/2)) (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (*.f64 (pow.f64 (/.f64 x p) 3) 1/8)) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) (*.f64 13/192 (*.f64 (pow.f64 (/.f64 x p) 3) (sqrt.f64 1/8)))))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 1/2 (*.f64 p p)) (*.f64 x x)))
(-.f64 1 (/.f64 (*.f64 p (*.f64 p 1/2)) (*.f64 x x)))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (/.f64 (*.f64 1/2 (*.f64 p p)) (*.f64 x x))))
(+.f64 1 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 (/.f64 (*.f64 -1/2 (*.f64 p p)) (*.f64 x x))))
(+.f64 1 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 (/.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8)) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (/.f64 (*.f64 (pow.f64 p 6) 69/16) (pow.f64 x 6))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -1/2 (/.f64 -69/16 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)))
(-.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (*.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(-.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p))))) (*.f64 (*.f64 3/2 (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (/.f64 (*.f64 p p) (*.f64 x x))))
(+.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p))))) (*.f64 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) -3/2))
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2))) (*.f64 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)))) -3/2))
(-.f64 (+.f64 (*.f64 31/8 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3)) (*.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))))
(-.f64 (fma.f64 31/8 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (*.f64 (*.f64 3/2 (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (/.f64 (*.f64 p p) (*.f64 x x))))
(+.f64 (fma.f64 31/8 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) (*.f64 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) -3/2))
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2))) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2))) 31/8) (*.f64 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)))) -3/2)))
(-.f64 (+.f64 (*.f64 31/8 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3)) (+.f64 (*.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))) (*.f64 187/16 (*.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) 1/3) (/.f64 (pow.f64 p 6) (pow.f64 x 6))))))
(-.f64 (fma.f64 31/8 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (fma.f64 3/2 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))) (*.f64 187/16 (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))))))))
(-.f64 (fma.f64 31/8 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) (fma.f64 3/2 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))))) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p))))) 187/16))))
(-.f64 (fma.f64 31/8 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)))) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)))) (fma.f64 3/2 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)))) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2))) 187/16))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 1/2 (*.f64 p p)) (*.f64 x x)))
(-.f64 1 (/.f64 (*.f64 p (*.f64 p 1/2)) (*.f64 x x)))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (/.f64 (*.f64 1/2 (*.f64 p p)) (*.f64 x x))))
(+.f64 1 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 (/.f64 (*.f64 -1/2 (*.f64 p p)) (*.f64 x x))))
(+.f64 1 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 (/.f64 -1/2 (/.f64 (*.f64 x x) (*.f64 p p)))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8)) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (/.f64 (*.f64 (pow.f64 p 6) 69/16) (pow.f64 x 6))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -1/2 (/.f64 -69/16 (/.f64 (pow.f64 x 6) (pow.f64 p 6)))))
(sqrt.f64 1/2)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (sqrt.f64 1/2))
(fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (sqrt.f64 1/2))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2)))))
(+.f64 (fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (fma.f64 1/32 (*.f64 (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (*.f64 p p))) (sqrt.f64 1/2))) (*.f64 -1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (*.f64 p p) (*.f64 x x))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8))))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) -1/16))
(fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (+.f64 (sqrt.f64 1/2) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) -1/16))))
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (+.f64 (sqrt.f64 1/2) (*.f64 5/192 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 x 3)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 p 3))))))) (+.f64 (*.f64 1/64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 3)) (pow.f64 p 3)))) (+.f64 (*.f64 13/384 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 3)))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2)))))))
(-.f64 (fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (+.f64 (fma.f64 1/32 (*.f64 (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (*.f64 p p))) (sqrt.f64 1/2)) (*.f64 5/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 4)) (/.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 p 3)))))) (fma.f64 13/384 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (pow.f64 p 3))) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (*.f64 p p) (*.f64 x x)))) (*.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (pow.f64 p 3) (pow.f64 x 3))))))))
(-.f64 (+.f64 (fma.f64 5/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (sqrt.f64 1/8) 2)) (sqrt.f64 1/2)) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8))))) (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/8)) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) (*.f64 13/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (sqrt.f64 1/8))))))
(+.f64 (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)))) (-.f64 (fma.f64 5/192 (*.f64 (pow.f64 (/.f64 x p) 3) (/.f64 (sqrt.f64 1/8) 2)) (sqrt.f64 1/2)) (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (*.f64 (pow.f64 (/.f64 x p) 3) 1/8)) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) (*.f64 13/192 (*.f64 (pow.f64 (/.f64 x p) 3) (sqrt.f64 1/8)))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) -1/4))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (sqrt.f64 1/2)) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2))))))
(-.f64 (fma.f64 1/32 (*.f64 (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (*.f64 p p))) (sqrt.f64 1/2)) (fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (*.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (*.f64 p p) (*.f64 x x)))))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)))) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (/.f64 (*.f64 (*.f64 1/16 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)))) (*.f64 x x)) (/.f64 (*.f64 p p) 1/8))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 2)))) (+.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 3)) (pow.f64 p 3)))) (*.f64 13/384 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 p 3))))))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2)) 1/3) (/.f64 (*.f64 x (sqrt.f64 1/8)) p))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7)) 1/3) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 2) (pow.f64 x 2)) (pow.f64 p 2)))) (*.f64 5/192 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 x 3)) (*.f64 (pow.f64 (sqrt.f64 1/2) 4) (pow.f64 p 3)))))))
(-.f64 (+.f64 (fma.f64 1/32 (*.f64 (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (*.f64 p p))) (sqrt.f64 1/2)) (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))) (*.f64 13/384 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 2)) (/.f64 (sqrt.f64 1/8) (pow.f64 p 3)))))) (fma.f64 1/4 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 2))) (/.f64 (sqrt.f64 1/8) (/.f64 p x))) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (/.f64 (pow.f64 (sqrt.f64 1/8) 2) (/.f64 (*.f64 p p) (*.f64 x x)))) (*.f64 5/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 4)) (/.f64 (pow.f64 (sqrt.f64 1/8) 3) (pow.f64 p 3)))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)))) (-.f64 (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/8)) (*.f64 13/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (sqrt.f64 1/8)))) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) (*.f64 5/192 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (/.f64 (sqrt.f64 1/8) 2)))))))
(+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/16 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)))) (-.f64 (fma.f64 1/64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 11))) (*.f64 (pow.f64 (/.f64 x p) 3) 1/8)) (*.f64 13/192 (*.f64 (pow.f64 (/.f64 x p) 3) (sqrt.f64 1/8)))) (fma.f64 1/4 (*.f64 (cbrt.f64 2) (*.f64 (/.f64 x p) (sqrt.f64 1/8))) (fma.f64 1/16 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 1/2) 7))) (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) 1/8)) (*.f64 5/192 (*.f64 (pow.f64 (/.f64 x p) 3) (/.f64 (sqrt.f64 1/8) 2)))))))
(sqrt.f64 1/8)
(+.f64 (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)) (sqrt.f64 1/8))
(fma.f64 3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x)) (sqrt.f64 1/8))
(fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (sqrt.f64 1/8))
(+.f64 (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)) (+.f64 (*.f64 3/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (pow.f64 p 2))) (sqrt.f64 1/8)))
(fma.f64 3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x)) (fma.f64 3/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/8))) (sqrt.f64 1/8)))
(fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (sqrt.f64 1/8)))
(-.f64 (+.f64 (*.f64 3/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (pow.f64 p 2))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)) (sqrt.f64 1/8))) (*.f64 13/128 (/.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/8)) (pow.f64 p 3))))
(+.f64 (fma.f64 3/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/8))) (fma.f64 3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x)) (sqrt.f64 1/8))) (*.f64 -13/128 (/.f64 (sqrt.f64 1/8) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))
(fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (+.f64 (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (sqrt.f64 1/8)) (/.f64 (*.f64 -13/128 (sqrt.f64 1/8)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))
(fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (+.f64 (fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (sqrt.f64 1/8)) (/.f64 (*.f64 -13/128 (sqrt.f64 1/8)) (pow.f64 (/.f64 p x) 3))))
1
(-.f64 1 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 3/2 (*.f64 p p)) (*.f64 x x)))
(+.f64 1 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -3/2))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8) (/.f64 (*.f64 3/2 (*.f64 p p)) (*.f64 x x))))
(+.f64 1 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -3/2)))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 275/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8)) (fma.f64 3/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 275/16)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8 1) (fma.f64 (/.f64 (*.f64 p p) (*.f64 x x)) 3/2 (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 275/16)))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p))))
(pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p))))
(*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2))
(-.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (*.f64 9/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 2)) (pow.f64 x 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (*.f64 -9/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (/.f64 (*.f64 x x) (*.f64 p p)))))
(+.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) (*.f64 (*.f64 (/.f64 (*.f64 p p) x) (/.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) x)) -9/2))
(fma.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2) (*.f64 (*.f64 (/.f64 (*.f64 p p) x) (/.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)) x)) -9/2))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (*.f64 147/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 4)) (pow.f64 x 4)))) (*.f64 9/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 2)) (pow.f64 x 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (-.f64 (*.f64 147/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (/.f64 (pow.f64 x 4) (pow.f64 p 4)))) (*.f64 9/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (/.f64 (*.f64 x x) (*.f64 p p))))))
(+.f64 (fma.f64 147/8 (/.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p))))) (*.f64 (*.f64 (/.f64 (*.f64 p p) x) (/.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) x)) -9/2))
(+.f64 (*.f64 147/8 (/.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)) (/.f64 (pow.f64 x 4) (pow.f64 p 4)))) (fma.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2) (*.f64 (*.f64 (/.f64 (*.f64 p p) x) (/.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)) x)) -9/2)))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (*.f64 147/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 4)) (pow.f64 x 4)))) (+.f64 (*.f64 9/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 2)) (pow.f64 x 2))) (*.f64 1173/16 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 (/.f64 -1 x))) (log.f64 (pow.f64 p 2))))) (pow.f64 p 6)) (pow.f64 x 6)))))
(-.f64 (+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (*.f64 147/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (/.f64 (pow.f64 x 4) (pow.f64 p 4))))) (fma.f64 9/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (/.f64 (*.f64 x x) (*.f64 p p))) (*.f64 1173/16 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 (/.f64 -1 x)) (*.f64 2 (log.f64 p)))) (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(-.f64 (fma.f64 147/8 (/.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p))))) (fma.f64 9/2 (*.f64 (/.f64 (*.f64 p p) x) (/.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) x)) (*.f64 1173/16 (/.f64 (pow.f64 (exp.f64 3/2) (*.f64 2 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 p)))) (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
(-.f64 (fma.f64 147/8 (/.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)) (/.f64 (pow.f64 x 4) (pow.f64 p 4))) (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2))) (fma.f64 9/2 (*.f64 (/.f64 (*.f64 p p) x) (/.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)) x)) (*.f64 1173/16 (/.f64 (*.f64 (pow.f64 (/.f64 -1 x) 3) (pow.f64 (*.f64 p p) 3/2)) (/.f64 (pow.f64 x 6) (pow.f64 p 6))))))
1
(-.f64 1 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 3/2 (*.f64 p p)) (*.f64 x x)))
(+.f64 1 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -3/2))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8) (/.f64 (*.f64 3/2 (*.f64 p p)) (*.f64 x x))))
(+.f64 1 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -3/2)))
(-.f64 (+.f64 1 (*.f64 39/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 275/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8)) (fma.f64 3/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 275/16)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 39/8 1) (fma.f64 (/.f64 (*.f64 p p) (*.f64 x x)) 3/2 (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 275/16)))
(sqrt.f64 1/8)
(+.f64 (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)) (sqrt.f64 1/8))
(fma.f64 3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x)) (sqrt.f64 1/8))
(fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (sqrt.f64 1/8))
(+.f64 (*.f64 3/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (pow.f64 p 2))) (+.f64 (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)) (sqrt.f64 1/8)))
(fma.f64 3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x)) (fma.f64 3/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/8))) (sqrt.f64 1/8)))
(fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (sqrt.f64 1/8)))
(-.f64 (+.f64 (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)) (+.f64 (*.f64 3/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (pow.f64 p 2))) (sqrt.f64 1/8))) (*.f64 13/128 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 3)) (pow.f64 p 3))))
(+.f64 (fma.f64 3/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/8))) (fma.f64 3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x)) (sqrt.f64 1/8))) (*.f64 -13/128 (/.f64 (sqrt.f64 1/8) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))
(fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (+.f64 (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (sqrt.f64 1/8)) (/.f64 (*.f64 -13/128 (sqrt.f64 1/8)) (/.f64 (pow.f64 p 3) (pow.f64 x 3)))))
(fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (+.f64 (fma.f64 (*.f64 (/.f64 x p) (sqrt.f64 1/8)) 3/4 (sqrt.f64 1/8)) (/.f64 (*.f64 -13/128 (sqrt.f64 1/8)) (pow.f64 (/.f64 p x) 3))))
(sqrt.f64 1/8)
(-.f64 (sqrt.f64 1/8) (*.f64 3/4 (/.f64 (*.f64 (sqrt.f64 1/8) x) p)))
(+.f64 (sqrt.f64 1/8) (*.f64 -3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x))))
(+.f64 (sqrt.f64 1/8) (/.f64 (*.f64 -3/4 (sqrt.f64 1/8)) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 3/32 (/.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 1/8)) (pow.f64 p 2))) (sqrt.f64 1/8)) (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)))
(+.f64 (fma.f64 3/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/8))) (sqrt.f64 1/8)) (*.f64 -3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x))))
(fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (+.f64 (sqrt.f64 1/8) (/.f64 (*.f64 -3/4 (sqrt.f64 1/8)) (/.f64 p x))))
(+.f64 (sqrt.f64 1/8) (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (/.f64 (*.f64 -3/4 (sqrt.f64 1/8)) (/.f64 p x))))
(-.f64 (+.f64 (*.f64 13/128 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 3)) (pow.f64 p 3))) (+.f64 (*.f64 3/32 (/.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 x 2)) (pow.f64 p 2))) (sqrt.f64 1/8))) (*.f64 3/4 (/.f64 (*.f64 x (sqrt.f64 1/8)) p)))
(+.f64 (fma.f64 13/128 (/.f64 (sqrt.f64 1/8) (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (fma.f64 3/32 (/.f64 (*.f64 x x) (/.f64 (*.f64 p p) (sqrt.f64 1/8))) (sqrt.f64 1/8))) (*.f64 -3/4 (/.f64 (sqrt.f64 1/8) (/.f64 p x))))
(fma.f64 13/128 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (sqrt.f64 1/8)) (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (+.f64 (sqrt.f64 1/8) (/.f64 (*.f64 -3/4 (sqrt.f64 1/8)) (/.f64 p x)))))
(fma.f64 13/128 (*.f64 (pow.f64 (/.f64 x p) 3) (sqrt.f64 1/8)) (+.f64 (sqrt.f64 1/8) (fma.f64 3/32 (*.f64 (/.f64 (*.f64 x x) (*.f64 p p)) (sqrt.f64 1/8)) (/.f64 (*.f64 -3/4 (sqrt.f64 1/8)) (/.f64 p 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 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 1/2 (/.f64 x p) (*.f64 (pow.f64 (/.f64 x p) 3) -1/16))
(-.f64 (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/2 (/.f64 x p))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256 (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 5) (pow.f64 p 5)) 3/256 (fma.f64 1/2 (/.f64 x p) (*.f64 (pow.f64 (/.f64 x p) 3) -1/16)))
(-.f64 (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))))
(-.f64 (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.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)))))
(-.f64 (fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256 (fma.f64 1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/16))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256 (fma.f64 1/2 (/.f64 x p) (fma.f64 (pow.f64 (/.f64 x p) 3) -1/16 (/.f64 -5/2048 (/.f64 (pow.f64 p 7) (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))))
(+.f64 1 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -2))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6)) (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6 1) (*.f64 (/.f64 2 x) (/.f64 (*.f64 p p) x)))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 20)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6 1) (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 20 (*.f64 (/.f64 2 x) (/.f64 (*.f64 p p) x))))
-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)
(-.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(-.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6))
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1) (*.f64 -6 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) -1) (/.f64 -6 (/.f64 (pow.f64 x 4) (pow.f64 p 4))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))) (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
(-.f64 (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 20)) (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 20 (*.f64 (/.f64 2 x) (/.f64 (*.f64 p p) x))) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6 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))))
(+.f64 1 (*.f64 (/.f64 (*.f64 p p) (*.f64 x x)) -2))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6)) (*.f64 -2 (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6 1) (*.f64 (/.f64 2 x) (/.f64 (*.f64 p p) x)))
(-.f64 (+.f64 1 (*.f64 6 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 20 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6)) (fma.f64 2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 20)))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 6 1) (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 20 (*.f64 (/.f64 2 x) (/.f64 (*.f64 p p) 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 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 1/2 (/.f64 x p) (*.f64 (pow.f64 (/.f64 x p) 3) -1/16))
(-.f64 (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/2 (/.f64 x p))) (*.f64 -1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256 (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 5) (pow.f64 p 5)) 3/256 (fma.f64 1/2 (/.f64 x p) (*.f64 (pow.f64 (/.f64 x p) 3) -1/16)))
(-.f64 (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))))
(-.f64 (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.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)))))
(-.f64 (fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256 (fma.f64 1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/16))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7))))
(fma.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256 (fma.f64 1/2 (/.f64 x p) (fma.f64 (pow.f64 (/.f64 x p) 3) -1/16 (/.f64 -5/2048 (/.f64 (pow.f64 p 7) (pow.f64 x 7))))))
(*.f64 -1/2 (/.f64 x p))
(*.f64 (/.f64 x p) -1/2)
(/.f64 (*.f64 x -1/2) p)
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 1/2 (/.f64 x p)))
(+.f64 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16) (*.f64 (/.f64 x p) -1/2))
(fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (/.f64 (*.f64 x -1/2) p))
(fma.f64 (pow.f64 (/.f64 x p) 3) 1/16 (/.f64 (*.f64 x -1/2) p))
(-.f64 (*.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/2 (/.f64 x p))))
(-.f64 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16) (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/2 (/.f64 x p))))
(-.f64 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16) (fma.f64 1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256)))
(+.f64 (fma.f64 (pow.f64 (/.f64 x p) 3) 1/16 (/.f64 (*.f64 x -1/2) p)) (/.f64 -3/256 (/.f64 (pow.f64 p 5) (pow.f64 x 5))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))) (+.f64 (*.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/2 (/.f64 x p))))
(-.f64 (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)))) (fma.f64 3/256 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/2 (/.f64 x p))))
(-.f64 (fma.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/16 (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))) (fma.f64 1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256)))
(-.f64 (fma.f64 (pow.f64 (/.f64 x p) 3) 1/16 (*.f64 5/2048 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))) (fma.f64 1/2 (/.f64 x p) (*.f64 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) 3/256)))

prune189.0ms (3.7%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2290229
Fresh044
Picked011
Done000
Total2295234
Error
3.1b
Counts
234 → 5
Alt Table
StatusErrorProgram
13.1b
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
13.1b
(sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1))
52.7b
(/.f64 (neg.f64 p) x)
56.4b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
52.1b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 6204 to 4175 computations (32.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (hypot.f64 x (*.f64 p 2)))
0.0b
(sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1))
1.1b
(fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2)
1.2b
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1)

series12.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

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

rewrite51.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
274×prod-diff_binary64
221×log1p-udef_binary64
220×expm1-udef_binary64
186×log-pow_binary64
148×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify32.0ms (0.6%)

Algorithm
egg-herbie
Rules
972×times-frac_binary64
469×associate-/l*_binary64
428×associate-/r*_binary64
319×fma-def_binary64
222×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01201213
13761167
213301090
Stop Event
node limit
Counts
128 → 135
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
1/2
(-.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 1/4 (/.f64 x p)))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/4 (/.f64 x p))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(*.f64 -1 (/.f64 p x))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (/.f64 p x))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))))
Outputs
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(fma.f64 1/4 (/.f64 x p) 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32))
(+.f64 1/2 (fma.f64 1/4 (/.f64 x p) (/.f64 -1/32 (pow.f64 (/.f64 p x) 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (/.f64 -1/32 (pow.f64 (/.f64 p x) 3))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 1 (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 1 (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x)))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 -3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(-.f64 (*.f64 (/.f64 p x) (/.f64 p x)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (*.f64 -3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))))
(+.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))) (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3))
(fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))))
(-.f64 (+.f64 (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6))) (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (+.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(-.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x))) (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(-.f64 (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))) (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) (*.f64 35 (/.f64 (pow.f64 p 8) (pow.f64 x 8)))))
(fma.f64 (/.f64 p x) (/.f64 p x) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) -3 (*.f64 (/.f64 (pow.f64 p 8) (pow.f64 x 8)) -35))))
1
(-.f64 1 (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(-.f64 1 (/.f64 (*.f64 p p) (*.f64 x x)))
(-.f64 1 (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (/.f64 (pow.f64 p 2) (pow.f64 x 2)))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (/.f64 (*.f64 p p) (*.f64 x x))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (*.f64 (/.f64 p x) (/.f64 p x)))
(-.f64 (+.f64 1 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4))) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (/.f64 (*.f64 p p) (*.f64 x x)))))
(-.f64 (fma.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 1) (fma.f64 10 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) (*.f64 (/.f64 p x) (/.f64 p x))))
1/2
(+.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(fma.f64 1/4 (/.f64 x p) 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (+.f64 1/2 (*.f64 1/4 (/.f64 x p))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32))
(+.f64 1/2 (fma.f64 1/4 (/.f64 x p) (/.f64 -1/32 (pow.f64 (/.f64 p x) 3))))
(-.f64 (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (+.f64 1/2 (*.f64 1/4 (/.f64 x p)))) (*.f64 -1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))))
(+.f64 (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (fma.f64 1/4 (/.f64 x p) 1/2)) (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) -1/32))
(+.f64 (fma.f64 1/4 (/.f64 x p) 1/2) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (/.f64 -1/32 (pow.f64 (/.f64 p x) 3))))
1/2
(-.f64 1/2 (*.f64 1/4 (/.f64 x p)))
(+.f64 1/2 (*.f64 -1/4 (/.f64 x p)))
(+.f64 1/2 (*.f64 (/.f64 x p) -1/4))
(fma.f64 (/.f64 x p) -1/4 1/2)
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 1/4 (/.f64 x p)))
(+.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (*.f64 -1/4 (/.f64 x p)))
(+.f64 1/2 (fma.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (*.f64 (/.f64 x p) -1/4)))
(+.f64 (/.f64 1/32 (pow.f64 (/.f64 p x) 3)) (fma.f64 (/.f64 x p) -1/4 1/2))
(-.f64 (+.f64 1/2 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)))) (+.f64 (*.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5))) (*.f64 1/4 (/.f64 x p))))
(+.f64 1/2 (-.f64 (*.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (fma.f64 3/512 (/.f64 (pow.f64 x 5) (pow.f64 p 5)) (*.f64 1/4 (/.f64 x p)))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) 1/2) (fma.f64 1/4 (/.f64 x p) (/.f64 3/512 (/.f64 (pow.f64 p 5) (pow.f64 x 5)))))
(+.f64 (/.f64 1/32 (pow.f64 (/.f64 p x) 3)) (+.f64 1/2 (fma.f64 (/.f64 x p) -1/4 (/.f64 -3/512 (/.f64 (pow.f64 p 5) (pow.f64 x 5))))))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (/.f64 (*.f64 1/128 (*.f64 x x)) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3)))))
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (/.f64 (*.f64 (*.f64 1/128 x) x) (*.f64 (*.f64 p p) (*.f64 1/2 (sqrt.f64 1/2)))))
(+.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 -1/64 (/.f64 (*.f64 x x) (*.f64 (sqrt.f64 1/2) (*.f64 p p)))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
(-.f64 (fma.f64 1/1024 (/.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 5)) (pow.f64 p 3)) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/64 (/.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)) (pow.f64 p 3)))))
(-.f64 (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))) (fma.f64 1/128 (*.f64 (/.f64 x (*.f64 p p)) (/.f64 x (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (/.f64 1/64 (pow.f64 p 3)) (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)))))
(+.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (-.f64 (/.f64 (/.f64 1/1024 (pow.f64 (/.f64 p x) 3)) (pow.f64 (sqrt.f64 1/2) 5)) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (*.f64 (/.f64 x p) (/.f64 x p)) (/.f64 (/.f64 1/64 (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 p p) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 1)
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (*.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16))))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16 (*.f64 1/2 (*.f64 (/.f64 p x) (/.f64 p x)))))
(+.f64 (fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -69/16))
(*.f64 -1 (/.f64 p x))
(neg.f64 (/.f64 p x))
(/.f64 (neg.f64 p) x)
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (/.f64 p x))
(-.f64 (/.f64 3/2 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (/.f64 p x))
(fma.f64 3/2 (pow.f64 (/.f64 p x) 3) (/.f64 (neg.f64 p) x))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
(-.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (/.f64 3/2 (/.f64 (pow.f64 x 3) (pow.f64 p 3))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (*.f64 3/2 (pow.f64 (/.f64 p x) 3)) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (+.f64 (*.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3))) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (+.f64 (*.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5))) (/.f64 p x)))
(-.f64 (fma.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3)) (/.f64 (*.f64 187/16 (pow.f64 p 7)) (pow.f64 x 7))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (fma.f64 3/2 (/.f64 (pow.f64 p 3) (pow.f64 x 3)) (/.f64 187/16 (/.f64 (pow.f64 x 7) (pow.f64 p 7)))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
(-.f64 (fma.f64 3/2 (pow.f64 (/.f64 p x) 3) (*.f64 187/16 (/.f64 (pow.f64 p 7) (pow.f64 x 7)))) (fma.f64 31/8 (/.f64 (pow.f64 p 5) (pow.f64 x 5)) (/.f64 p x)))
1
(-.f64 1 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -1/2 (/.f64 (*.f64 p p) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 1)
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (*.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)))))
(+.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (*.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2))
(fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1))
(-.f64 (+.f64 1 (*.f64 11/8 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 p 2) (pow.f64 x 2))) (*.f64 69/16 (/.f64 (pow.f64 p 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8) (fma.f64 1/2 (/.f64 (*.f64 p p) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16))))
(-.f64 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1) (fma.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) 69/16 (*.f64 1/2 (*.f64 (/.f64 p x) (/.f64 p x)))))
(+.f64 (fma.f64 (*.f64 (/.f64 p x) (/.f64 p x)) -1/2 (fma.f64 (/.f64 (pow.f64 p 4) (pow.f64 x 4)) 11/8 1)) (*.f64 (/.f64 (pow.f64 p 6) (pow.f64 x 6)) -69/16))
(sqrt.f64 1/2)
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))) (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))) (/.f64 (*.f64 1/128 (*.f64 x x)) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3)))))
(-.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (/.f64 (*.f64 (*.f64 1/128 x) x) (*.f64 (*.f64 p p) (*.f64 1/2 (sqrt.f64 1/2)))))
(+.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (*.f64 -1/64 (/.f64 (*.f64 x x) (*.f64 (sqrt.f64 1/2) (*.f64 p p)))))
(-.f64 (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))))
(-.f64 (fma.f64 1/1024 (/.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 5)) (pow.f64 p 3)) (+.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/64 (/.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)) (pow.f64 p 3)))))
(-.f64 (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2))) (fma.f64 1/128 (*.f64 (/.f64 x (*.f64 p p)) (/.f64 x (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (/.f64 1/64 (pow.f64 p 3)) (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)))))
(+.f64 (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (sqrt.f64 1/2)) (-.f64 (/.f64 (/.f64 1/1024 (pow.f64 (/.f64 p x) 3)) (pow.f64 (sqrt.f64 1/2) 5)) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (*.f64 (/.f64 x p) (/.f64 x p)) (/.f64 (/.f64 1/64 (pow.f64 (/.f64 p x) 3)) (sqrt.f64 1/2)))))
(sqrt.f64 1/2)
(-.f64 (sqrt.f64 1/2) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))
(+.f64 (sqrt.f64 1/2) (*.f64 -1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2)))))
(+.f64 (sqrt.f64 1/2) (/.f64 (*.f64 -1/8 x) (*.f64 p (sqrt.f64 1/2))))
(fma.f64 (/.f64 x (*.f64 p (sqrt.f64 1/2))) -1/8 (sqrt.f64 1/2))
(-.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p)))))
(-.f64 (sqrt.f64 1/2) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))))))
(-.f64 (sqrt.f64 1/2) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (/.f64 (*.f64 (*.f64 1/128 x) x) (*.f64 (*.f64 p p) (*.f64 1/2 (sqrt.f64 1/2))))))
(-.f64 (sqrt.f64 1/2) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (*.f64 (/.f64 x p) (/.f64 x p)) (*.f64 (/.f64 x p) (/.f64 1/8 (sqrt.f64 1/2)))))
(-.f64 (+.f64 (sqrt.f64 1/2) (*.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (sqrt.f64 1/2) (pow.f64 p 3))))) (+.f64 (*.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 p 3)))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 p 2)))) (*.f64 1/8 (/.f64 x (*.f64 (sqrt.f64 1/2) p))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 1/64 (/.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 1/2)) (pow.f64 p 3))) (fma.f64 1/1024 (/.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 1/2) 5)) (pow.f64 p 3)) (fma.f64 1/128 (/.f64 (*.f64 x x) (*.f64 (*.f64 p p) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))))))))
(-.f64 (fma.f64 1/64 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (sqrt.f64 1/2))) (sqrt.f64 1/2)) (fma.f64 1/1024 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 p 3) (pow.f64 (sqrt.f64 1/2) 5))) (fma.f64 1/8 (/.f64 x (*.f64 p (sqrt.f64 1/2))) (/.f64 (*.f64 (*.f64 1/128 x) x) (*.f64 (*.f64 p p) (*.f64 1/2 (sqrt.f64 1/2)))))))
(+.f64 (sqrt.f64 1/2) (-.f64 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 p 3)) (-.f64 (/.f64 1/64 (sqrt.f64 1/2)) (/.f64 1/1024 (pow.f64 (sqrt.f64 1/2) 5)))) (fma.f64 (/.f64 1/64 (sqrt.f64 1/2)) (*.f64 (/.f64 x p) (/.f64 x p)) (*.f64 (/.f64 x p) (/.f64 1/8 (sqrt.f64 1/2))))))

prune187.0ms (3.6%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2590259
Fresh033
Picked011
Done011
Total2595264
Error
3.1b
Counts
264 → 5
Alt Table
StatusErrorProgram
13.1b
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
13.1b
(sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1))
52.7b
(/.f64 (neg.f64 p) x)
56.4b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
52.1b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))
Compiler

Compiled 5891 to 4127 computations (29.9% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 p x) (/.f64 p x))
23.4b
(sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x)))

series6.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite33.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
605×pow1_binary64
567×add-log-exp_binary64
567×log1p-expm1-u_binary64
567×expm1-log1p-u_binary64
57×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify39.0ms (0.8%)

Algorithm
egg-herbie
Rules
671×times-frac_binary64
650×unswap-sqr_binary64
326×associate-/l*_binary64
213×associate-/r*_binary64
150×associate-/l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010352
122352
242352
3106352
4434352
53292352
64926352
Stop Event
node limit
Counts
136 → 92
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 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
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 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))
(/.f64 (pow.f64 p 2) (pow.f64 x 2))
(/.f64 (*.f64 p p) (*.f64 x x))
(*.f64 (/.f64 p x) (/.f64 p x))

prune28.0ms (0.5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New91192
Fresh022
Picked101
Done022
Total92597
Error
0b
Counts
97 → 5
Alt Table
StatusErrorProgram
13.1b
(pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3)
13.1b
(sqrt.f64 (-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2))) 1))
52.7b
(/.f64 (neg.f64 p) x)
53.1b
(/.f64 p x)
56.4b
(sqrt.f64 (-.f64 (/.f64 (pow.f64 p 2) (pow.f64 x 2)) (*.f64 3 (/.f64 (pow.f64 p 4) (pow.f64 x 4)))))
Compiler

Compiled 813 to 390 computations (52% saved)

regimes719.0ms (13.9%)

Accuracy

Total 6.1b remaining (99.2%)

Threshold costs 0b (0%)

Counts
124 → 2
Compiler

Compiled 1630 to 1173 computations (28% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x))))
Steps
ItersPointRange
-0.5
∈ [
-0.9999999999999942
,
-0.21431415589860525
]
Compiler

Compiled 14 to 9 computations (35.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0274294967295
1314294967295
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))) -1/2) (sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x))) (pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3))
Outputs
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))) -1/2) (sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x))) (pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3))
(if (<=.f64 (/.f64 x (sqrt.f64 (+.f64 (*.f64 p (*.f64 4 p)) (*.f64 x x)))) -1/2) (sqrt.f64 (*.f64 (/.f64 p x) (/.f64 p x))) (pow.f64 (pow.f64 (fma.f64 1/2 (/.f64 x (hypot.f64 x (*.f64 p 2))) 1/2) 3/2) 1/3))

end84.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 142 to 102 computations (28.2% saved)

Profiling

Loading profile data...