x / (x^2 + 1)

Time bar (total: 1.7s)

analyze0.0ms (0%)

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

Compiled 9 to 6 computations (33.3% saved)

sample686.0ms (39.9%)

Results
675.0ms8256×body256valid
Bogosity

preprocess98.0ms (5.7%)

Algorithm
egg-herbie
Rules
1836×fma-neg
1744×cube-prod
1352×div-sub
964×times-frac
726×distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01249
12749
25149
310049
424749
583249
6213149
7554349
8647449
9770649
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 x (+.f64 (*.f64 x x) 1))
(/.f64 x (+.f64 (*.f64 x x) 1))
(/.f64 (neg.f64 x) (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) 1))
Outputs
(/.f64 x (+.f64 (*.f64 x x) 1))
(/.f64 x (fma.f64 x x 1))
(/.f64 x (+.f64 (*.f64 x x) 1))
(/.f64 x (fma.f64 x x 1))
(/.f64 (neg.f64 x) (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) 1))
(/.f64 (neg.f64 x) (fma.f64 x x 1))
(/.f64 x (-.f64 -1 (*.f64 x x)))
Compiler

Compiled 8 to 5 computations (37.5% saved)

eval0.0ms (0%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
Compiler

Compiled 16 to 10 computations (37.5% saved)

localize24.0ms (1.4%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
Compiler

Compiled 19 to 9 computations (52.6% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

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

rewrite66.0ms (3.9%)

Algorithm
batch-egg-rewrite
Rules
1552×pow1
1446×add-exp-log
1446×log1p-expm1-u
1446×expm1-log1p-u
1420×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
115115
2201615
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(/.f64 x (+.f64 (*.f64 x x) 1))
Outputs
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 x x 1))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) (/.f64 (sqrt.f64 x) (hypot.f64 1 x)))
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (/.f64 x (hypot.f64 1 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (hypot.f64 1 x)) (/.f64 (cbrt.f64 x) (hypot.f64 1 x)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 x (+.f64 1 (pow.f64 x 6))) (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x))))
(*.f64 (/.f64 x (+.f64 (pow.f64 x 4) -1)) (fma.f64 x x -1))
(pow.f64 (/.f64 x (fma.f64 x x 1)) 1)
(pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 3)
(pow.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) 2)
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
(neg.f64 (/.f64 x (neg.f64 (fma.f64 x x 1))))
(sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))

simplify61.0ms (3.5%)

Algorithm
egg-herbie
Rules
1974×fma-def
878×log-prod
626×log-div
450×unswap-sqr
420×associate-*r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01151260
12941094
2930932
34078932
Stop Event
node limit
Counts
44 → 59
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 -1 (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (pow.f64 x 5)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (pow.f64 x 7)) (pow.f64 x 5))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 x x 1))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) (/.f64 (sqrt.f64 x) (hypot.f64 1 x)))
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (/.f64 x (hypot.f64 1 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (hypot.f64 1 x)) (/.f64 (cbrt.f64 x) (hypot.f64 1 x)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 x (+.f64 1 (pow.f64 x 6))) (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x))))
(*.f64 (/.f64 x (+.f64 (pow.f64 x 4) -1)) (fma.f64 x x -1))
(pow.f64 (/.f64 x (fma.f64 x x 1)) 1)
(pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 3)
(pow.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) 2)
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
(neg.f64 (/.f64 x (neg.f64 (fma.f64 x x 1))))
(sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))
Outputs
x
(+.f64 x (*.f64 -1 (pow.f64 x 3)))
(+.f64 x (neg.f64 (pow.f64 x 3)))
(-.f64 x (pow.f64 x 3))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (pow.f64 x 5)))
(+.f64 x (fma.f64 -1 (pow.f64 x 3) (pow.f64 x 5)))
(+.f64 x (-.f64 (pow.f64 x 5) (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (pow.f64 x 7)) (pow.f64 x 5))))
(+.f64 x (fma.f64 -1 (pow.f64 x 3) (fma.f64 -1 (pow.f64 x 7) (pow.f64 x 5))))
(+.f64 x (-.f64 (-.f64 (pow.f64 x 5) (pow.f64 x 7)) (pow.f64 x 3)))
(+.f64 (-.f64 x (pow.f64 x 3)) (-.f64 (pow.f64 x 5) (pow.f64 x 7)))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 5)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7)))))
(+.f64 (/.f64 1 x) (-.f64 (-.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 7))) (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 -1 (pow.f64 x 3)) (/.f64 -1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 7))) (/.f64 -1 (pow.f64 x 3))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 5)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7)))))
(+.f64 (/.f64 1 x) (-.f64 (-.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 7))) (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 -1 (pow.f64 x 3)) (/.f64 -1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 7))) (/.f64 -1 (pow.f64 x 3))))
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (/.f64 1 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) (/.f64 (sqrt.f64 x) (hypot.f64 1 x)))
(pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) 2)
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (hypot.f64 1 x)) (/.f64 x (hypot.f64 1 x)))
(pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) 2)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (hypot.f64 1 x)) (/.f64 (cbrt.f64 x) (hypot.f64 1 x)))
(pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) 2)
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 x (+.f64 1 (pow.f64 x 6))) (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x))))
(/.f64 (*.f64 x (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))) (+.f64 1 (pow.f64 x 6)))
(/.f64 (+.f64 x (-.f64 (pow.f64 x 5) (pow.f64 x 3))) (+.f64 1 (pow.f64 x 6)))
(*.f64 (/.f64 x (+.f64 (pow.f64 x 4) -1)) (fma.f64 x x -1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (/.f64 x (fma.f64 x x 1)) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 3)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 1 x)) 2)
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(neg.f64 (/.f64 x (neg.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))

eval16.0ms (0.9%)

Compiler

Compiled 703 to 482 computations (31.4% saved)

prune10.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New56359
Fresh000
Picked011
Done000
Total56460
Accuracy
100.0%
Counts
60 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.9%
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
52.7%
(/.f64 1 x)
50.0%
x
77.9%
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
52.7%
(/.f64 1 x)
50.0%
x
Compiler

Compiled 46 to 30 computations (34.8% saved)

localize44.0ms (2.6%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.8%
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
78.1%
(/.f64 (fma.f64 x x 1) x)
Compiler

Compiled 28 to 17 computations (39.3% saved)

series2.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite61.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
1672×pow1
1548×add-exp-log
1544×log1p-expm1-u
1544×expm1-log1p-u
1516×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0936
118230
2213130
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(/.f64 (fma.f64 x x 1) x)
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
Outputs
(-.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) 1)
(*.f64 1 (/.f64 (fma.f64 x x 1) x))
(*.f64 (fma.f64 x x 1) (/.f64 1 x))
(*.f64 (/.f64 (fma.f64 x x 1) x) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (*.f64 (cbrt.f64 (fma.f64 x x 1)) (/.f64 1 x)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (sqrt.f64 (fma.f64 x x 1)) (*.f64 (sqrt.f64 (fma.f64 x x 1)) (/.f64 1 x)))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) (sqrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (neg.f64 (fma.f64 x x 1)) (/.f64 1 (neg.f64 x)))
(*.f64 (/.f64 1 x) (fma.f64 x x 1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (fma.f64 x x 1) (cbrt.f64 x)))
(*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (fma.f64 x x 1) (sqrt.f64 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 x x 1)) x))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (sqrt.f64 x)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x x 1)) 1) (/.f64 (sqrt.f64 (fma.f64 x x 1)) x))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x x 1)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (fma.f64 x x 1)) (cbrt.f64 x)))
(pow.f64 (/.f64 (fma.f64 x x 1) x) 1)
(pow.f64 (/.f64 x (fma.f64 x x 1)) -1)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 3)
(pow.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) 2)
(neg.f64 (/.f64 (fma.f64 x x 1) (neg.f64 x)))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 x x 1) x)))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 x x 1) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x x 1) x)))
(exp.f64 (log.f64 (/.f64 (fma.f64 x x 1) x)))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x x 1) x)))
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (pow.f64 (fma.f64 x x 1) -1) (pow.f64 (/.f64 1 x) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1) (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (sqrt.f64 (fma.f64 x x 1))) (/.f64 x (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(*.f64 (/.f64 1 (neg.f64 (fma.f64 x x 1))) (neg.f64 x))
(/.f64 x (fma.f64 x x 1))
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
(/.f64 1 (/.f64 (/.f64 (fma.f64 x x 1) x) 1))
(/.f64 -1 (neg.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (fma.f64 x x 1) (cbrt.f64 x)))
(/.f64 (sqrt.f64 x) (/.f64 (fma.f64 x x 1) (sqrt.f64 x)))
(/.f64 (neg.f64 x) (neg.f64 (fma.f64 x x 1)))
(/.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 x (sqrt.f64 (fma.f64 x x 1))) (sqrt.f64 (fma.f64 x x 1)))
(/.f64 (/.f64 1 (fma.f64 x x 1)) (/.f64 1 x))
(/.f64 (/.f64 x 1) (fma.f64 x x 1))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2)) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (fma.f64 x x 1)))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) -2))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x x 1) 3)))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))

simplify98.0ms (5.7%)

Algorithm
egg-herbie
Rules
1606×fma-neg
1174×associate-/r*
1006×fma-def
994×associate-/l*
742×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822449
14332025
214361611
375871611
Stop Event
node limit
Counts
95 → 98
Calls
Call 1
Inputs
(/.f64 1 x)
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
x
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
x
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
x
(+.f64 x (*.f64 -1 (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (pow.f64 x 5)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (pow.f64 x 7)) (pow.f64 x 5))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(-.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) 1)
(*.f64 1 (/.f64 (fma.f64 x x 1) x))
(*.f64 (fma.f64 x x 1) (/.f64 1 x))
(*.f64 (/.f64 (fma.f64 x x 1) x) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (*.f64 (cbrt.f64 (fma.f64 x x 1)) (/.f64 1 x)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (sqrt.f64 (fma.f64 x x 1)) (*.f64 (sqrt.f64 (fma.f64 x x 1)) (/.f64 1 x)))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) (sqrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (neg.f64 (fma.f64 x x 1)) (/.f64 1 (neg.f64 x)))
(*.f64 (/.f64 1 x) (fma.f64 x x 1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (fma.f64 x x 1) (cbrt.f64 x)))
(*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (fma.f64 x x 1) (sqrt.f64 x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 x x 1)) x))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (sqrt.f64 x)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x x 1)) 1) (/.f64 (sqrt.f64 (fma.f64 x x 1)) x))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x x 1)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (fma.f64 x x 1)) (cbrt.f64 x)))
(pow.f64 (/.f64 (fma.f64 x x 1) x) 1)
(pow.f64 (/.f64 x (fma.f64 x x 1)) -1)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 3)
(pow.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) 2)
(neg.f64 (/.f64 (fma.f64 x x 1) (neg.f64 x)))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 x x 1) x)))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 x x 1) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x x 1) x)))
(exp.f64 (log.f64 (/.f64 (fma.f64 x x 1) x)))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x x 1) x)))
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (pow.f64 (fma.f64 x x 1) -1) (pow.f64 (/.f64 1 x) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1) (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (sqrt.f64 (fma.f64 x x 1))) (/.f64 x (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(*.f64 (/.f64 1 (neg.f64 (fma.f64 x x 1))) (neg.f64 x))
(/.f64 x (fma.f64 x x 1))
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
(/.f64 1 (/.f64 (/.f64 (fma.f64 x x 1) x) 1))
(/.f64 -1 (neg.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (fma.f64 x x 1) (cbrt.f64 x)))
(/.f64 (sqrt.f64 x) (/.f64 (fma.f64 x x 1) (sqrt.f64 x)))
(/.f64 (neg.f64 x) (neg.f64 (fma.f64 x x 1)))
(/.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 x (sqrt.f64 (fma.f64 x x 1))) (sqrt.f64 (fma.f64 x x 1)))
(/.f64 (/.f64 1 (fma.f64 x x 1)) (/.f64 1 x))
(/.f64 (/.f64 x 1) (fma.f64 x x 1))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2)) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (fma.f64 x x 1)))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) -2))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x x 1) 3)))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))
Outputs
(/.f64 1 x)
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
x
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
x
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
(+.f64 x (/.f64 1 x))
x
(+.f64 x (*.f64 -1 (pow.f64 x 3)))
(+.f64 x (neg.f64 (pow.f64 x 3)))
(-.f64 x (pow.f64 x 3))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (pow.f64 x 5)))
(+.f64 x (fma.f64 -1 (pow.f64 x 3) (pow.f64 x 5)))
(+.f64 (-.f64 x (pow.f64 x 3)) (pow.f64 x 5))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (pow.f64 x 7)) (pow.f64 x 5))))
(+.f64 x (fma.f64 -1 (pow.f64 x 3) (fma.f64 -1 (pow.f64 x 7) (pow.f64 x 5))))
(+.f64 (-.f64 x (pow.f64 x 3)) (-.f64 (pow.f64 x 5) (pow.f64 x 7)))
(+.f64 (pow.f64 x 5) (-.f64 x (+.f64 (pow.f64 x 3) (pow.f64 x 7))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))))
(-.f64 (/.f64 1 (pow.f64 x 5)) (-.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 5)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7)))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))) (/.f64 -1 (pow.f64 x 7))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))))
(-.f64 (/.f64 1 (pow.f64 x 5)) (-.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 x)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 5)) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7)))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))) (/.f64 -1 (pow.f64 x 7))))
(-.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) 1)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 1 (/.f64 (fma.f64 x x 1) x))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (fma.f64 x x 1) (/.f64 1 x))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 (fma.f64 x x 1) x) 1)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (*.f64 (cbrt.f64 (fma.f64 x x 1)) (/.f64 1 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (sqrt.f64 (fma.f64 x x 1)) (*.f64 (sqrt.f64 (fma.f64 x x 1)) (/.f64 1 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) (sqrt.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (neg.f64 (fma.f64 x x 1)) (/.f64 1 (neg.f64 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 1 x) (fma.f64 x x 1))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (fma.f64 x x 1) (cbrt.f64 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (fma.f64 x x 1) (sqrt.f64 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 x x 1)) x))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (pow.f64 (cbrt.f64 x) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (sqrt.f64 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x x 1)) 1) (/.f64 (sqrt.f64 (fma.f64 x x 1)) x))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x x 1)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (fma.f64 x x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(pow.f64 (/.f64 (fma.f64 x x 1) x) 1)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(pow.f64 (/.f64 x (fma.f64 x x 1)) -1)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 3)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(pow.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 3) 1/3)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) 2)
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(neg.f64 (/.f64 (fma.f64 x x 1) (neg.f64 x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(log.f64 (exp.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 3))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 x x 1) 3) (pow.f64 x 3)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(exp.f64 (log.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 (+.f64 1 (/.f64 (fma.f64 x x 1) x)) -1)
(+.f64 (/.f64 (fma.f64 x x 1) x) 0)
(/.f64 (fma.f64 x x 1) x)
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (fma.f64 x x 1) -1) (pow.f64 (/.f64 1 x) -1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1) (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (sqrt.f64 (fma.f64 x x 1))) (/.f64 x (sqrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (sqrt.f64 x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (neg.f64 (fma.f64 x x 1))) (neg.f64 x))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 x (fma.f64 x x 1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 1 (/.f64 (/.f64 (fma.f64 x x 1) x) 1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 -1 (neg.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 (fma.f64 x x 1) (cbrt.f64 x)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (sqrt.f64 x) (/.f64 (fma.f64 x x 1) (sqrt.f64 x)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (neg.f64 x) (neg.f64 (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 x (sqrt.f64 (fma.f64 x x 1))) (sqrt.f64 (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (/.f64 1 (fma.f64 x x 1)) (/.f64 1 x))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (/.f64 x 1) (fma.f64 x x 1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) 2)) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(/.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) -2))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x x 1) 3)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))

eval43.0ms (2.5%)

Compiler

Compiled 1233 to 839 computations (32% saved)

prune14.0ms (0.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New97198
Fresh011
Picked112
Done011
Total984102
Accuracy
100.0%
Counts
102 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
77.9%
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
52.7%
(/.f64 1 x)
50.0%
x
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
77.9%
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
52.7%
(/.f64 1 x)
50.0%
x
Compiler

Compiled 46 to 30 computations (34.8% saved)

localize32.0ms (1.9%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.8%
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
78.1%
(/.f64 (fma.f64 x x 1) x)
Compiler

Compiled 22 to 13 computations (40.9% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite54.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1626×pow1
1496×add-exp-log
1496×log1p-expm1-u
1496×expm1-log1p-u
1460×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0821
116515
2209815
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
Outputs
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (fma.f64 x x 1)) x)))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 (/.f64 1 x) -1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2)) -1) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1) (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (sqrt.f64 (fma.f64 x x 1))) (/.f64 x (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) 1) x)
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (/.f64 1 (neg.f64 (fma.f64 x x 1))) (neg.f64 x))
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
(pow.f64 (/.f64 x (fma.f64 x x 1)) 1)
(pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 3)
(pow.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) 2)
(sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x x 1) 3)))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))

simplify61.0ms (3.5%)

Algorithm
egg-herbie
Rules
2002×fma-def
1332×log-prod
950×associate-*r*
846×associate-*l*
510×log-div
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01231468
13021272
29341092
350141092
Stop Event
node limit
Counts
48 → 71
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 -1 (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (pow.f64 x 5)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (pow.f64 x 7)) (pow.f64 x 5))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 x (fma.f64 x x 1))))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (fma.f64 x x 1)) x)))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 (/.f64 1 x) -1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2)) -1) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1) (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 1 (sqrt.f64 (fma.f64 x x 1))) (/.f64 x (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(*.f64 (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) 1) x)
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (/.f64 1 (neg.f64 (fma.f64 x x 1))) (neg.f64 x))
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
(pow.f64 (/.f64 x (fma.f64 x x 1)) 1)
(pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 3)
(pow.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) 2)
(sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x x 1) 3)))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))
Outputs
x
(+.f64 x (*.f64 -1 (pow.f64 x 3)))
(+.f64 x (neg.f64 (pow.f64 x 3)))
(-.f64 x (pow.f64 x 3))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (pow.f64 x 5)))
(+.f64 x (fma.f64 -1 (pow.f64 x 3) (pow.f64 x 5)))
(+.f64 x (-.f64 (pow.f64 x 5) (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (pow.f64 x 7)) (pow.f64 x 5))))
(+.f64 x (fma.f64 -1 (pow.f64 x 3) (fma.f64 -1 (pow.f64 x 7) (pow.f64 x 5))))
(+.f64 x (-.f64 (-.f64 (pow.f64 x 5) (pow.f64 x 7)) (pow.f64 x 3)))
(+.f64 x (-.f64 (pow.f64 x 5) (+.f64 (pow.f64 x 3) (pow.f64 x 7))))
(+.f64 (-.f64 x (pow.f64 x 3)) (-.f64 (pow.f64 x 5) (pow.f64 x 7)))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (/.f64 1 (pow.f64 x 5)) (-.f64 (pow.f64 (/.f64 1 x) 3) (/.f64 1 x)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (-.f64 (-.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))) (/.f64 -1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 5)) (-.f64 (/.f64 -1 (pow.f64 x 7)) (pow.f64 (/.f64 1 x) 3))))
(/.f64 1 x)
(-.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 1 (pow.f64 x 3)))
(+.f64 (/.f64 1 x) (-.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 3))))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (/.f64 -1 (pow.f64 x 3)))
(-.f64 (/.f64 1 (pow.f64 x 5)) (-.f64 (pow.f64 (/.f64 1 x) 3) (/.f64 1 x)))
(-.f64 (+.f64 (/.f64 1 x) (/.f64 1 (pow.f64 x 5))) (+.f64 (/.f64 1 (pow.f64 x 3)) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (-.f64 (-.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 1 (pow.f64 x 3))) (/.f64 1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (/.f64 1 (pow.f64 x 5)) (/.f64 -1 (pow.f64 x 3))) (/.f64 -1 (pow.f64 x 7))))
(+.f64 (/.f64 1 x) (+.f64 (/.f64 1 (pow.f64 x 5)) (-.f64 (/.f64 -1 (pow.f64 x 7)) (pow.f64 (/.f64 1 x) 3))))
(-.f64 (+.f64 1 (/.f64 x (fma.f64 x x 1))) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 1 (/.f64 x (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 x (/.f64 1 (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 x (fma.f64 x x 1)) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2)) (cbrt.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) (sqrt.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (fma.f64 x x 1)) x)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (fma.f64 x x 1)) x)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 (/.f64 1 x) -1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2)) -1) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2))) (/.f64 1 (cbrt.f64 (/.f64 (fma.f64 x x 1) x))))
(/.f64 (*.f64 (/.f64 1 (cbrt.f64 (/.f64 (fma.f64 x x 1) x))) 1) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2)))
(/.f64 (/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x 1) x) 2))) (cbrt.f64 (/.f64 (fma.f64 x x 1) x)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1) (pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x 1) x)) -1))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 x (cbrt.f64 (fma.f64 x x 1))))
(/.f64 (*.f64 1 (/.f64 x (cbrt.f64 (fma.f64 x x 1)))) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2)))
(/.f64 (/.f64 x (cbrt.f64 (fma.f64 x x 1))) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2)))
(*.f64 (/.f64 1 (sqrt.f64 (fma.f64 x x 1))) (/.f64 x (sqrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) 1) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x)) (fma.f64 x x 1))
(*.f64 (cbrt.f64 x) (/.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 x x 1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (/.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 x x 1)))) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x x)) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x)) (fma.f64 x x 1))
(*.f64 (cbrt.f64 x) (/.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 x x 1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (/.f64 (sqrt.f64 x) 1) (/.f64 (sqrt.f64 x) (fma.f64 x x 1)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 (sqrt.f64 x) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2))) (/.f64 (sqrt.f64 x) (cbrt.f64 (fma.f64 x x 1))))
(/.f64 (*.f64 1 (/.f64 x (cbrt.f64 (fma.f64 x x 1)))) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2)))
(/.f64 (/.f64 x (cbrt.f64 (fma.f64 x x 1))) (cbrt.f64 (pow.f64 (fma.f64 x x 1) 2)))
(*.f64 (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))) (/.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) 1) x)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x)) (fma.f64 x x 1))
(*.f64 (cbrt.f64 x) (/.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 x x 1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (/.f64 (cbrt.f64 x) (fma.f64 x x 1)))
(*.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (sqrt.f64 x)) (sqrt.f64 x))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(*.f64 (/.f64 1 (neg.f64 (fma.f64 x x 1))) (neg.f64 x))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (/.f64 x (fma.f64 x x 1)) 1)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (cbrt.f64 (/.f64 x (fma.f64 x x 1))) 3)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(pow.f64 (sqrt.f64 (/.f64 x (fma.f64 x x 1))) 2)
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(sqrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 2))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(log.f64 (exp.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(cbrt.f64 (pow.f64 (/.f64 x (fma.f64 x x 1)) 3))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(cbrt.f64 (/.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x x 1) 3)))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(expm1.f64 (log1p.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(exp.f64 (log.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))
(log1p.f64 (expm1.f64 (/.f64 x (fma.f64 x x 1))))
(+.f64 1 (-.f64 (/.f64 x (fma.f64 x x 1)) 1))
(+.f64 (/.f64 x (fma.f64 x x 1)) 0)
(/.f64 x (fma.f64 x x 1))

eval72.0ms (4.2%)

Compiler

Compiled 1390 to 935 computations (32.7% saved)

prune15.0ms (0.9%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1081109
Fresh011
Picked011
Done022
Total1085113
Accuracy
100.0%
Counts
113 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
77.9%
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
49.8%
(/.f64 1 (/.f64 1 x))
52.7%
(/.f64 1 x)
50.0%
x
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
77.9%
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
49.8%
(/.f64 1 (/.f64 1 x))
52.7%
(/.f64 1 x)
50.0%
x
Compiler

Compiled 58 to 40 computations (31% saved)

localize22.0ms (1.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.7%
(/.f64 1 (/.f64 1 x))
Compiler

Compiled 12 to 9 computations (25% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite51.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
892×pow1
858×add-sqr-sqrt
842×*-un-lft-identity
822×add-exp-log
822×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061
11251
212451
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(/.f64 1 (/.f64 1 x))
Outputs
(+.f64 0 x)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 x))) (log.f64 (sqrt.f64 (exp.f64 x))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 x)) (cbrt.f64 (exp.f64 x)))) (log.f64 (cbrt.f64 (exp.f64 x))))
(-.f64 (+.f64 1 x) 1)
(*.f64 1 x)
(*.f64 x 1)
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 x))
(*.f64 -1 (neg.f64 x))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 x -2)) -1) (pow.f64 (/.f64 1 (cbrt.f64 x)) -1))
(*.f64 (pow.f64 (pow.f64 x -1/2) -1) (pow.f64 (pow.f64 x -1/2) -1))
(pow.f64 x 1)
(pow.f64 (/.f64 1 x) -1)
(pow.f64 (cbrt.f64 x) 3)
(pow.f64 (pow.f64 x 3) 1/3)
(pow.f64 (sqrt.f64 x) 2)
(sqrt.f64 (*.f64 x x))
(log.f64 (exp.f64 x))
(cbrt.f64 (pow.f64 x 3))
x
(expm1.f64 (log1p.f64 x))
(exp.f64 (log.f64 x))
(log1p.f64 (expm1.f64 x))

simplify41.0ms (2.4%)

Algorithm
egg-herbie
Rules
742×log-prod
626×associate-*r*
562×associate-*r/
548×associate-*l*
512×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060117
112191
247273
3316473
Stop Event
node limit
Counts
35 → 28
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 0 x)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 x))) (log.f64 (sqrt.f64 (exp.f64 x))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 x)) (cbrt.f64 (exp.f64 x)))) (log.f64 (cbrt.f64 (exp.f64 x))))
(-.f64 (+.f64 1 x) 1)
(*.f64 1 x)
(*.f64 x 1)
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 x))
(*.f64 -1 (neg.f64 x))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 x -2)) -1) (pow.f64 (/.f64 1 (cbrt.f64 x)) -1))
(*.f64 (pow.f64 (pow.f64 x -1/2) -1) (pow.f64 (pow.f64 x -1/2) -1))
(pow.f64 x 1)
(pow.f64 (/.f64 1 x) -1)
(pow.f64 (cbrt.f64 x) 3)
(pow.f64 (pow.f64 x 3) 1/3)
(pow.f64 (sqrt.f64 x) 2)
(sqrt.f64 (*.f64 x x))
(log.f64 (exp.f64 x))
(cbrt.f64 (pow.f64 x 3))
(expm1.f64 (log1p.f64 x))
(exp.f64 (log.f64 x))
(log1p.f64 (expm1.f64 x))
Outputs
x
x
x
x
x
x
x
x
x
x
x
x
(+.f64 0 x)
x
(+.f64 (log.f64 (sqrt.f64 (exp.f64 x))) (log.f64 (sqrt.f64 (exp.f64 x))))
x
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 x)) (cbrt.f64 (exp.f64 x)))) (log.f64 (cbrt.f64 (exp.f64 x))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 x)))) (log.f64 (cbrt.f64 (exp.f64 x))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 x))))
(-.f64 (+.f64 1 x) 1)
x
(*.f64 1 x)
x
(*.f64 x 1)
x
(*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2))
x
(*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x))
x
(*.f64 (sqrt.f64 x) (sqrt.f64 x))
x
(*.f64 -1 (neg.f64 x))
x
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 x -2)) -1) (pow.f64 (/.f64 1 (cbrt.f64 x)) -1))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 x -2))) (/.f64 1 (/.f64 1 (cbrt.f64 x))))
(/.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (pow.f64 (pow.f64 x -1/2) -1) (pow.f64 (pow.f64 x -1/2) -1))
x
(pow.f64 x 1)
x
(pow.f64 (/.f64 1 x) -1)
x
(pow.f64 (cbrt.f64 x) 3)
x
(pow.f64 (pow.f64 x 3) 1/3)
x
(pow.f64 (sqrt.f64 x) 2)
x
(sqrt.f64 (*.f64 x x))
x
(log.f64 (exp.f64 x))
x
(cbrt.f64 (pow.f64 x 3))
x
(expm1.f64 (log1p.f64 x))
x
(exp.f64 (log.f64 x))
x
(log1p.f64 (expm1.f64 x))
x

eval5.0ms (0.3%)

Compiler

Compiled 163 to 96 computations (41.1% saved)

prune14.0ms (0.8%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New27128
Fresh011
Picked011
Done033
Total27633
Accuracy
100.0%
Counts
33 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.0%
(/.f64 x (+.f64 (*.f64 x x) 1))
77.9%
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
49.8%
(/.f64 1 (/.f64 1 x))
52.7%
(/.f64 1 x)
5.0%
(-.f64 (+.f64 1 x) 1)
50.0%
x
Compiler

Compiled 73 to 50 computations (31.5% saved)

regimes29.0ms (1.7%)

Counts
7 → 3
Calls
Call 1
Inputs
x
(/.f64 1 x)
(-.f64 (+.f64 1 x) 1)
(/.f64 1 (/.f64 1 x))
(/.f64 x (+.f64 (*.f64 x x) 1))
(/.f64 1 (/.f64 (fma.f64 x x 1) x))
(pow.f64 (/.f64 (fma.f64 x x 1) x) -1)
Outputs
(/.f64 1 x)
(/.f64 x (+.f64 (*.f64 x x) 1))
(/.f64 1 x)
Calls

2 calls:

14.0ms
x
12.0ms
(/.f64 x (+.f64 (*.f64 x x) 1))
Results
AccuracySegmentsBranch
100.0%3x
99.9%3(/.f64 x (+.f64 (*.f64 x x) 1))
Compiler

Compiled 48 to 31 computations (35.4% saved)

regimes12.0ms (0.7%)

Counts
4 → 3
Calls
Call 1
Inputs
x
(/.f64 1 x)
(-.f64 (+.f64 1 x) 1)
(/.f64 1 (/.f64 1 x))
Outputs
(/.f64 1 x)
x
(/.f64 1 x)
Calls

1 calls:

11.0ms
x
Results
AccuracySegmentsBranch
98.8%3x
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes4.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
x
Outputs
x
Calls

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
50.0%1x
Compiler

Compiled 4 to 2 computations (50% saved)

bsearch3.0ms (0.2%)

Algorithm
binary-search
Stop Event
predicate-same
predicate-same
Steps
TimeLeftRight
2.0ms
32608503.53497979
1485521907560968.0
2.0ms
-1.0604069798886544e+39
-4.360208535326585e+32
Results
3.0ms32×body256valid
Compiler

Compiled 40 to 28 computations (30% saved)

bsearch27.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
0.027722969159445575
32608503.53497979
12.0ms
-5.410096233590614
-0.07664061995110719
Results
24.0ms256×body256valid
Compiler

Compiled 140 to 104 computations (25.7% saved)

simplify5.0ms (0.3%)

Algorithm
egg-herbie
Rules
if-if-or-not
1-exp
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02285
13485
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 x -999999999999999939709166371603178586112) (/.f64 1 x) (if (<=.f64 x 50000000) (/.f64 x (+.f64 (*.f64 x x) 1)) (/.f64 1 x)))
(if (<=.f64 x -1) (/.f64 1 x) (if (<=.f64 x 1) x (/.f64 1 x)))
x
Outputs
(if (<=.f64 x -999999999999999939709166371603178586112) (/.f64 1 x) (if (<=.f64 x 50000000) (/.f64 x (+.f64 (*.f64 x x) 1)) (/.f64 1 x)))
(if (<=.f64 x -999999999999999939709166371603178586112) (/.f64 1 x) (if (<=.f64 x 50000000) (/.f64 x (+.f64 1 (*.f64 x x))) (/.f64 1 x)))
(if (<=.f64 x -1) (/.f64 1 x) (if (<=.f64 x 1) x (/.f64 1 x)))
x
Compiler

Compiled 40 to 27 computations (32.5% saved)

soundness0.0ms (0%)

end0.0ms (0%)

preprocess46.0ms (2.7%)

Compiler

Compiled 108 to 72 computations (33.3% saved)

Profiling

Loading profile data...