Numeric.Log:$clog1p from log-domain-0.10.2.1, A

Details

Time bar (total: 3.3s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.0s (31.1%)

Results
632.0ms4706×body256valid
383.0ms3550×body256infinite
Bogosity

preprocess17.0ms (0.5%)

Algorithm
egg-herbie
Rules
52×fma-def
22×+-commutative
12×associate-+r+
12×associate-+l+
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
13042
26442
37842
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 y 2) (*.f64 y y)) (*.f64 x x))
Outputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 x 2) (*.f64 y y))
(+.f64 (+.f64 (*.f64 y 2) (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 y (+.f64 2 y)))
(fma.f64 y (+.f64 2 y) (*.f64 x x))
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify14.0ms (0.4%)

Algorithm
egg-herbie
Rules
28×fma-def
12×+-commutative
associate-+r+
associate-+l+
*-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01025
11921
23621
34421
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
Outputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 x 2) (*.f64 y y))

eval1.0ms (0%)

Compiler

Compiled 30 to 15 computations (50% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Accurracy
100.0%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize33.0ms (1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
100.0%
(*.f64 x (+.f64 2 x))
Compiler

Compiled 26 to 14 computations (46.2% saved)

series3.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite79.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
920×log-prod
834×fma-def
814×prod-exp
672×pow-prod-down
466×pow-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0934
120434
2284034
Stop Event
node limit
Counts
2 → 128
Calls
Call 1
Inputs
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
Outputs
(+.f64 (*.f64 x x) (*.f64 x 2))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 0 (*.f64 x (+.f64 x 2)))
(+.f64 (*.f64 (*.f64 x 2) 1) (*.f64 (*.f64 x x) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 x 2) 3) (pow.f64 x 6)) (+.f64 (pow.f64 (*.f64 x 2) 2) (-.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (*.f64 x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 2) 2) (pow.f64 x 4)) (-.f64 (*.f64 x 2) (*.f64 x x)))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (-.f64 x 2) 4))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (-.f64 x 2) 4))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 x 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 x 2)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 x 2)))) 2))
(exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (+.f64 x 2)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (+.f64 x 2))))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (+.f64 x 2)) 1)))
(exp.f64 (+.f64 (log.f64 (+.f64 x 2)) (*.f64 (log.f64 x) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 x 2)) 1) (log.f64 x)))
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 x 2)) 1) (*.f64 (log.f64 x) 1)))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x x (*.f64 x 2))
(fma.f64 x 2 (*.f64 x x))
(fma.f64 2 x (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 x 2))
(fma.f64 1 (*.f64 x 2) (*.f64 x x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (*.f64 x x))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (*.f64 x 2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (*.f64 x x))
(fma.f64 (*.f64 x 2) 1 (*.f64 (*.f64 x x) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (*.f64 x x))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (*.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x 2))
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (*.f64 x x))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x x))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x x))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (*.f64 x 2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))) (/.f64 (pow.f64 y 4) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(*.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 1)
(*.f64 1 (fma.f64 x (+.f64 x 2) (*.f64 y y)))
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 2) (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(*.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))) (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4)) (/.f64 1 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))))
(/.f64 1 (/.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (*.f64 x (*.f64 (+.f64 x 2) (*.f64 y y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))) (neg.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))) (neg.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))))
(pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 3)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 3) 1/3)
(pow.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))) -1)
(pow.f64 (/.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 2))
(log.f64 (exp.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)) (+.f64 1 (expm1.f64 (*.f64 y y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))) (pow.f64 (exp.f64 y) y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))) (+.f64 1 (expm1.f64 (*.f64 y y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) y) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (pow.f64 (exp.f64 x) (+.f64 x 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2))))))
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(exp.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 x 2 (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 x 2) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 (+.f64 x 2) x (*.f64 y y))
(fma.f64 (*.f64 x (+.f64 x 2)) 1 (*.f64 y y))
(fma.f64 y y (*.f64 x (+.f64 x 2)))
(fma.f64 (*.f64 y y) 1 (*.f64 x (+.f64 x 2)))
(fma.f64 1 (*.f64 x (+.f64 x 2)) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x (+.f64 x 2)))
(fma.f64 1 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) y) (*.f64 x (+.f64 x 2)))
(fma.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2) (*.f64 x (+.f64 x 2)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x 2)) 2) (*.f64 (cbrt.f64 (+.f64 x 2)) x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 2) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 2) (cbrt.f64 (*.f64 x (+.f64 x 2))) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 x 2)) (*.f64 y y))
(fma.f64 (sqrt.f64 (+.f64 x 2)) (*.f64 (sqrt.f64 (+.f64 x 2)) x) (*.f64 y y))
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) (sqrt.f64 (*.f64 x (+.f64 x 2))) (*.f64 y y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 x 2)) (*.f64 y y))
(fma.f64 (sqrt.f64 y) (pow.f64 y 3/2) (*.f64 x (+.f64 x 2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 y 3/2) (sqrt.f64 y) (*.f64 x (+.f64 x 2)))
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 (cbrt.f64 y) 5) (cbrt.f64 y) (*.f64 x (+.f64 x 2)))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (+.f64 x 2)) (*.f64 y y))
(fma.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (+.f64 x 2)) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 x 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 x 2) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y y))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x x (*.f64 y y)))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x x (*.f64 y y)))

simplify78.0ms (2.4%)

Algorithm
egg-herbie
Rules
900×unswap-sqr
854×times-frac
528×*-commutative
518×cancel-sign-sub-inv
426×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03053970
17413738
221923710
Stop Event
node limit
Counts
164 → 162
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(*.f64 (+.f64 2 x) x)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (*.f64 x x) (*.f64 x 2))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 0 (*.f64 x (+.f64 x 2)))
(+.f64 (*.f64 (*.f64 x 2) 1) (*.f64 (*.f64 x x) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 x 2) 3) (pow.f64 x 6)) (+.f64 (pow.f64 (*.f64 x 2) 2) (-.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (*.f64 x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 2) 2) (pow.f64 x 4)) (-.f64 (*.f64 x 2) (*.f64 x x)))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (-.f64 x 2) 4))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (-.f64 x 2) 4))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 x 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 x 2)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 x 2)))) 2))
(exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (+.f64 x 2)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (+.f64 x 2))))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (+.f64 x 2)) 1)))
(exp.f64 (+.f64 (log.f64 (+.f64 x 2)) (*.f64 (log.f64 x) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 x 2)) 1) (log.f64 x)))
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 x 2)) 1) (*.f64 (log.f64 x) 1)))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x x (*.f64 x 2))
(fma.f64 x 2 (*.f64 x x))
(fma.f64 2 x (*.f64 x x))
(fma.f64 1 (*.f64 x x) (*.f64 x 2))
(fma.f64 1 (*.f64 x 2) (*.f64 x x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 x 2))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (*.f64 x x))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (*.f64 x 2))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (*.f64 x x))
(fma.f64 (*.f64 x 2) 1 (*.f64 (*.f64 x x) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (*.f64 x x))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (*.f64 x 2))
(fma.f64 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x 2))
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (*.f64 x x))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x x))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x x))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (*.f64 x 2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))) (/.f64 (pow.f64 y 4) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(*.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 1)
(*.f64 1 (fma.f64 x (+.f64 x 2) (*.f64 y y)))
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 2) (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(*.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))) (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4)) (/.f64 1 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))))
(/.f64 1 (/.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (*.f64 x (*.f64 (+.f64 x 2) (*.f64 y y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))) (neg.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))) (neg.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))))
(pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 3)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 3) 1/3)
(pow.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))) -1)
(pow.f64 (/.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 2))
(log.f64 (exp.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)) (+.f64 1 (expm1.f64 (*.f64 y y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))) (pow.f64 (exp.f64 y) y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))) (+.f64 1 (expm1.f64 (*.f64 y y)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) y) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (pow.f64 (exp.f64 x) (+.f64 x 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2))))))
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(exp.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 x 2 (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 x 2) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 (+.f64 x 2) x (*.f64 y y))
(fma.f64 (*.f64 x (+.f64 x 2)) 1 (*.f64 y y))
(fma.f64 y y (*.f64 x (+.f64 x 2)))
(fma.f64 (*.f64 y y) 1 (*.f64 x (+.f64 x 2)))
(fma.f64 1 (*.f64 x (+.f64 x 2)) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x (+.f64 x 2)))
(fma.f64 1 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) y) (*.f64 x (+.f64 x 2)))
(fma.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2) (*.f64 x (+.f64 x 2)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x 2)) 2) (*.f64 (cbrt.f64 (+.f64 x 2)) x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 2) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 2) (cbrt.f64 (*.f64 x (+.f64 x 2))) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 x 2)) (*.f64 y y))
(fma.f64 (sqrt.f64 (+.f64 x 2)) (*.f64 (sqrt.f64 (+.f64 x 2)) x) (*.f64 y y))
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) (sqrt.f64 (*.f64 x (+.f64 x 2))) (*.f64 y y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 x 2)) (*.f64 y y))
(fma.f64 (sqrt.f64 y) (pow.f64 y 3/2) (*.f64 x (+.f64 x 2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 y 3/2) (sqrt.f64 y) (*.f64 x (+.f64 x 2)))
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (pow.f64 (cbrt.f64 y) 5) (cbrt.f64 y) (*.f64 x (+.f64 x 2)))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (+.f64 x 2)) (*.f64 y y))
(fma.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (+.f64 x 2)) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 x 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 x 2) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y y))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x x (*.f64 y y)))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x x (*.f64 y y)))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (+.f64 2 x) x)
(*.f64 x (+.f64 2 x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(+.f64 0 (*.f64 x (+.f64 x 2)))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 (*.f64 x 2) 1) (*.f64 (*.f64 x x) 1))
(*.f64 x (+.f64 2 x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 2 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 2 x)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 2 x)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (+.f64 2 x)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))))
(*.f64 x (+.f64 2 x))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1)
(*.f64 x (+.f64 2 x))
(/.f64 (+.f64 (pow.f64 (*.f64 x 2) 3) (pow.f64 x 6)) (+.f64 (pow.f64 (*.f64 x 2) 2) (-.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (*.f64 x x)))))
(/.f64 (+.f64 (*.f64 (pow.f64 x 3) 8) (pow.f64 x 6)) (+.f64 (pow.f64 (*.f64 2 x) 2) (-.f64 (pow.f64 x 4) (*.f64 x (*.f64 2 (*.f64 x x))))))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 x 6)) (+.f64 (*.f64 (*.f64 x x) 4) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2)))))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 x 6)) (*.f64 (*.f64 x x) (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (-.f64 (pow.f64 (*.f64 x 2) 2) (pow.f64 x 4)) (-.f64 (*.f64 x 2) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 2 x) 2) (pow.f64 x 4)) (*.f64 x (-.f64 2 x)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) 4) (pow.f64 x 4)) (*.f64 x (-.f64 2 x)))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (-.f64 x 2) 4))
(/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3))))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (-.f64 4 (*.f64 x x)) (/.f64 (-.f64 2 x) x))
(*.f64 (/.f64 x (-.f64 2 x)) (-.f64 4 (*.f64 x x)))
(*.f64 x (/.f64 (-.f64 4 (*.f64 x x)) (-.f64 2 x)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (-.f64 x 2) 4))
(/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3))))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(/.f64 (-.f64 4 (*.f64 x x)) (/.f64 (-.f64 2 x) x))
(*.f64 (/.f64 x (-.f64 2 x)) (-.f64 4 (*.f64 x x)))
(*.f64 x (/.f64 (-.f64 4 (*.f64 x x)) (-.f64 2 x)))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(*.f64 x (+.f64 2 x))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(*.f64 x (+.f64 2 x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) 1/2)
(*.f64 x (+.f64 2 x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(*.f64 x (+.f64 2 x))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(*.f64 x (+.f64 2 x))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(*.f64 x (+.f64 2 x))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(*.f64 x (+.f64 2 x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))))
(*.f64 x (+.f64 2 x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(*.f64 x (+.f64 2 x))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(exp.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 1))
(*.f64 x (+.f64 2 x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 1) 1))
(*.f64 x (+.f64 2 x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (+.f64 x 2)))) 3))
(*.f64 x (+.f64 2 x))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (+.f64 x 2)))) 1/3))
(*.f64 x (+.f64 2 x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (+.f64 x 2))) 3) 1/3))
(*.f64 x (+.f64 2 x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (+.f64 x 2)))) 2))
(*.f64 x (+.f64 2 x))
(exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (+.f64 x 2)) 1)))
(*.f64 x (+.f64 2 x))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (+.f64 x 2)) 1)))
(*.f64 x (+.f64 2 x))
(exp.f64 (+.f64 (log.f64 (+.f64 x 2)) (*.f64 (log.f64 x) 1)))
(*.f64 x (+.f64 2 x))
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 x 2)) 1) (log.f64 x)))
(*.f64 x (+.f64 2 x))
(exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 x 2)) 1) (*.f64 (log.f64 x) 1)))
(*.f64 x (+.f64 2 x))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(fma.f64 x x (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 x 2 (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 2 x (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 1 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 1 (*.f64 x 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (*.f64 x 2))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (*.f64 2 x))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 x 2) 1 (*.f64 (*.f64 x x) 1))
(*.f64 x (+.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) (*.f64 x 2))
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) (*.f64 2 x))
(fma.f64 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 1)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(-.f64 (/.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))) (/.f64 (pow.f64 y 4) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(*.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 1)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 1 (fma.f64 x (+.f64 x 2) (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 2))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 2) (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))) (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 (*.f64 x (+.f64 2 x)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4)) (/.f64 1 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 (*.f64 x (+.f64 2 x)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))))
(/.f64 1 (/.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 (*.f64 x (+.f64 2 x)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (*.f64 x (*.f64 (+.f64 x 2) (*.f64 y y))))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 (*.f64 x (+.f64 2 x)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))) (neg.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 (*.f64 x (+.f64 2 x)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))) (neg.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 1)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 3)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 2) 1/2)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 3) 1/3)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2)))) 2)
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (/.f64 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 x 2))) (pow.f64 (*.f64 x (+.f64 x 2)) 2)) (+.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) (pow.f64 y 6))) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (-.f64 (*.f64 y y) (*.f64 x (+.f64 2 x))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 (*.f64 x (+.f64 2 x)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))))
(pow.f64 (/.f64 (fma.f64 x (+.f64 x 2) (*.f64 (neg.f64 y) y)) (-.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2) (pow.f64 y 4))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (fma.f64 x (+.f64 2 x) (*.f64 y (neg.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2) (pow.f64 y 4)) (-.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y)))
(sqrt.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 2))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (exp.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)) (+.f64 1 (expm1.f64 (*.f64 y y)))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))) (pow.f64 (exp.f64 y) y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2)))) (+.f64 1 (expm1.f64 (*.f64 y y)))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) y) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2))))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (pow.f64 (exp.f64 x) (+.f64 x 2))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (+.f64 1 (expm1.f64 (*.f64 x (+.f64 x 2))))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(cbrt.f64 (pow.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)) 3))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(expm1.f64 (log1p.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(exp.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 1))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))) 1) 1))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 3))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y)))) 1/3))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(exp.f64 (*.f64 (log.f64 (hypot.f64 y (sqrt.f64 (*.f64 x (+.f64 x 2))))) 2))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(log1p.f64 (expm1.f64 (fma.f64 x (+.f64 x 2) (*.f64 y y))))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 x 2 (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 x (+.f64 x 2) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (+.f64 x 2) x (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (+.f64 x 2)) 1 (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 y y (*.f64 x (+.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 y y) 1 (*.f64 x (+.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 x (+.f64 x 2)) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x (+.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) y) (*.f64 x (+.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2) (*.f64 x (+.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x 2)) 2) (*.f64 (cbrt.f64 (+.f64 x 2)) x) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) (pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 2) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 2) (cbrt.f64 (*.f64 x (+.f64 x 2))) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (+.f64 x 2)) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (sqrt.f64 (+.f64 x 2)) (*.f64 (sqrt.f64 (+.f64 x 2)) x) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) (sqrt.f64 (*.f64 x (+.f64 x 2))) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (+.f64 x 2)) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (sqrt.f64 y) (pow.f64 y 3/2) (*.f64 x (+.f64 x 2)))
(fma.f64 (sqrt.f64 y) (pow.f64 y 3/2) (*.f64 x (+.f64 2 x)))
(fma.f64 (pow.f64 y 3/2) (sqrt.f64 y) (*.f64 x (+.f64 2 x)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 2)) 2) (cbrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 y 3/2) (sqrt.f64 y) (*.f64 x (+.f64 x 2)))
(fma.f64 (sqrt.f64 y) (pow.f64 y 3/2) (*.f64 x (+.f64 2 x)))
(fma.f64 (pow.f64 y 3/2) (sqrt.f64 y) (*.f64 x (+.f64 2 x)))
(fma.f64 (sqrt.f64 (*.f64 x 2)) (sqrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (pow.f64 (cbrt.f64 y) 5) (cbrt.f64 y) (*.f64 x (+.f64 x 2)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (+.f64 x 2)) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (+.f64 x 2)) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 x 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 x 2) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))

eval42.0ms (1.3%)

Compiler

Compiled 2439 to 1340 computations (45.1% saved)

prune115.0ms (3.5%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1575162
Fresh000
Picked101
Done000
Total1585163
Accurracy
100.0%
Counts
163 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y y (*.f64 x (+.f64 x 2)))
83.3%
(+.f64 (*.f64 x x) (*.f64 y y))
69.6%
(+.f64 (*.f64 2 x) (*.f64 y y))
57.2%
(*.f64 (+.f64 2 x) x)
53.6%
(*.f64 y y)
Compiler

Compiled 80 to 50 computations (37.5% saved)

localize95.0ms (2.9%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 x (+.f64 x 2))
Compiler

Compiled 22 to 13 computations (40.9% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite84.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
1382×pow1
1290×add-exp-log
1288×log1p-expm1-u
1288×expm1-log1p-u
1270×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
113413
2172613
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 x (+.f64 x 2))
Outputs
(+.f64 (*.f64 x x) (*.f64 x 2))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 (*.f64 (*.f64 x x) 1) (*.f64 (*.f64 x 2) 1))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x 2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 x 2) 3)) (+.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (-.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (*.f64 (*.f64 x x) (*.f64 x 2)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x 2) (*.f64 x 2))) (-.f64 (*.f64 x x) (*.f64 x 2)))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (fma.f64 x x (-.f64 4 (*.f64 x 2))))
(/.f64 (*.f64 x (fma.f64 x x -4)) (+.f64 x -2))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) 8) x) (fma.f64 x x (-.f64 4 (*.f64 x 2))))
(/.f64 (*.f64 (fma.f64 x x -4) x) (+.f64 x -2))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x x (*.f64 x 2))

simplify49.0ms (1.5%)

Algorithm
egg-herbie
Rules
1110×associate-*r/
758×associate-*l/
696×times-frac
604×fma-def
542×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073547
1211521
2801501
33616501
Stop Event
node limit
Counts
33 → 32
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 x x) (*.f64 x 2))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 (*.f64 (*.f64 x x) 1) (*.f64 (*.f64 x 2) 1))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x 2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 x 2) 3)) (+.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (-.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (*.f64 (*.f64 x x) (*.f64 x 2)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x 2) (*.f64 x 2))) (-.f64 (*.f64 x x) (*.f64 x 2)))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (fma.f64 x x (-.f64 4 (*.f64 x 2))))
(/.f64 (*.f64 x (fma.f64 x x -4)) (+.f64 x -2))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) 8) x) (fma.f64 x x (-.f64 4 (*.f64 x 2))))
(/.f64 (*.f64 (fma.f64 x x -4) x) (+.f64 x -2))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x x (*.f64 x 2))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 (*.f64 x x) 1) (*.f64 (*.f64 x 2) 1))
(*.f64 x (+.f64 2 x))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x 2))) 1)
(*.f64 x (+.f64 2 x))
(/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (*.f64 x 2) 3)) (+.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (-.f64 (*.f64 (*.f64 x 2) (*.f64 x 2)) (*.f64 (*.f64 x x) (*.f64 x 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (*.f64 (pow.f64 x 3) 8)) (-.f64 (+.f64 (*.f64 x (pow.f64 x 3)) (*.f64 (*.f64 x x) 4)) (*.f64 (pow.f64 x 3) 2)))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 x 6)) (fma.f64 (*.f64 2 x) (*.f64 x (-.f64 2 x)) (pow.f64 x 4)))
(/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 x 6)) (*.f64 (*.f64 x x) (fma.f64 x x (fma.f64 x -2 4))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 (*.f64 x 2) (*.f64 x 2))) (-.f64 (*.f64 x x) (*.f64 x 2)))
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (fma.f64 x x (-.f64 4 (*.f64 x 2))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (fma.f64 x x (-.f64 4 (*.f64 2 x))))
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) 8) (fma.f64 x x (+.f64 4 (*.f64 x -2)))) x)
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x x (fma.f64 x -2 4)))
(/.f64 (*.f64 x (fma.f64 x x -4)) (+.f64 x -2))
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) 8) x) (fma.f64 x x (-.f64 4 (*.f64 x 2))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) 8)) (fma.f64 x x (-.f64 4 (*.f64 2 x))))
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) 8) (fma.f64 x x (+.f64 4 (*.f64 x -2)))) x)
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x x (fma.f64 x -2 4)))
(/.f64 (*.f64 (fma.f64 x x -4) x) (+.f64 x -2))
(*.f64 x (+.f64 2 x))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(*.f64 x (+.f64 2 x))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x 2))) 3)
(*.f64 x (+.f64 2 x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3) 1/3)
(*.f64 x (+.f64 2 x))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(*.f64 x (+.f64 2 x))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(*.f64 x (+.f64 2 x))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x 2)))
(*.f64 x (+.f64 2 x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 3))
(*.f64 x (+.f64 2 x))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(exp.f64 (log.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(*.f64 x (+.f64 2 x))
(fma.f64 x x (*.f64 x 2))
(*.f64 x (+.f64 2 x))

localize43.0ms (1.3%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

localize58.0ms (1.8%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (+.f64 2 x) x)
Compiler

Compiled 13 to 9 computations (30.8% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite50.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1362×pow1
1270×add-exp-log
1268×log1p-expm1-u
1268×expm1-log1p-u
1250×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
113113
2167313
Stop Event
node limit
Counts
1 → 17
Calls
Call 1
Inputs
(*.f64 (+.f64 2 x) x)
Outputs
(+.f64 (*.f64 x x) (*.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 x x))
(-.f64 (+.f64 1 (*.f64 x (+.f64 2 x))) 1)
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 2 x))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 2 x)) x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 2 x))))
(exp.f64 (log.f64 (*.f64 x (+.f64 2 x))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 2 x))))

simplify61.0ms (1.8%)

Algorithm
egg-herbie
Rules
1670×fma-def
1276×log-prod
706×*-commutative
666×associate-*r*
632×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054455
1140439
2423439
32565439
46186439
Stop Event
node limit
Counts
29 → 28
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 x x) (*.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 x x))
(-.f64 (+.f64 1 (*.f64 x (+.f64 2 x))) 1)
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 2 x))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 2 x)) x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 2 x))))
(exp.f64 (log.f64 (*.f64 x (+.f64 2 x))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 2 x))))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x x) (*.f64 2 x))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(-.f64 (+.f64 1 (*.f64 x (+.f64 2 x))) 1)
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x x))) (-.f64 2 x))
(/.f64 (-.f64 4 (*.f64 x x)) (/.f64 (-.f64 2 x) x))
(*.f64 (/.f64 (-.f64 4 (*.f64 x x)) (-.f64 2 x)) x)
(*.f64 x (/.f64 (-.f64 4 (*.f64 x x)) (-.f64 2 x)))
(/.f64 (-.f64 4 (*.f64 x x)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (-.f64 4 (*.f64 x x)) x) (-.f64 2 x))
(/.f64 (-.f64 4 (*.f64 x x)) (/.f64 (-.f64 2 x) x))
(*.f64 (/.f64 (-.f64 4 (*.f64 x x)) (-.f64 2 x)) x)
(*.f64 x (/.f64 (-.f64 4 (*.f64 x x)) (-.f64 2 x)))
(/.f64 (-.f64 4 (*.f64 x x)) (+.f64 -1 (/.f64 2 x)))
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(*.f64 x (+.f64 2 x))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(*.f64 x (+.f64 2 x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(*.f64 x (+.f64 2 x))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 2 x))) 2)
(*.f64 x (+.f64 2 x))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))
(*.f64 x (+.f64 2 x))
(log.f64 (pow.f64 (exp.f64 (+.f64 2 x)) x))
(*.f64 x (+.f64 2 x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
(*.f64 x (+.f64 2 x))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 2 x))))
(*.f64 x (+.f64 2 x))
(exp.f64 (log.f64 (*.f64 x (+.f64 2 x))))
(*.f64 x (+.f64 2 x))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 2 x))))
(*.f64 x (+.f64 2 x))

localize54.0ms (1.6%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 2 x) (*.f64 y y))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite62.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1708×pow1
1584×add-exp-log
1582×log1p-expm1-u
1582×expm1-log1p-u
1554×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
117115
2222015
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(+.f64 (*.f64 2 x) (*.f64 y y))
Outputs
(-.f64 (+.f64 1 (fma.f64 2 x (*.f64 y y))) 1)
(-.f64 (/.f64 (*.f64 4 (*.f64 x x)) (-.f64 (*.f64 2 x) (*.f64 y y))) (/.f64 (pow.f64 y 4) (-.f64 (*.f64 2 x) (*.f64 y y))))
(*.f64 (fma.f64 2 x (*.f64 y y)) 1)
(*.f64 1 (fma.f64 2 x (*.f64 y y)))
(*.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) (pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 2) (cbrt.f64 (fma.f64 2 x (*.f64 y y))))
(*.f64 (hypot.f64 y (sqrt.f64 (*.f64 2 x))) (hypot.f64 y (sqrt.f64 (*.f64 2 x))))
(*.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (/.f64 1 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y))))))
(*.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (/.f64 1 (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 1 (/.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y)))) (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 2 x) (*.f64 y y)) (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 2 x) (*.f64 y y)))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6))) (neg.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y))))))
(/.f64 (neg.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4))) (neg.f64 (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 y 4) (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 y y) (*.f64 2 x)))
(pow.f64 (fma.f64 2 x (*.f64 y y)) 1)
(pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 3)
(pow.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 3) 1/3)
(pow.f64 (hypot.f64 y (sqrt.f64 (*.f64 2 x))) 2)
(sqrt.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 2))
(log.f64 (exp.f64 (fma.f64 2 x (*.f64 y y))))
(cbrt.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 3))
(expm1.f64 (log1p.f64 (fma.f64 2 x (*.f64 y y))))
(exp.f64 (log.f64 (fma.f64 2 x (*.f64 y y))))
(log1p.f64 (expm1.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 x 2 (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 1 (*.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 x)) 2) (cbrt.f64 (*.f64 2 x)) (*.f64 y y))
(fma.f64 (cbrt.f64 (pow.f64 y 4)) (cbrt.f64 (*.f64 y y)) (*.f64 2 x))
(fma.f64 (sqrt.f64 (*.f64 2 x)) (sqrt.f64 (*.f64 2 x)) (*.f64 y y))

simplify64.0ms (1.9%)

Algorithm
egg-herbie
Rules
1410×fma-neg
914×associate-*r*
834×associate-*l*
802×log-prod
752×div-sub
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0911391
12351321
27831263
345521263
Stop Event
node limit
Counts
59 → 46
Calls
Call 1
Inputs
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(-.f64 (+.f64 1 (fma.f64 2 x (*.f64 y y))) 1)
(-.f64 (/.f64 (*.f64 4 (*.f64 x x)) (-.f64 (*.f64 2 x) (*.f64 y y))) (/.f64 (pow.f64 y 4) (-.f64 (*.f64 2 x) (*.f64 y y))))
(*.f64 (fma.f64 2 x (*.f64 y y)) 1)
(*.f64 1 (fma.f64 2 x (*.f64 y y)))
(*.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) (pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 2) (cbrt.f64 (fma.f64 2 x (*.f64 y y))))
(*.f64 (hypot.f64 y (sqrt.f64 (*.f64 2 x))) (hypot.f64 y (sqrt.f64 (*.f64 2 x))))
(*.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (/.f64 1 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y))))))
(*.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (/.f64 1 (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 1 (/.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y)))) (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 2 x) (*.f64 y y)) (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 2 x) (*.f64 y y)))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6))) (neg.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y))))))
(/.f64 (neg.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4))) (neg.f64 (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 y 4) (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 y y) (*.f64 2 x)))
(pow.f64 (fma.f64 2 x (*.f64 y y)) 1)
(pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 3)
(pow.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 3) 1/3)
(pow.f64 (hypot.f64 y (sqrt.f64 (*.f64 2 x))) 2)
(sqrt.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 2))
(log.f64 (exp.f64 (fma.f64 2 x (*.f64 y y))))
(cbrt.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 3))
(expm1.f64 (log1p.f64 (fma.f64 2 x (*.f64 y y))))
(exp.f64 (log.f64 (fma.f64 2 x (*.f64 y y))))
(log1p.f64 (expm1.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 x 2 (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 1 (*.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 x)) 2) (cbrt.f64 (*.f64 2 x)) (*.f64 y y))
(fma.f64 (cbrt.f64 (pow.f64 y 4)) (cbrt.f64 (*.f64 y y)) (*.f64 2 x))
(fma.f64 (sqrt.f64 (*.f64 2 x)) (sqrt.f64 (*.f64 2 x)) (*.f64 y y))
Outputs
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(-.f64 (+.f64 1 (fma.f64 2 x (*.f64 y y))) 1)
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(-.f64 (/.f64 (*.f64 4 (*.f64 x x)) (-.f64 (*.f64 2 x) (*.f64 y y))) (/.f64 (pow.f64 y 4) (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 x (*.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (fma.f64 (*.f64 x x) -4 (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (fma.f64 x (*.f64 x -4) (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(*.f64 (fma.f64 2 x (*.f64 y y)) 1)
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 1 (fma.f64 2 x (*.f64 y y)))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) (pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 2) (cbrt.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 (hypot.f64 y (sqrt.f64 (*.f64 2 x))) (hypot.f64 y (sqrt.f64 (*.f64 2 x))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(*.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (/.f64 1 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y))))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 x 3)) (pow.f64 y 6)) (/.f64 1 (fma.f64 4 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 2 (*.f64 x (*.f64 y y)))))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (fma.f64 4 (*.f64 x x) (*.f64 (*.f64 y y) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 x (fma.f64 x 4 (*.f64 y (*.f64 y -2))))))
(*.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (/.f64 1 (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 x (*.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (fma.f64 (*.f64 x x) -4 (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (fma.f64 x (*.f64 x -4) (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 1 (/.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y)))) (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 x 3)) (pow.f64 y 6)) (/.f64 1 (fma.f64 4 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 2 (*.f64 x (*.f64 y y)))))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (fma.f64 4 (*.f64 x x) (*.f64 (*.f64 y y) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 x (fma.f64 x 4 (*.f64 y (*.f64 y -2))))))
(/.f64 1 (/.f64 (-.f64 (*.f64 2 x) (*.f64 y y)) (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 x (*.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (fma.f64 (*.f64 x x) -4 (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (fma.f64 x (*.f64 x -4) (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y)))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 x 3)) (pow.f64 y 6)) (/.f64 1 (fma.f64 4 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 2 (*.f64 x (*.f64 y y)))))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (fma.f64 4 (*.f64 x x) (*.f64 (*.f64 y y) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 x (fma.f64 x 4 (*.f64 y (*.f64 y -2))))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 2 x) (*.f64 y y)))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 x 3)) (pow.f64 y 6)) (/.f64 1 (fma.f64 4 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 2 (*.f64 x (*.f64 y y)))))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (fma.f64 4 (*.f64 x x) (*.f64 (*.f64 y y) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 x (fma.f64 x 4 (*.f64 y (*.f64 y -2))))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 x (*.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (fma.f64 (*.f64 x x) -4 (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (fma.f64 x (*.f64 x -4) (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2 x) 3) (pow.f64 y 6))) (neg.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (*.f64 y y))))))
(*.f64 (+.f64 (*.f64 8 (pow.f64 x 3)) (pow.f64 y 6)) (/.f64 1 (fma.f64 4 (*.f64 x x) (-.f64 (pow.f64 y 4) (*.f64 2 (*.f64 x (*.f64 y y)))))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (fma.f64 4 (*.f64 x x) (*.f64 (*.f64 y y) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (-.f64 (pow.f64 y 4) (*.f64 (*.f64 2 x) (fma.f64 y y (*.f64 x -2)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 y 6)) (+.f64 (pow.f64 y 4) (*.f64 x (fma.f64 x 4 (*.f64 y (*.f64 y -2))))))
(/.f64 (neg.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4))) (neg.f64 (-.f64 (*.f64 2 x) (*.f64 y y))))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 x (*.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (fma.f64 (*.f64 x x) -4 (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (fma.f64 x (*.f64 x -4) (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (-.f64 (pow.f64 y 4) (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 y y) (*.f64 2 x)))
(/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 x (*.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 2 x) (*.f64 y y)))
(/.f64 (fma.f64 (*.f64 x x) -4 (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(/.f64 (fma.f64 x (*.f64 x -4) (pow.f64 y 4)) (fma.f64 y y (*.f64 x -2)))
(pow.f64 (fma.f64 2 x (*.f64 y y)) 1)
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(pow.f64 (cbrt.f64 (fma.f64 2 x (*.f64 y y))) 3)
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(pow.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 3) 1/3)
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(pow.f64 (hypot.f64 y (sqrt.f64 (*.f64 2 x))) 2)
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(sqrt.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 2))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(log.f64 (exp.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(cbrt.f64 (pow.f64 (fma.f64 2 x (*.f64 y y)) 3))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(expm1.f64 (log1p.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(exp.f64 (log.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(log1p.f64 (expm1.f64 (fma.f64 2 x (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 x 2 (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 y y (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 1 (*.f64 2 x) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 1 (*.f64 y y) (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 x)) 2) (cbrt.f64 (*.f64 2 x)) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 (cbrt.f64 (pow.f64 y 4)) (cbrt.f64 (*.f64 y y)) (*.f64 2 x))
(fma.f64 (sqrt.f64 (*.f64 2 x)) (sqrt.f64 (*.f64 2 x)) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))

localize57.0ms (1.7%)

Compiler

Compiled 18 to 6 computations (66.7% saved)

eval26.0ms (0.8%)

Compiler

Compiled 1353 to 807 computations (40.4% saved)

prune15.0ms (0.4%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New1033106
Fresh000
Picked011
Done134
Total1047111
Accurracy
100.0%
Counts
111 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.6%
(fma.f64 y y (*.f64 2 x))
83.3%
(+.f64 (*.f64 x x) (*.f64 y y))
69.6%
(+.f64 (*.f64 2 x) (*.f64 y y))
57.2%
(*.f64 (+.f64 2 x) x)
53.6%
(*.f64 y y)
41.5%
(*.f64 x x)
18.3%
(*.f64 2 x)
Compiler

Compiled 48 to 31 computations (35.4% saved)

localize47.0ms (1.4%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize38.0ms (1.2%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

localize23.0ms (0.7%)

Compiler

Compiled 15 to 9 computations (40% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune22.0ms (0.7%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done066
Total077
Accurracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.6%
(fma.f64 y y (*.f64 2 x))
83.3%
(+.f64 (*.f64 x x) (*.f64 y y))
69.6%
(+.f64 (*.f64 2 x) (*.f64 y y))
57.2%
(*.f64 (+.f64 2 x) x)
53.6%
(*.f64 y y)
41.5%
(*.f64 x x)
18.3%
(*.f64 2 x)
Compiler

Compiled 112 to 59 computations (47.3% saved)

regimes56.0ms (1.7%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 x x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 y y (*.f64 x (+.f64 x 2)))
Outputs
(fma.f64 y y (*.f64 x (+.f64 x 2)))
Calls

5 calls:

32.0ms
(+.f64 (*.f64 x 2) (*.f64 x x))
6.0ms
y
6.0ms
x
5.0ms
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
4.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
100.0%1(+.f64 (*.f64 x 2) (*.f64 x x))
100.0%1(*.f64 y y)
Compiler

Compiled 97 to 49 computations (49.5% saved)

regimes52.0ms (1.6%)

Counts
9 → 1
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 x x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 y y))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
Outputs
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
Calls

5 calls:

7.0ms
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
6.0ms
(+.f64 (*.f64 x 2) (*.f64 x x))
6.0ms
y
6.0ms
x
4.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
100.0%1(+.f64 (*.f64 x 2) (*.f64 x x))
100.0%1(*.f64 y y)
Compiler

Compiled 89 to 45 computations (49.4% saved)

regimes81.0ms (2.4%)

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

3 calls:

45.0ms
y
28.0ms
x
6.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
99.2%3x
97.9%3y
97.6%2(*.f64 y y)
Compiler

Compiled 41 to 20 computations (51.2% saved)

regimes49.0ms (1.5%)

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

3 calls:

21.0ms
y
14.0ms
x
12.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
88.8%5y
87.5%4(*.f64 y y)
93.3%3x
Compiler

Compiled 34 to 19 computations (44.1% saved)

regimes43.0ms (1.3%)

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

3 calls:

19.0ms
y
11.0ms
x
11.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
88.0%5y
86.9%4(*.f64 y y)
77.6%3x
Compiler

Compiled 27 to 16 computations (40.7% saved)

regimes63.0ms (1.9%)

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

3 calls:

33.0ms
y
17.0ms
x
13.0ms
(*.f64 y y)
Results
AccuracySegmentsBranch
79.1%5x
79.5%9y
75.7%5(*.f64 y y)
Compiler

Compiled 22 to 13 computations (40.9% saved)

regimes28.0ms (0.8%)

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

2 calls:

18.0ms
y
9.0ms
x
Results
AccuracySegmentsBranch
48.5%5y
56.5%3x
Compiler

Compiled 14 to 9 computations (35.7% saved)

regimes6.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

3.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
18.3%1y
18.3%1x
Compiler

Compiled 11 to 8 computations (27.3% saved)

bsearch29.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
1.5234649250156574e-8
27.62893933883493
14.0ms
-28829131.56907732
-36960.037271002904
Results
17.0ms183×body256valid
9.0ms89×body256infinite
Compiler

Compiled 358 to 233 computations (34.9% saved)

bsearch28.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
688893348075.0192
39542531458822.56
15.0ms
-28829131.56907732
-36960.037271002904
Results
18.0ms173×body256valid
6.0ms67×body256infinite
Compiler

Compiled 288 to 207 computations (28.1% saved)

bsearch39.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.2574036541600042e+40
1.031007391051097e+41
18.0ms
7.18293258414951e-18
5.907809685871837e-5
9.0ms
4.300887797153846e-106
3.1756206248166578e-105
Results
26.0ms268×body256valid
7.0ms84×body256infinite
Compiler

Compiled 250 to 178 computations (28.8% saved)

bsearch60.0ms (1.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
688893348075.0192
39542531458822.56
18.0ms
-4.415629265198046e-48
-1.3041526750381354e-53
16.0ms
-1.7510583695123365e-29
-1.4742174919059082e-32
11.0ms
-5.934507198698139e+26
-3.126793100462551e+24
Results
41.0ms352×body256valid
13.0ms144×body256infinite
Compiler

Compiled 390 to 277 computations (29% saved)

bsearch35.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
1.5234649250156574e-8
27.62893933883493
15.0ms
-0.0001031427471607653
-1.1931123469670696e-11
Results
19.0ms211×body256valid
12.0ms77×body256infinite
Compiler

Compiled 234 to 174 computations (25.6% saved)

simplify13.0ms (0.4%)

Algorithm
egg-herbie
Rules
+-commutative
if-if-or-not
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057362
177362
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 y y (*.f64 x (+.f64 x 2)))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(if (<=.f64 x -38000) (+.f64 (*.f64 x x) (*.f64 y y)) (if (<=.f64 x 2) (+.f64 (*.f64 2 x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))
(if (<=.f64 x -400000) (*.f64 (+.f64 2 x) x) (if (<=.f64 x 3000000000000) (+.f64 (*.f64 2 x) (*.f64 y y)) (*.f64 (+.f64 2 x) x)))
(if (<=.f64 (*.f64 y y) 3873374817130363/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 (+.f64 2 x) x) (if (<=.f64 (*.f64 y y) 2535301200456459/20282409603651670423947251286016) (*.f64 y y) (if (<=.f64 (*.f64 y y) 25000000000000000155002161260194579873792) (*.f64 x x) (*.f64 y y))))
(if (<=.f64 x -220000000000000007046430720) (*.f64 x x) (if (<=.f64 x -1170343108018887/5708990770823839524233143877797980545530986496) (*.f64 y y) (if (<=.f64 x -8030062239727485/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 2 x) (if (<=.f64 x 1850000000000) (*.f64 y y) (*.f64 x x)))))
(if (<=.f64 x -7526271582073497/73786976294838206464) (*.f64 x x) (if (<=.f64 x 2) (*.f64 2 x) (*.f64 x x)))
(*.f64 2 x)
Outputs
(fma.f64 y y (*.f64 x (+.f64 x 2)))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 x (+.f64 x 2)))
(if (<=.f64 x -38000) (+.f64 (*.f64 x x) (*.f64 y y)) (if (<=.f64 x 2) (+.f64 (*.f64 2 x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))
(if (or (<=.f64 x -38000) (not (<=.f64 x 2))) (+.f64 (*.f64 y y) (*.f64 x x)) (+.f64 (*.f64 y y) (*.f64 x 2)))
(if (<=.f64 x -400000) (*.f64 (+.f64 2 x) x) (if (<=.f64 x 3000000000000) (+.f64 (*.f64 2 x) (*.f64 y y)) (*.f64 (+.f64 2 x) x)))
(if (or (<=.f64 x -400000) (not (<=.f64 x 3000000000000))) (*.f64 x (+.f64 x 2)) (+.f64 (*.f64 y y) (*.f64 x 2)))
(if (<=.f64 (*.f64 y y) 3873374817130363/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 (+.f64 2 x) x) (if (<=.f64 (*.f64 y y) 2535301200456459/20282409603651670423947251286016) (*.f64 y y) (if (<=.f64 (*.f64 y y) 25000000000000000155002161260194579873792) (*.f64 x x) (*.f64 y y))))
(if (<=.f64 (*.f64 y y) 3873374817130363/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 x (+.f64 x 2)) (if (<=.f64 (*.f64 y y) 2535301200456459/20282409603651670423947251286016) (*.f64 y y) (if (<=.f64 (*.f64 y y) 25000000000000000155002161260194579873792) (*.f64 x x) (*.f64 y y))))
(if (<=.f64 x -220000000000000007046430720) (*.f64 x x) (if (<=.f64 x -1170343108018887/5708990770823839524233143877797980545530986496) (*.f64 y y) (if (<=.f64 x -8030062239727485/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 2 x) (if (<=.f64 x 1850000000000) (*.f64 y y) (*.f64 x x)))))
(if (<=.f64 x -220000000000000007046430720) (*.f64 x x) (if (<=.f64 x -1170343108018887/5708990770823839524233143877797980545530986496) (*.f64 y y) (if (<=.f64 x -8030062239727485/26328072917139296674479506920917608079723773850137277813577744384) (*.f64 x 2) (if (<=.f64 x 1850000000000) (*.f64 y y) (*.f64 x x)))))
(if (<=.f64 x -7526271582073497/73786976294838206464) (*.f64 x x) (if (<=.f64 x 2) (*.f64 2 x) (*.f64 x x)))
(if (<=.f64 x -7526271582073497/73786976294838206464) (*.f64 x x) (if (<=.f64 x 2) (*.f64 x 2) (*.f64 x x)))
(*.f64 2 x)
(*.f64 x 2)
Compiler

Compiled 160 to 93 computations (41.9% saved)

soundness374.0ms (11.3%)

Rules
1670×fma-def
1276×log-prod
920×log-prod
900×unswap-sqr
900×unswap-sqr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01025
11921
23621
34421
0934
120434
2284034
054455
1140439
2423439
32565439
46186439
03053970
17413738
221923710
03053970
17413738
221923710
Stop Event
node limit
node limit
node limit
node limit
saturated
Compiler

Compiled 90 to 49 computations (45.6% saved)

end89.0ms (2.7%)

Compiler

Compiled 344 to 176 computations (48.8% saved)

Profiling

Loading profile data...