Details

Time bar (total: 1.1s)

analyze3.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
66.7%50%25%0%25%0%0%4
83.3%62.5%12.5%0%25%0%0%5
91.7%68.7%6.2%0%25%0%0%6
95.8%71.8%3.1%0%25%0%0%7
97.9%73.4%1.6%0%25%0%0%8
99%74.2%0.8%0%25%0%0%9
99.5%74.6%0.4%0%25%0%0%10
99.7%74.8%0.2%0%25%0%0%11
99.9%74.9%0.1%0%25%0%0%12
Compiler

Compiled 7 to 5 computations (28.6% saved)

sample570.0ms (50.1%)

Results
559.0ms8256×body256valid
0.0msbody256infinite
Bogosity

preprocess24.0ms (2.1%)

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

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 3 computations (50% saved)

localize4.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 10 to 3 computations (70% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

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

rewrite52.0ms (4.6%)

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 (5.4%)

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)

eval8.0ms (0.7%)

Compiler

Compiled 483 to 182 computations (62.3% saved)

prune6.0ms (0.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New44347
Fresh000
Picked011
Done000
Total44448
Accurracy
100.0%
Counts
48 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (neg.f64 x))
100.0%
(-.f64 (*.f64 x x) x)
38.2%
(*.f64 x x)
64.6%
(neg.f64 x)
Compiler

Compiled 19 to 10 computations (47.4% saved)

localize5.0ms (0.5%)

Compiler

Compiled 4 to 2 computations (50% saved)

localize2.0ms (0.2%)

Compiler

Compiled 5 to 2 computations (60% saved)

localize4.0ms (0.4%)

Compiler

Compiled 9 to 3 computations (66.7% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0.2%)

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%
(fma.f64 x x (neg.f64 x))
100.0%
(-.f64 (*.f64 x x) x)
38.2%
(*.f64 x x)
64.6%
(neg.f64 x)
Compiler

Compiled 19 to 10 computations (47.4% saved)

regimes10.0ms (0.9%)

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

2 calls:

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

Compiled 29 to 13 computations (55.2% saved)

regimes9.0ms (0.8%)

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:

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

Compiled 24 to 12 computations (50% saved)

regimes8.0ms (0.7%)

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:

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

regimes9.0ms (0.8%)

Accuracy

Total -59.3b remaining (-4034.5%)

Threshold costs -59.3b (-4034.5%)

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:

8.0ms
x
Results
AccuracySegmentsBranch
97.7%3x
Compiler

Compiled 8 to 4 computations (50% saved)

bsearch26.0ms (2.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
0.6386290854436424
974346513.2533467
14.0ms
-1596806018.6817434
-0.2610129370013586
Results
23.0ms304×body256valid
Compiler

Compiled 181 to 121 computations (33.1% saved)

simplify6.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02081
13381
23981
34581
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 x x (neg.f64 x))
(-.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
(fma.f64 x x (neg.f64 x))
(-.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 38 to 21 computations (44.7% saved)

soundness274.0ms (24.1%)

Rules
1208×pow1
1128×add-exp-log
1128×log1p-expm1-u
1128×expm1-log1p-u
1108×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
11313
21913
32513
42913
53413
64513
76513
813613
925813
1036513
1138713
1238913
0513
111213
2158213
01001006
1245926
2909914
34763844
01001006
1245926
2909914
34763844
Stop Event
node limit
node limit
node limit
saturated
Compiler

Compiled 62 to 32 computations (48.4% saved)

end29.0ms (2.6%)

Compiler

Compiled 34 to 14 computations (58.8% saved)

Profiling

Loading profile data...