Details

Time bar (total: 1.6s)

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 7 to 5 computations (28.6% saved)

sample893.0ms (54.9%)

Results
596.0ms6207×body256valid
287.0ms2049×body256infinite
Bogosity

preprocess52.0ms (3.2%)

Algorithm
egg-herbie
Rules
314×fma-def
34×cancel-sign-sub-inv
32×distribute-rgt-in
28×distribute-lft-neg-in
24×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
11313
21913
32513
42913
53413
64513
76513
813613
925813
1036513
1138713
1238913
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 x (-.f64 x 1))
Outputs
(*.f64 x (-.f64 x 1))
(*.f64 x (+.f64 x -1))
(-.f64 (*.f64 x x) x)
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify23.0ms (1.4%)

Algorithm
egg-herbie
Rules
314×fma-def
34×cancel-sign-sub-inv
32×distribute-rgt-in
28×distribute-lft-neg-in
24×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
11313
21913
32513
42913
53413
64513
76513
813613
925813
1036513
1138713
1238913
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 x (-.f64 x 1))
Outputs
(*.f64 x (-.f64 x 1))
(*.f64 x (+.f64 x -1))
(-.f64 (*.f64 x x) x)

eval1.0ms (0%)

Compiler

Compiled 16 to 9 computations (43.8% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Accurracy
100.0%
Counts
4 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) x)
100.0%
(*.f64 x (-.f64 x 1))
Compiler

Compiled 12 to 7 computations (41.7% saved)

localize38.0ms (2.4%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 x (-.f64 x 1))
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 1))
0.0ms
x
@-inf
(*.f64 x (-.f64 x 1))
0.0ms
x
@0
(*.f64 x (-.f64 x 1))

rewrite49.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
1212×pow1
1124×add-exp-log
1122×log1p-expm1-u
1122×expm1-log1p-u
1104×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (3.7%)

Algorithm
egg-herbie
Rules
1754×fma-def
1300×log-prod
676×fma-neg
670×*-commutative
642×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053437
1126425
2391421
32511409
46365409
Stop Event
node limit
Counts
29 → 31
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 x x) (*.f64 x -1))
(+.f64 (*.f64 x x) (*.f64 -1 x))
(-.f64 (+.f64 1 (*.f64 x (+.f64 x -1))) 1)
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) -1)) (fma.f64 x x (+.f64 x 1)))
(/.f64 (*.f64 x (fma.f64 x x -1)) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) -1) x) (fma.f64 x x (+.f64 x 1)))
(/.f64 (*.f64 (fma.f64 x x -1) x) (+.f64 x 1))
(pow.f64 (*.f64 x (+.f64 x -1)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x -1))) 3)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x -1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x -1))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x -1)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x -1)))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x -1)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x -1))))
(exp.f64 (log.f64 (*.f64 x (+.f64 x -1))))
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x -1))))
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 x x) (*.f64 x -1))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 x x) (*.f64 -1 x))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(-.f64 (+.f64 1 (*.f64 x (+.f64 x -1))) 1)
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(/.f64 (*.f64 x (+.f64 (pow.f64 x 3) -1)) (fma.f64 x x (+.f64 x 1)))
(/.f64 (*.f64 x (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (+.f64 x 1)))
(/.f64 (-.f64 (pow.f64 x 4) x) (fma.f64 x x (+.f64 x 1)))
(/.f64 (-.f64 (pow.f64 x 4) x) (+.f64 x (fma.f64 x x 1)))
(/.f64 (*.f64 x (fma.f64 x x -1)) (+.f64 x 1))
(/.f64 x (/.f64 (+.f64 x 1) (fma.f64 x x -1)))
(*.f64 (/.f64 (fma.f64 x x -1) (+.f64 x 1)) x)
(/.f64 (-.f64 (pow.f64 x 3) x) (+.f64 x 1))
(*.f64 x (*.f64 1 (+.f64 -1 x)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) -1) x) (fma.f64 x x (+.f64 x 1)))
(/.f64 (*.f64 x (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (+.f64 x 1)))
(/.f64 (-.f64 (pow.f64 x 4) x) (fma.f64 x x (+.f64 x 1)))
(/.f64 (-.f64 (pow.f64 x 4) x) (+.f64 x (fma.f64 x x 1)))
(/.f64 (*.f64 (fma.f64 x x -1) x) (+.f64 x 1))
(/.f64 x (/.f64 (+.f64 x 1) (fma.f64 x x -1)))
(*.f64 (/.f64 (fma.f64 x x -1) (+.f64 x 1)) x)
(/.f64 (-.f64 (pow.f64 x 3) x) (+.f64 x 1))
(*.f64 x (*.f64 1 (+.f64 -1 x)))
(pow.f64 (*.f64 x (+.f64 x -1)) 1)
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 x -1))) 3)
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(pow.f64 (pow.f64 (*.f64 x (+.f64 x -1)) 3) 1/3)
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(pow.f64 (sqrt.f64 (*.f64 x (+.f64 x -1))) 2)
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(sqrt.f64 (pow.f64 (*.f64 x (+.f64 x -1)) 2))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(log.f64 (pow.f64 (exp.f64 x) (+.f64 x -1)))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 x -1)) 3))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(expm1.f64 (log1p.f64 (*.f64 x (+.f64 x -1))))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(exp.f64 (log.f64 (*.f64 x (+.f64 x -1))))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)
(log1p.f64 (expm1.f64 (*.f64 x (+.f64 x -1))))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x x) x)

localize19.0ms (1.2%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(-.f64 (*.f64 x x) x)
Compiler

Compiled 11 to 4 computations (63.6% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite60.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
1208×pow1
1128×add-exp-log
1128×log1p-expm1-u
1128×expm1-log1p-u
1104×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (3.8%)

Algorithm
egg-herbie
Rules
1108×fma-def
634×distribute-lft-neg-in
548×distribute-frac-neg
532×distribute-rgt-neg-in
522×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001006
1245926
2909914
34763844
Stop Event
node limit
Counts
48 → 47
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 x x) (neg.f64 x))
(+.f64 (*.f64 x x) (*.f64 (neg.f64 x) 1))
(+.f64 (-.f64 (*.f64 x x) x) (fma.f64 (neg.f64 x) 1 x))
(+.f64 (-.f64 (*.f64 x x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(+.f64 (-.f64 (*.f64 x x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(+.f64 (neg.f64 x) (*.f64 x x))
(*.f64 x (-.f64 x 1))
(*.f64 (-.f64 (*.f64 x x) x) 1)
(*.f64 1 (-.f64 (*.f64 x x) x))
(*.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) 2) (cbrt.f64 (-.f64 (*.f64 x x) x)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 x x) x)) (sqrt.f64 (-.f64 (*.f64 x x) x)))
(*.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (/.f64 1 (fma.f64 x x x)))
(*.f64 (+.f64 x (sqrt.f64 x)) (-.f64 x (sqrt.f64 x)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x))) (-.f64 (pow.f64 x 6) (pow.f64 x 3))))
(/.f64 1 (/.f64 (fma.f64 x x x) (-.f64 (pow.f64 x 4) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (fma.f64 x x x))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (*.f64 x x))) (neg.f64 (fma.f64 x x x)))
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 x x) (neg.f64 x)))))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 x x) (neg.f64 x)))
(pow.f64 (-.f64 (*.f64 x x) x) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 x x) x) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x x) x)) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 x x) x) 2))
(log.f64 (exp.f64 (-.f64 (*.f64 x x) x)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x x) x) 3))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 x x) x)))
(exp.f64 (log.f64 (-.f64 (*.f64 x x) x)))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 x x) x)))
(fma.f64 x x (neg.f64 x))
(fma.f64 1 (*.f64 x x) (neg.f64 x))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (*.f64 x x)) (neg.f64 x))
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 x x) (neg.f64 x))
(-.f64 (*.f64 x x) x)
(+.f64 (*.f64 x x) (*.f64 (neg.f64 x) 1))
(-.f64 (*.f64 x x) x)
(+.f64 (-.f64 (*.f64 x x) x) (fma.f64 (neg.f64 x) 1 x))
(-.f64 (*.f64 x x) x)
(+.f64 (-.f64 (*.f64 x x) x) (fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) x))
(fma.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x))))
(+.f64 (-.f64 (*.f64 x x) x) (fma.f64 (neg.f64 (sqrt.f64 x)) (sqrt.f64 x) x))
(-.f64 (*.f64 x x) x)
(+.f64 (neg.f64 x) (*.f64 x x))
(-.f64 (*.f64 x x) x)
(*.f64 x (-.f64 x 1))
(-.f64 (*.f64 x x) x)
(*.f64 (-.f64 (*.f64 x x) x) 1)
(-.f64 (*.f64 x x) x)
(*.f64 1 (-.f64 (*.f64 x x) x))
(-.f64 (*.f64 x x) x)
(*.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) 2))
(-.f64 (*.f64 x x) x)
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) 2) (cbrt.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (*.f64 x x) x)
(*.f64 (sqrt.f64 (-.f64 (*.f64 x x) x)) (sqrt.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (*.f64 x x) x)
(*.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (fma.f64 x (fma.f64 x x x) (pow.f64 x 4)))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (/.f64 1 (fma.f64 x x x)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (fma.f64 x x x))
(/.f64 (-.f64 (*.f64 x x) x) 1)
(*.f64 (+.f64 x (sqrt.f64 x)) (-.f64 x (sqrt.f64 x)))
(-.f64 (*.f64 x x) x)
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x))) (-.f64 (pow.f64 x 6) (pow.f64 x 3))))
(*.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (fma.f64 x (fma.f64 x x x) (pow.f64 x 4)))
(/.f64 1 (/.f64 (fma.f64 x x x) (-.f64 (pow.f64 x 4) (*.f64 x x))))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (/.f64 1 (fma.f64 x x x)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (fma.f64 x x x))
(/.f64 (-.f64 (*.f64 x x) x) 1)
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x))))
(*.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (fma.f64 x (fma.f64 x x x) (pow.f64 x 4)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (fma.f64 x x x))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (/.f64 1 (fma.f64 x x x)))
(/.f64 (-.f64 (*.f64 x x) x) 1)
(/.f64 (neg.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(*.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (fma.f64 x (fma.f64 x x x) (pow.f64 x 4)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x 4) (*.f64 x x))) (neg.f64 (fma.f64 x x x)))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (/.f64 1 (fma.f64 x x x)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (fma.f64 x x x))
(/.f64 (-.f64 (*.f64 x x) x) 1)
(/.f64 (+.f64 (pow.f64 x 6) (pow.f64 (neg.f64 x) 3)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 x x) (neg.f64 x)))))
(*.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 x (fma.f64 x x x)))))
(/.f64 (-.f64 (pow.f64 x 6) (pow.f64 x 3)) (fma.f64 x (fma.f64 x x x) (pow.f64 x 4)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 x x) (neg.f64 x)))
(*.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (/.f64 1 (fma.f64 x x x)))
(/.f64 (-.f64 (pow.f64 x 4) (*.f64 x x)) (fma.f64 x x x))
(/.f64 (-.f64 (*.f64 x x) x) 1)
(pow.f64 (-.f64 (*.f64 x x) x) 1)
(-.f64 (*.f64 x x) x)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) x)) 3)
(-.f64 (*.f64 x x) x)
(pow.f64 (pow.f64 (-.f64 (*.f64 x x) x) 3) 1/3)
(-.f64 (*.f64 x x) x)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x x) x)) 2)
(-.f64 (*.f64 x x) x)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 x x) x) 2))
(-.f64 (*.f64 x x) x)
(log.f64 (exp.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (*.f64 x x) x)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x x) x) 3))
(-.f64 (*.f64 x x) x)
(expm1.f64 (log1p.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (*.f64 x x) x)
(exp.f64 (log.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (*.f64 x x) x)
(log1p.f64 (expm1.f64 (-.f64 (*.f64 x x) x)))
(-.f64 (*.f64 x x) x)
(fma.f64 x x (neg.f64 x))
(-.f64 (*.f64 x x) x)
(fma.f64 1 (*.f64 x x) (neg.f64 x))
(-.f64 (*.f64 x x) x)
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (*.f64 x x)) (neg.f64 x))
(-.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 x 4))) x)

eval14.0ms (0.9%)

Compiler

Compiled 732 to 339 computations (53.7% saved)

prune13.0ms (0.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New76278
Fresh000
Picked011
Done011
Total76480
Accurracy
100.0%
Counts
80 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) x)
100.0%
(*.f64 x (-.f64 x 1))
52.3%
(*.f64 x x)
50.2%
(neg.f64 x)
Compiler

Compiled 19 to 11 computations (42.1% saved)

localize13.0ms (0.8%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize16.0ms (1%)

Compiler

Compiled 6 to 3 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done033
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) x)
100.0%
(*.f64 x (-.f64 x 1))
52.3%
(*.f64 x x)
50.2%
(neg.f64 x)
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes11.0ms (0.7%)

Counts
4 → 1
Calls
Call 1
Inputs
(neg.f64 x)
(*.f64 x x)
(*.f64 x (-.f64 x 1))
(-.f64 (*.f64 x x) x)
Outputs
(-.f64 (*.f64 x x) x)
Calls

2 calls:

6.0ms
(*.f64 x (-.f64 x 1))
4.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(*.f64 x (-.f64 x 1))
Compiler

Compiled 24 to 12 computations (50% saved)

regimes8.0ms (0.5%)

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

2 calls:

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

Compiled 19 to 11 computations (42.1% saved)

regimes10.0ms (0.6%)

Accuracy

Total -59.7b remaining (-4454%)

Threshold costs -59.7b (-4454%)

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

1 calls:

9.0ms
x
Results
AccuracySegmentsBranch
97.9%3x
Compiler

Compiled 8 to 4 computations (50% saved)

bsearch32.0ms (2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
0.00022390644567364657
977.7738285895521
14.0ms
-155730.18737702302
-4.232878710212159e-12
Results
28.0ms304×body256valid
Compiler

Compiled 181 to 121 computations (33.1% saved)

simplify6.0ms (0.4%)

Algorithm
egg-herbie
Rules
sub-neg
+-commutative
*-commutative
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01868
13168
23768
34368
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) x)
(*.f64 x (-.f64 x 1))
(if (<=.f64 x -1) (*.f64 x x) (if (<=.f64 x 1) (neg.f64 x) (*.f64 x x)))
(neg.f64 x)
Outputs
(-.f64 (*.f64 x x) x)
(*.f64 x (-.f64 x 1))
(*.f64 x (+.f64 x -1))
(if (<=.f64 x -1) (*.f64 x x) (if (<=.f64 x 1) (neg.f64 x) (*.f64 x x)))
(neg.f64 x)
Compiler

Compiled 32 to 18 computations (43.8% saved)

soundness198.0ms (12.2%)

Rules
1754×fma-def
1754×fma-def
1300×log-prod
1300×log-prod
676×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
11313
21913
32513
42913
53413
64513
76513
813613
925813
1036513
1138713
1238913
053437
1126425
2391421
32511409
46365409
053437
1126425
2391421
32511409
46365409
Stop Event
node limit
node limit
saturated
Compiler

Compiled 51 to 27 computations (47.1% saved)

end43.0ms (2.6%)

Compiler

Compiled 82 to 40 computations (51.2% saved)

Profiling

Loading profile data...