Expanding a square

Time bar (total: 2.3s)

analyze0.0ms (0%)

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

Compiled 11 to 9 computations (18.2% saved)

sample887.0ms (38.4%)

Results
300.0ms2110×body1024valid
233.0ms2751×body256valid
160.0ms2080×body256infinite
132.0ms1114×body512valid
47.0ms201×body2048valid
Bogosity

preprocess364.0ms (15.7%)

Algorithm
egg-herbie
Rules
840×distribute-lft-in
643×+-commutative
504×unsub-neg
424×distribute-neg-in
335×associate--l-
Problems
132×(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
124×No Errors
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
015128
151108
214788
357876
4238576
5404176
6515876
7609076
8670576
9710676
10710976
11710976
12723076
13731776
14742776
15742776
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(-.f64 (*.f64 (+.f64 (neg.f64 x) 1) (+.f64 (neg.f64 x) 1)) 1)
(neg.f64 (-.f64 (*.f64 (+.f64 (neg.f64 x) 1) (+.f64 (neg.f64 x) 1)) 1))
Outputs
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(fma.f64 (+.f64 x 1) (+.f64 x 1) -1)
(*.f64 (+.f64 x 2) (+.f64 x 0))
(*.f64 x (+.f64 x 2))
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
(fma.f64 (+.f64 x 1) (+.f64 x 1) -1)
(*.f64 (+.f64 x 2) (+.f64 x 0))
(*.f64 x (+.f64 x 2))
(-.f64 (*.f64 (+.f64 (neg.f64 x) 1) (+.f64 (neg.f64 x) 1)) 1)
(fma.f64 (+.f64 1 (neg.f64 x)) (+.f64 1 (neg.f64 x)) -1)
(fma.f64 (-.f64 1 x) (-.f64 1 x) -1)
(*.f64 (neg.f64 x) (-.f64 2 x))
(*.f64 x (+.f64 x -2))
(neg.f64 (-.f64 (*.f64 (+.f64 (neg.f64 x) 1) (+.f64 (neg.f64 x) 1)) 1))
(neg.f64 (fma.f64 (+.f64 1 (neg.f64 x)) (+.f64 1 (neg.f64 x)) -1))
(neg.f64 (fma.f64 (-.f64 1 x) (-.f64 1 x) -1))
(*.f64 (neg.f64 x) (neg.f64 (-.f64 2 x)))
(*.f64 x (-.f64 2 x))
Compiler

Compiled 33 to 25 computations (24.2% saved)

eval1.0ms (0%)

Compiler

Compiled 21 to 15 computations (28.6% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (+.f64 x 2))
100.0%
(*.f64 x (+.f64 x 2))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize19.0ms (0.8%)

Localize:

Found 1 expressions with local error:

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

Compiled 12 to 8 computations (33.3% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

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

rewrite180.0ms (7.8%)

Algorithm
batch-egg-rewrite
Rules
350×*-un-lft-identity
347×frac-times
325×add-sqr-sqrt
265×associate-*r/
234×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
18319
2103419
Stop Event
node limit
Counts
1 → 60
Calls
Call 1
Inputs
(*.f64 x (+.f64 x 2))
Outputs
(+.f64 (pow.f64 x 2) (*.f64 x 2))
(+.f64 (*.f64 x 2) (pow.f64 x 2))
(+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) -1)
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1)
(-.f64 (/.f64 (pow.f64 x 4) (*.f64 x (+.f64 x -2))) (/.f64 (pow.f64 (*.f64 x 2) 2) (*.f64 x (+.f64 x -2))))
(/.f64 x (/.f64 1 (+.f64 x 2)))
(/.f64 (fma.f64 x x -4) (/.f64 (+.f64 x -2) x))
(/.f64 1 (/.f64 (+.f64 x -2) (*.f64 x (fma.f64 x x -4))))
(/.f64 1 (/.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) (+.f64 (pow.f64 x 4) (*.f64 x 8))))
(/.f64 1 (/.f64 (*.f64 x (+.f64 x -2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8))))
(/.f64 (+.f64 (pow.f64 x 3) 8) (/.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) x))
(/.f64 (*.f64 x (fma.f64 x x -4)) (+.f64 x -2))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))))
(/.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (*.f64 x 2) 2) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) (*.f64 x 2)))))
(/.f64 (*.f64 x (-.f64 4 (pow.f64 x 2))) (-.f64 2 x))
(/.f64 (*.f64 x (neg.f64 (fma.f64 x x -4))) (+.f64 (neg.f64 x) 2))
(/.f64 (*.f64 x (+.f64 (neg.f64 (pow.f64 x 3)) -8)) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (fma.f64 x x -4))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (+.f64 (pow.f64 x 3) 8))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (fma.f64 x x -4))) (cbrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (+.f64 (pow.f64 x 3) 8))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 x 2)) x) (-.f64 2 x))
(/.f64 (*.f64 (neg.f64 (fma.f64 x x -4)) x) (+.f64 (neg.f64 x) 2))
(/.f64 (*.f64 (+.f64 (neg.f64 (pow.f64 x 3)) -8) x) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (fma.f64 x x -4)) 1) (+.f64 x -2))
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) 1) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2)) 1) (*.f64 x (+.f64 x -2)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) 1) (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -4)) (*.f64 x (sqrt.f64 (+.f64 x 2)))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 8)) (*.f64 x (sqrt.f64 (+.f64 x 2)))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) 1) (+.f64 x -2))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (sqrt.f64 (+.f64 x -2))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (cbrt.f64 (pow.f64 (+.f64 x -2) 2))) (cbrt.f64 (+.f64 x -2)))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) 1) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2))))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (cbrt.f64 (pow.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) 2))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 2) 2) (pow.f64 x 4)) (-.f64 (*.f64 x 2) (pow.f64 x 2)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 x x -4))) (+.f64 (neg.f64 x) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8))) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2))) (neg.f64 (*.f64 x (+.f64 x -2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8))) (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2))))))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(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)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(fabs.f64 (*.f64 x (+.f64 x 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))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x 2))))
(fma.f64 x x (*.f64 x 2))

simplify92.0ms (4%)

Algorithm
egg-herbie
Rules
822×associate-+r+
523×associate-/l*
516×times-frac
342×distribute-lft-in
340×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01883310
14923038
217652681
375782681
Stop Event
node limit
Counts
72 → 92
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 (pow.f64 x 2) (*.f64 x 2))
(+.f64 (*.f64 x 2) (pow.f64 x 2))
(+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) -1)
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1)
(-.f64 (/.f64 (pow.f64 x 4) (*.f64 x (+.f64 x -2))) (/.f64 (pow.f64 (*.f64 x 2) 2) (*.f64 x (+.f64 x -2))))
(/.f64 x (/.f64 1 (+.f64 x 2)))
(/.f64 (fma.f64 x x -4) (/.f64 (+.f64 x -2) x))
(/.f64 1 (/.f64 (+.f64 x -2) (*.f64 x (fma.f64 x x -4))))
(/.f64 1 (/.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) (+.f64 (pow.f64 x 4) (*.f64 x 8))))
(/.f64 1 (/.f64 (*.f64 x (+.f64 x -2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8))))
(/.f64 (+.f64 (pow.f64 x 3) 8) (/.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) x))
(/.f64 (*.f64 x (fma.f64 x x -4)) (+.f64 x -2))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))))
(/.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (*.f64 x 2) 2) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) (*.f64 x 2)))))
(/.f64 (*.f64 x (-.f64 4 (pow.f64 x 2))) (-.f64 2 x))
(/.f64 (*.f64 x (neg.f64 (fma.f64 x x -4))) (+.f64 (neg.f64 x) 2))
(/.f64 (*.f64 x (+.f64 (neg.f64 (pow.f64 x 3)) -8)) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (fma.f64 x x -4))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (+.f64 (pow.f64 x 3) 8))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (fma.f64 x x -4))) (cbrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (+.f64 (pow.f64 x 3) 8))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 x 2)) x) (-.f64 2 x))
(/.f64 (*.f64 (neg.f64 (fma.f64 x x -4)) x) (+.f64 (neg.f64 x) 2))
(/.f64 (*.f64 (+.f64 (neg.f64 (pow.f64 x 3)) -8) x) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (fma.f64 x x -4)) 1) (+.f64 x -2))
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) 1) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2)) 1) (*.f64 x (+.f64 x -2)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) 1) (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -4)) (*.f64 x (sqrt.f64 (+.f64 x 2)))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 8)) (*.f64 x (sqrt.f64 (+.f64 x 2)))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) 1) (+.f64 x -2))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (sqrt.f64 (+.f64 x -2))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (cbrt.f64 (pow.f64 (+.f64 x -2) 2))) (cbrt.f64 (+.f64 x -2)))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) 1) (+.f64 4 (*.f64 x (+.f64 x -2))))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2))))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (cbrt.f64 (pow.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) 2))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 2) 2) (pow.f64 x 4)) (-.f64 (*.f64 x 2) (pow.f64 x 2)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 x x -4))) (+.f64 (neg.f64 x) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8))) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2))) (neg.f64 (*.f64 x (+.f64 x -2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8))) (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2))))))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(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)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(fabs.f64 (*.f64 x (+.f64 x 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))))
(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 (*.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 (*.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 (pow.f64 x 2) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x 2) (pow.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 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1)
(*.f64 x (+.f64 2 x))
(-.f64 (/.f64 (pow.f64 x 4) (*.f64 x (+.f64 x -2))) (/.f64 (pow.f64 (*.f64 x 2) 2) (*.f64 x (+.f64 x -2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 x (/.f64 1 (+.f64 x 2)))
(*.f64 x (+.f64 2 x))
(/.f64 (fma.f64 x x -4) (/.f64 (+.f64 x -2) x))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 1 (/.f64 (+.f64 x -2) (*.f64 x (fma.f64 x x -4))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 1 (/.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) (+.f64 (pow.f64 x 4) (*.f64 x 8))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 1 (/.f64 (*.f64 x (+.f64 x -2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 2 x) (-.f64 (*.f64 2 x) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 8 (pow.f64 x 3)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (fma.f64 x (*.f64 2 (*.f64 x (-.f64 2 x))) (pow.f64 x 4)))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (+.f64 (pow.f64 x 3) 8) (/.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) x))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (fma.f64 x x -4)) (+.f64 x -2))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (+.f64 4 (*.f64 x (+.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 2 x) (-.f64 (*.f64 2 x) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 8 (pow.f64 x 3)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (fma.f64 x (*.f64 2 (*.f64 x (-.f64 2 x))) (pow.f64 x 4)))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) (+.f64 (pow.f64 (*.f64 x 2) 2) (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) (*.f64 x 2)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 2 x) (-.f64 (*.f64 2 x) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 8 (pow.f64 x 3)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (fma.f64 x (*.f64 2 (*.f64 x (-.f64 2 x))) (pow.f64 x 4)))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 x (-.f64 4 (pow.f64 x 2))) (-.f64 2 x))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 x (neg.f64 (fma.f64 x x -4))) (+.f64 (neg.f64 x) 2))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 x (+.f64 (neg.f64 (pow.f64 x 3)) -8)) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (fma.f64 x x -4))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (+.f64 x -2)) (sqrt.f64 (fma.f64 x x -4))))
(*.f64 (/.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (sqrt.f64 (+.f64 x -2))) (sqrt.f64 (fma.f64 x x -4)))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (fma.f64 x x -4)) (sqrt.f64 (+.f64 x -2))))
(/.f64 (*.f64 (*.f64 x (sqrt.f64 (+.f64 x 2))) (sqrt.f64 (+.f64 (pow.f64 x 3) 8))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))) (sqrt.f64 (+.f64 8 (pow.f64 x 3)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 x 3))) (sqrt.f64 (fma.f64 x (+.f64 x -2) 4))) (*.f64 x (sqrt.f64 (+.f64 2 x))))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 x 3))) (sqrt.f64 (fma.f64 x (+.f64 x -2) 4))))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (fma.f64 x x -4))) (cbrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 2 x)) 2)) (/.f64 (cbrt.f64 (+.f64 x -2)) (cbrt.f64 (fma.f64 x x -4))))
(*.f64 (/.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 2 x)) 2)) (cbrt.f64 (+.f64 x -2))) (cbrt.f64 (fma.f64 x x -4)))
(*.f64 (/.f64 x (/.f64 (cbrt.f64 (+.f64 x -2)) (cbrt.f64 (fma.f64 x x -4)))) (pow.f64 (cbrt.f64 (+.f64 2 x)) 2))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 x 2)) 2)) (cbrt.f64 (+.f64 (pow.f64 x 3) 8))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (+.f64 2 x)) 2)) (cbrt.f64 (+.f64 8 (pow.f64 x 3)))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 x (/.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) (*.f64 (pow.f64 (cbrt.f64 (+.f64 2 x)) 2) (cbrt.f64 (+.f64 8 (pow.f64 x 3))))))
(*.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (*.f64 (pow.f64 (cbrt.f64 (+.f64 2 x)) 2) (cbrt.f64 (+.f64 8 (pow.f64 x 3)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 x 2)) x) (-.f64 2 x))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 (neg.f64 (fma.f64 x x -4)) x) (+.f64 (neg.f64 x) 2))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 (+.f64 (neg.f64 (pow.f64 x 3)) -8) x) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (*.f64 x (fma.f64 x x -4)) 1) (+.f64 x -2))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) 1) (+.f64 4 (*.f64 x (+.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2)) 1) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8)) 1) (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 2 x) (-.f64 (*.f64 2 x) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 8 (pow.f64 x 3)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (fma.f64 x (*.f64 2 (*.f64 x (-.f64 2 x))) (pow.f64 x 4)))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 x x -4)) (*.f64 x (sqrt.f64 (+.f64 x 2)))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (+.f64 x -2)) (sqrt.f64 (fma.f64 x x -4))))
(*.f64 (/.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (sqrt.f64 (+.f64 x -2))) (sqrt.f64 (fma.f64 x x -4)))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (fma.f64 x x -4)) (sqrt.f64 (+.f64 x -2))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 x 3) 8)) (*.f64 x (sqrt.f64 (+.f64 x 2)))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))) (sqrt.f64 (+.f64 8 (pow.f64 x 3)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 x 3))) (sqrt.f64 (fma.f64 x (+.f64 x -2) 4))) (*.f64 x (sqrt.f64 (+.f64 2 x))))
(*.f64 (*.f64 x (sqrt.f64 (+.f64 2 x))) (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 x 3))) (sqrt.f64 (fma.f64 x (+.f64 x -2) 4))))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) 1) (+.f64 x -2))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (sqrt.f64 (+.f64 x -2))) (sqrt.f64 (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (cbrt.f64 (pow.f64 (+.f64 x -2) 2))) (cbrt.f64 (+.f64 x -2)))
(*.f64 (/.f64 (fma.f64 x x -4) (cbrt.f64 (+.f64 x -2))) (/.f64 x (cbrt.f64 (pow.f64 (+.f64 x -2) 2))))
(/.f64 (/.f64 (*.f64 x (fma.f64 x x -4)) (cbrt.f64 (+.f64 x -2))) (cbrt.f64 (pow.f64 (+.f64 x -2) 2)))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) 1) (+.f64 4 (*.f64 x (+.f64 x -2))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2))))) (sqrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8)) (cbrt.f64 (pow.f64 (+.f64 4 (*.f64 x (+.f64 x -2))) 2))) (cbrt.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(/.f64 (/.f64 (fma.f64 x 8 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (cbrt.f64 (pow.f64 (fma.f64 x (+.f64 x -2) 4) 2)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (*.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) (cbrt.f64 (pow.f64 (fma.f64 x (+.f64 x -2) 4) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x 2) 2) (pow.f64 x 4)) (-.f64 (*.f64 x 2) (pow.f64 x 2)))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1))
(*.f64 x (+.f64 2 x))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 x 2)))) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 2 x)))) 3) -1) (+.f64 (exp.f64 (+.f64 (log1p.f64 (*.f64 x (+.f64 2 x))) (log1p.f64 (*.f64 x (+.f64 2 x))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 2 x)))) 1)))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 2 x)))) 3)) (+.f64 (exp.f64 (*.f64 2 (log1p.f64 (*.f64 x (+.f64 2 x))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 2 x)))) 1)))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (*.f64 x (+.f64 2 x))))) (+.f64 1 (+.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (exp.f64 2) (log1p.f64 (*.f64 x (+.f64 2 x)))))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 x x -4))) (+.f64 (neg.f64 x) 2))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 x 8))) (neg.f64 (+.f64 4 (*.f64 x (+.f64 x -2)))))
(*.f64 (/.f64 1 (+.f64 4 (*.f64 x (+.f64 x -2)))) (+.f64 (pow.f64 x 4) (*.f64 x 8)))
(/.f64 (fma.f64 x 8 (pow.f64 x 4)) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 x 2) 2))) (neg.f64 (*.f64 x (+.f64 x -2))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 2 x) 2)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 4)) (*.f64 x (+.f64 x -2)))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 (/.f64 2 x) -1))
(/.f64 (-.f64 4 (pow.f64 x 2)) (+.f64 -1 (/.f64 2 x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) (*.f64 (pow.f64 x 3) 8))) (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 x 2) (-.f64 (*.f64 x 2) (pow.f64 x 2))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 (*.f64 2 x) (-.f64 (*.f64 2 x) (pow.f64 x 2)))) (+.f64 (pow.f64 x 6) (*.f64 8 (pow.f64 x 3)))))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (fma.f64 x (*.f64 2 (*.f64 x (-.f64 2 x))) (pow.f64 x 4)))
(/.f64 (fma.f64 8 (pow.f64 x 3) (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (fma.f64 x (+.f64 x -2) 4)))
(pow.f64 (*.f64 x (+.f64 x 2)) 1)
(*.f64 x (+.f64 2 x))
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x 2))) 2)
(*.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))
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x 2)) 2))
(*.f64 x (+.f64 2 x))
(fabs.f64 (*.f64 x (+.f64 x 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))
(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))

eval28.0ms (1.2%)

Compiler

Compiled 1491 to 1113 computations (25.4% saved)

prune14.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New90292
Fresh000
Picked011
Done000
Total90393
Accuracy
100.0%
Counts
93 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (*.f64 x 2))
100.0%
(*.f64 x (+.f64 x 2))
51.8%
(*.f64 2 x)
100.0%
(fma.f64 x x (*.f64 x 2))
100.0%
(*.f64 x (+.f64 x 2))
51.8%
(*.f64 2 x)
Compiler

Compiled 34 to 22 computations (35.3% saved)

localize26.0ms (1.1%)

Compiler

Compiled 18 to 11 computations (38.9% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done011
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (*.f64 x 2))
100.0%
(*.f64 x (+.f64 x 2))
51.8%
(*.f64 2 x)
Compiler

Compiled 41 to 27 computations (34.1% saved)

regimes12.0ms (0.5%)

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

4 calls:

4.0ms
x
3.0ms
(+.f64 x 1)
2.0ms
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
2.0ms
(*.f64 (+.f64 x 1) (+.f64 x 1))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
100.0%1(*.f64 (+.f64 x 1) (+.f64 x 1))
100.0%1(+.f64 x 1)
Compiler

Compiled 48 to 34 computations (29.2% saved)

regimes12.0ms (0.5%)

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

4 calls:

4.0ms
x
3.0ms
(+.f64 x 1)
2.0ms
(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
2.0ms
(*.f64 (+.f64 x 1) (+.f64 x 1))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (*.f64 (+.f64 x 1) (+.f64 x 1)) 1)
100.0%1(*.f64 (+.f64 x 1) (+.f64 x 1))
100.0%1(+.f64 x 1)
Compiler

Compiled 42 to 31 computations (26.2% saved)

regimes3.0ms (0.1%)

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

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
51.8%1x
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01253
11453
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 x x (*.f64 x 2))
(*.f64 x (+.f64 x 2))
(*.f64 2 x)
Outputs
(fma.f64 x x (*.f64 x 2))
(*.f64 x (+.f64 x 2))
(*.f64 2 x)
(*.f64 x 2)
Compiler

Compiled 17 to 11 computations (35.3% saved)

soundness522.0ms (22.6%)

Rules
840×distribute-lft-in
643×+-commutative
504×unsub-neg
424×distribute-neg-in
350×*-un-lft-identity
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015128
151108
214788
357876
4238576
5404176
6515876
7609076
8670576
9710676
10710976
11710976
12723076
13731776
14742776
15742776
0819
18319
2103419
Stop Event
node limit
node limit
Compiler

Compiled 86 to 62 computations (27.9% saved)

end0.0ms (0%)

preprocess143.0ms (6.2%)

Compiler

Compiled 50 to 34 computations (32% saved)

Profiling

Loading profile data...