Details

Time bar (total: 1.9s)

analyze3.0ms (0.1%)

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)

sample809.0ms (43.1%)

Results
798.0ms8256×body256valid
0.0msbody256infinite
Bogosity

preprocess180.0ms (9.6%)

Algorithm
egg-herbie
Rules
1662×fma-neg
1456×unsub-neg
1010×sub-neg
806×distribute-neg-in
716×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1179
2219
3369
4779
51539
63609
77579
825699
944819
1057969
1164499
1267089
1368599
1469419
1572559
1678019
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (*.f64 x x) 1)
Outputs
(-.f64 (*.f64 x x) 1)
(fma.f64 x x -1)
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify174.0ms (9.3%)

Algorithm
egg-herbie
Rules
1662×fma-neg
1456×unsub-neg
1010×sub-neg
806×distribute-neg-in
716×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1179
2219
3369
4779
51539
63609
77579
825699
944819
1057969
1164499
1267089
1368599
1469419
1572559
1678019
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) 1)
Outputs
(-.f64 (*.f64 x x) 1)
(fma.f64 x x -1)

eval0.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 11 to 7 computations (36.4% saved)

localize4.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 11 to 5 computations (54.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite57.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
1198×pow1
1118×add-exp-log
1114×log1p-expm1-u
1114×expm1-log1p-u
1102×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify52.0ms (2.7%)

Algorithm
egg-herbie
Rules
756×associate-*r*
654×log-prod
652×associate-*l*
644×associate-+r+
574×div-sub
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
080590
1177560
2584560
33701560
Stop Event
node limit
Counts
44 → 39
Calls
Call 1
Inputs
-1
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(+.f64 (*.f64 x x) -1)
(+.f64 -1 (*.f64 x x))
(*.f64 1 (fma.f64 x x -1))
(*.f64 (fma.f64 x x -1) 1)
(*.f64 (cbrt.f64 (fma.f64 x x -1)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) 2)) (cbrt.f64 (fma.f64 x x -1)))
(*.f64 (sqrt.f64 (fma.f64 x x -1)) (sqrt.f64 (fma.f64 x x -1)))
(*.f64 (+.f64 (pow.f64 x 6) -1) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(*.f64 (+.f64 (pow.f64 x 4) -1) (/.f64 1 (fma.f64 x x 1)))
(*.f64 (+.f64 x 1) (+.f64 x -1))
(*.f64 (+.f64 x -1) (+.f64 x 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)) (+.f64 (pow.f64 x 6) -1)))
(/.f64 1 (/.f64 (fma.f64 x x 1) (+.f64 (pow.f64 x 4) -1)))
(/.f64 (+.f64 (pow.f64 x 6) -1) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(/.f64 (+.f64 (pow.f64 x 6) -1) (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 (*.f64 x x) -1))))
(/.f64 (+.f64 (pow.f64 x 4) -1) (fma.f64 x x 1))
(/.f64 (+.f64 (pow.f64 x 4) -1) (-.f64 (*.f64 x x) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) -1)) (neg.f64 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 4) -1)) (neg.f64 (fma.f64 x x 1)))
(pow.f64 (fma.f64 x x -1) 1)
(pow.f64 (cbrt.f64 (fma.f64 x x -1)) 3)
(pow.f64 (pow.f64 (fma.f64 x x -1) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x x -1)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x x -1) 2))
(log.f64 (exp.f64 (fma.f64 x x -1)))
(cbrt.f64 (pow.f64 (fma.f64 x x -1) 3))
(expm1.f64 (*.f64 (log.f64 x) 2))
(exp.f64 (log.f64 (fma.f64 x x -1)))
(log1p.f64 (expm1.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(fma.f64 1 (*.f64 x x) -1)
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) -1)
Outputs
-1
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(+.f64 (*.f64 x x) -1)
(fma.f64 x x -1)
(+.f64 -1 (*.f64 x x))
(fma.f64 x x -1)
(*.f64 1 (fma.f64 x x -1))
(fma.f64 x x -1)
(*.f64 (fma.f64 x x -1) 1)
(fma.f64 x x -1)
(*.f64 (cbrt.f64 (fma.f64 x x -1)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) 2)))
(fma.f64 x x -1)
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) 2)) (cbrt.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(*.f64 (sqrt.f64 (fma.f64 x x -1)) (sqrt.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(*.f64 (+.f64 (pow.f64 x 6) -1) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(*.f64 (+.f64 -1 (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(/.f64 (+.f64 -1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(*.f64 (+.f64 (pow.f64 x 4) -1) (/.f64 1 (fma.f64 x x 1)))
(fma.f64 x x -1)
(*.f64 (+.f64 x 1) (+.f64 x -1))
(fma.f64 x x -1)
(*.f64 (+.f64 x -1) (+.f64 x 1))
(fma.f64 x x -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)) (+.f64 (pow.f64 x 6) -1)))
(*.f64 (+.f64 -1 (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(/.f64 (+.f64 -1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(/.f64 1 (/.f64 (fma.f64 x x 1) (+.f64 (pow.f64 x 4) -1)))
(fma.f64 x x -1)
(/.f64 (+.f64 (pow.f64 x 6) -1) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(*.f64 (+.f64 -1 (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(/.f64 (+.f64 -1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(/.f64 (+.f64 (pow.f64 x 6) -1) (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 (*.f64 x x) -1))))
(*.f64 (+.f64 -1 (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(/.f64 (+.f64 -1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(/.f64 (+.f64 (pow.f64 x 4) -1) (fma.f64 x x 1))
(fma.f64 x x -1)
(/.f64 (+.f64 (pow.f64 x 4) -1) (-.f64 (*.f64 x x) -1))
(fma.f64 x x -1)
(/.f64 (neg.f64 (+.f64 (pow.f64 x 6) -1)) (neg.f64 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(*.f64 (+.f64 -1 (pow.f64 x 6)) (/.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x 1))))
(/.f64 (+.f64 -1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x 4) -1)) (neg.f64 (fma.f64 x x 1)))
(fma.f64 x x -1)
(pow.f64 (fma.f64 x x -1) 1)
(fma.f64 x x -1)
(pow.f64 (cbrt.f64 (fma.f64 x x -1)) 3)
(fma.f64 x x -1)
(pow.f64 (pow.f64 (fma.f64 x x -1) 3) 1/3)
(fma.f64 x x -1)
(pow.f64 (sqrt.f64 (fma.f64 x x -1)) 2)
(fma.f64 x x -1)
(sqrt.f64 (pow.f64 (fma.f64 x x -1) 2))
(fma.f64 x x -1)
(log.f64 (exp.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(cbrt.f64 (pow.f64 (fma.f64 x x -1) 3))
(fma.f64 x x -1)
(expm1.f64 (*.f64 (log.f64 x) 2))
(expm1.f64 (*.f64 2 (log.f64 x)))
(exp.f64 (log.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(log1p.f64 (expm1.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(fma.f64 x x -1)
(fma.f64 1 (*.f64 x x) -1)
(fma.f64 x x -1)
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) -1)

localize3.0ms (0.2%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

eval8.0ms (0.4%)

Compiler

Compiled 342 to 239 computations (30.1% saved)

prune6.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New36339
Fresh000
Picked101
Done011
Total37441
Accurracy
100.0%
Counts
41 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
32.8%
(*.f64 x x)
68.2%
-1
Compiler

Compiled 20 to 14 computations (30% saved)

localize2.0ms (0.1%)

Compiler

Compiled 5 to 2 computations (60% saved)

localize7.0ms (0.4%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 17 to 12 computations (29.4% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

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

rewrite59.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
1738×pow1
1616×add-exp-log
1614×log1p-expm1-u
1614×expm1-log1p-u
1592×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

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

simplify46.0ms (2.5%)

Algorithm
egg-herbie
Rules
764×associate-/r*
590×associate-*r/
584×associate-+r+
534×associate-+l+
504×div-sub
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01241208
14171048
22003964
Stop Event
node limit
Counts
56 → 62
Calls
Call 1
Inputs
-1
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(-.f64 (pow.f64 x 2) 1)
(+.f64 (+.f64 x -1) (*.f64 (+.f64 x -1) x))
(+.f64 (+.f64 x -1) (*.f64 x (+.f64 x -1)))
(+.f64 (*.f64 x x) -1)
(+.f64 (+.f64 x (*.f64 x x)) (neg.f64 (+.f64 x 1)))
(+.f64 (neg.f64 (+.f64 x 1)) (+.f64 x (*.f64 x x)))
(+.f64 (*.f64 (+.f64 x -1) x) (+.f64 x -1))
(+.f64 (*.f64 (+.f64 x (*.f64 x x)) 1) (*.f64 (neg.f64 (+.f64 x 1)) 1))
(+.f64 (*.f64 x (+.f64 x -1)) (+.f64 x -1))
(-.f64 (*.f64 x x) 1)
(-.f64 (+.f64 1 (fma.f64 x x -1)) 1)
(/.f64 (pow.f64 (fma.f64 x x -1) 2) (fma.f64 x x -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (fma.f64 x x -1)) (*.f64 (fma.f64 x x (-.f64 1 x)) (+.f64 x 1)))
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 1 (pow.f64 x 3))) (*.f64 (+.f64 x 1) (fma.f64 x x (-.f64 1 x))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 -1 (pow.f64 x 3))) (*.f64 (fma.f64 x x (-.f64 1 x)) (fma.f64 x x (-.f64 1 (*.f64 x -1)))))
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 -1 (pow.f64 x 3))) (*.f64 (+.f64 x -1) (fma.f64 x x (-.f64 1 (*.f64 x -1)))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) (*.f64 (fma.f64 x x (-.f64 1 (*.f64 x -1))) (fma.f64 x x (-.f64 1 x))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x -1)) (*.f64 (fma.f64 x x (-.f64 1 (*.f64 x -1))) (+.f64 x -1)))
(/.f64 (+.f64 (pow.f64 (+.f64 x (*.f64 x x)) 3) (pow.f64 (neg.f64 (+.f64 x 1)) 3)) (+.f64 (*.f64 (+.f64 x (*.f64 x x)) (+.f64 x (*.f64 x x))) (-.f64 (*.f64 (neg.f64 (+.f64 x 1)) (neg.f64 (+.f64 x 1))) (*.f64 (+.f64 x (*.f64 x x)) (neg.f64 (+.f64 x 1))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x x) 3) 1) (+.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (+.f64 1 (*.f64 (*.f64 x x) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 x (*.f64 x x)) (+.f64 x (*.f64 x x))) (*.f64 (neg.f64 (+.f64 x 1)) (neg.f64 (+.f64 x 1)))) (-.f64 (+.f64 x (*.f64 x x)) (neg.f64 (+.f64 x 1))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) 1) (+.f64 (*.f64 x x) 1))
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 x 1)) (+.f64 x 1))
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 x -1)) (+.f64 x -1))
(/.f64 (*.f64 (+.f64 x -1) (fma.f64 x x -1)) (+.f64 x -1))
(/.f64 (*.f64 (+.f64 x 1) (fma.f64 x x -1)) (+.f64 x 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(/.f64 (*.f64 (+.f64 x -1) (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 x -1)) (fma.f64 x x (-.f64 1 x)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 x 1)) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(pow.f64 (cbrt.f64 (fma.f64 x x -1)) 3)
(pow.f64 (pow.f64 (fma.f64 x x -1) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x x -1)) 2)
(pow.f64 (fma.f64 x x -1) 1)
(sqrt.f64 (pow.f64 (fma.f64 x x -1) 2))
(log.f64 (exp.f64 (fma.f64 x x -1)))
(cbrt.f64 (pow.f64 (fma.f64 x x -1) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1) 3) (pow.f64 (+.f64 x -1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 x -1) 3) (pow.f64 (+.f64 x 1) 3)))
(expm1.f64 (log1p.f64 (fma.f64 x x -1)))
(exp.f64 (log.f64 (fma.f64 x x -1)))
(log1p.f64 (expm1.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(fma.f64 x (+.f64 x 1) (neg.f64 (+.f64 x 1)))
(fma.f64 (+.f64 x 1) x (neg.f64 (+.f64 x 1)))
Outputs
-1
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(-.f64 (pow.f64 x 2) 1)
(fma.f64 x x -1)
(+.f64 (+.f64 x -1) (*.f64 (+.f64 x -1) x))
(fma.f64 x x -1)
(+.f64 (+.f64 x -1) (*.f64 x (+.f64 x -1)))
(fma.f64 x x -1)
(+.f64 (*.f64 x x) -1)
(fma.f64 x x -1)
(+.f64 (+.f64 x (*.f64 x x)) (neg.f64 (+.f64 x 1)))
(fma.f64 x x -1)
(+.f64 (neg.f64 (+.f64 x 1)) (+.f64 x (*.f64 x x)))
(fma.f64 x x -1)
(+.f64 (*.f64 (+.f64 x -1) x) (+.f64 x -1))
(fma.f64 x x -1)
(+.f64 (*.f64 (+.f64 x (*.f64 x x)) 1) (*.f64 (neg.f64 (+.f64 x 1)) 1))
(fma.f64 x x -1)
(+.f64 (*.f64 x (+.f64 x -1)) (+.f64 x -1))
(fma.f64 x x -1)
(-.f64 (*.f64 x x) 1)
(fma.f64 x x -1)
(-.f64 (+.f64 1 (fma.f64 x x -1)) 1)
(fma.f64 x x -1)
(/.f64 (pow.f64 (fma.f64 x x -1) 2) (fma.f64 x x -1))
(fma.f64 x x -1)
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (fma.f64 x x -1)) (*.f64 (fma.f64 x x (-.f64 1 x)) (+.f64 x 1)))
(/.f64 (fma.f64 x x -1) (/.f64 (*.f64 (+.f64 x 1) (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3))))
(/.f64 (+.f64 1 (pow.f64 x 3)) (*.f64 1 (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 -1 x))))
(/.f64 (+.f64 -1 x) (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 1 (pow.f64 x 3))))
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 1 (pow.f64 x 3))) (*.f64 (+.f64 x 1) (fma.f64 x x (-.f64 1 x))))
(/.f64 (fma.f64 x x -1) (/.f64 (*.f64 (+.f64 x 1) (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3))))
(/.f64 (+.f64 1 (pow.f64 x 3)) (*.f64 1 (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 -1 x))))
(/.f64 (+.f64 -1 x) (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 1 (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 -1 (pow.f64 x 3))) (*.f64 (fma.f64 x x (-.f64 1 x)) (fma.f64 x x (-.f64 1 (*.f64 x -1)))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 x))) (/.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 (*.f64 -1 x)))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 x 3)) (-.f64 (fma.f64 x x 1) x)) (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 (+.f64 -1 (pow.f64 x 6)) (-.f64 (fma.f64 x x 1) x)) (+.f64 x (fma.f64 x x 1)))
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 -1 (pow.f64 x 3))) (*.f64 (+.f64 x -1) (fma.f64 x x (-.f64 1 (*.f64 x -1)))))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 (*.f64 -1 x)))) (/.f64 (fma.f64 x x -1) (+.f64 -1 x)))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 (fma.f64 x x 1) x)) (/.f64 (+.f64 x 1) 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 -1 (pow.f64 x 3))) (+.f64 x (fma.f64 x x 1)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) (*.f64 (fma.f64 x x (-.f64 1 (*.f64 x -1))) (fma.f64 x x (-.f64 1 x))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 x))) (/.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 (*.f64 -1 x)))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 x 3)) (-.f64 (fma.f64 x x 1) x)) (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 (fma.f64 x x 1) x)))
(/.f64 (/.f64 (+.f64 -1 (pow.f64 x 6)) (-.f64 (fma.f64 x x 1) x)) (+.f64 x (fma.f64 x x 1)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x -1)) (*.f64 (fma.f64 x x (-.f64 1 (*.f64 x -1))) (+.f64 x -1)))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 (*.f64 -1 x)))) (/.f64 (fma.f64 x x -1) (+.f64 -1 x)))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 (fma.f64 x x 1) x)) (/.f64 (+.f64 x 1) 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 -1 (pow.f64 x 3))) (+.f64 x (fma.f64 x x 1)))
(/.f64 (+.f64 (pow.f64 (+.f64 x (*.f64 x x)) 3) (pow.f64 (neg.f64 (+.f64 x 1)) 3)) (+.f64 (*.f64 (+.f64 x (*.f64 x x)) (+.f64 x (*.f64 x x))) (-.f64 (*.f64 (neg.f64 (+.f64 x 1)) (neg.f64 (+.f64 x 1))) (*.f64 (+.f64 x (*.f64 x x)) (neg.f64 (+.f64 x 1))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x 1) x) 3) (pow.f64 (neg.f64 (+.f64 x 1)) 3)) (fma.f64 (*.f64 (+.f64 x 1) x) (*.f64 (+.f64 x 1) x) (*.f64 (neg.f64 (+.f64 x 1)) (-.f64 (neg.f64 (+.f64 x 1)) (*.f64 (+.f64 x 1) x)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 x x x) 3) (pow.f64 (+.f64 x 1) 3)) (fma.f64 (fma.f64 x x x) (fma.f64 x x x) (pow.f64 (+.f64 x 1) 3)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x x) 3) (pow.f64 (-.f64 -1 x) 3)) (fma.f64 (fma.f64 x x x) (fma.f64 x x x) (pow.f64 (+.f64 x 1) 3)))
(/.f64 (-.f64 (pow.f64 (*.f64 x x) 3) 1) (+.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (+.f64 1 (*.f64 (*.f64 x x) 1))))
(/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) -1) (+.f64 (*.f64 x (pow.f64 x 3)) (fma.f64 x x 1)))
(/.f64 (+.f64 -1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(/.f64 (-.f64 (*.f64 (+.f64 x (*.f64 x x)) (+.f64 x (*.f64 x x))) (*.f64 (neg.f64 (+.f64 x 1)) (neg.f64 (+.f64 x 1)))) (-.f64 (+.f64 x (*.f64 x x)) (neg.f64 (+.f64 x 1))))
(fma.f64 x x -1)
(/.f64 (-.f64 (*.f64 (*.f64 x x) (*.f64 x x)) 1) (+.f64 (*.f64 x x) 1))
(fma.f64 x x -1)
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 x 1)) (+.f64 x 1))
(fma.f64 x x -1)
(/.f64 (*.f64 (fma.f64 x x -1) (+.f64 x -1)) (+.f64 x -1))
(fma.f64 x x -1)
(/.f64 (*.f64 (+.f64 x -1) (fma.f64 x x -1)) (+.f64 x -1))
(fma.f64 x x -1)
(/.f64 (*.f64 (+.f64 x 1) (fma.f64 x x -1)) (+.f64 x 1))
(fma.f64 x x -1)
(/.f64 (*.f64 (+.f64 x 1) (+.f64 -1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 (*.f64 -1 x)))) (/.f64 (fma.f64 x x -1) (+.f64 -1 x)))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 (fma.f64 x x 1) x)) (/.f64 (+.f64 x 1) 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 -1 (pow.f64 x 3))) (+.f64 x (fma.f64 x x 1)))
(/.f64 (*.f64 (+.f64 x -1) (+.f64 1 (pow.f64 x 3))) (fma.f64 x x (-.f64 1 x)))
(/.f64 (fma.f64 x x -1) (/.f64 (*.f64 (+.f64 x 1) (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3))))
(/.f64 (+.f64 1 (pow.f64 x 3)) (*.f64 1 (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 -1 x))))
(/.f64 (+.f64 -1 x) (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 1 (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 x -1)) (fma.f64 x x (-.f64 1 x)))
(/.f64 (fma.f64 x x -1) (/.f64 (*.f64 (+.f64 x 1) (fma.f64 x x (-.f64 1 x))) (+.f64 1 (pow.f64 x 3))))
(/.f64 (+.f64 1 (pow.f64 x 3)) (*.f64 1 (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 -1 x))))
(/.f64 (+.f64 -1 x) (/.f64 (-.f64 (fma.f64 x x 1) x) (+.f64 1 (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 x 1)) (fma.f64 x x (-.f64 1 (*.f64 x -1))))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (fma.f64 x x (-.f64 1 (*.f64 -1 x)))) (/.f64 (fma.f64 x x -1) (+.f64 -1 x)))
(*.f64 (/.f64 (+.f64 -1 (pow.f64 x 3)) (+.f64 (fma.f64 x x 1) x)) (/.f64 (+.f64 x 1) 1))
(/.f64 (*.f64 (+.f64 x 1) (+.f64 -1 (pow.f64 x 3))) (+.f64 x (fma.f64 x x 1)))
(pow.f64 (cbrt.f64 (fma.f64 x x -1)) 3)
(fma.f64 x x -1)
(pow.f64 (pow.f64 (fma.f64 x x -1) 3) 1/3)
(fma.f64 x x -1)
(pow.f64 (sqrt.f64 (fma.f64 x x -1)) 2)
(fma.f64 x x -1)
(pow.f64 (fma.f64 x x -1) 1)
(fma.f64 x x -1)
(sqrt.f64 (pow.f64 (fma.f64 x x -1) 2))
(fma.f64 x x -1)
(log.f64 (exp.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(cbrt.f64 (pow.f64 (fma.f64 x x -1) 3))
(fma.f64 x x -1)
(cbrt.f64 (*.f64 (pow.f64 (+.f64 x 1) 3) (pow.f64 (+.f64 x -1) 3)))
(fma.f64 x x -1)
(cbrt.f64 (*.f64 (pow.f64 (+.f64 x -1) 3) (pow.f64 (+.f64 x 1) 3)))
(fma.f64 x x -1)
(expm1.f64 (log1p.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(exp.f64 (log.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(log1p.f64 (expm1.f64 (fma.f64 x x -1)))
(fma.f64 x x -1)
(fma.f64 x x -1)
(fma.f64 x (+.f64 x 1) (neg.f64 (+.f64 x 1)))
(fma.f64 x x -1)
(fma.f64 (+.f64 x 1) x (neg.f64 (+.f64 x 1)))
(fma.f64 x x -1)

eval22.0ms (1.2%)

Compiler

Compiled 909 to 581 computations (36.1% saved)

prune8.0ms (0.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New62062
Fresh011
Picked011
Done022
Total62466
Accurracy
100.0%
Counts
66 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
32.8%
(*.f64 x x)
68.2%
-1
Compiler

Compiled 20 to 14 computations (30% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
32.8%
(*.f64 x x)
68.2%
-1
Compiler

Compiled 20 to 14 computations (30% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune4.0ms (0.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
32.8%
(*.f64 x x)
68.2%
-1
Compiler

Compiled 20 to 14 computations (30% saved)

regimes10.0ms (0.5%)

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

3 calls:

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

Compiled 33 to 19 computations (42.4% saved)

regimes11.0ms (0.6%)

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

3 calls:

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

Compiled 29 to 17 computations (41.4% saved)

regimes14.0ms (0.8%)

Accuracy

Total -61.8b remaining (-8109.1%)

Threshold costs -61.8b (-8109.1%)

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

2 calls:

10.0ms
x
4.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
98.8%3x
98.8%2(*.f64 x x)
Compiler

Compiled 11 to 6 computations (45.5% saved)

bsearch13.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
3.053788571353221e-5
2.9202691585858713
Results
12.0ms144×body256valid
Compiler

Compiled 64 to 52 computations (18.8% saved)

simplify5.0ms (0.3%)

Algorithm
egg-herbie
Rules
sub-neg
*-rgt-identity
mul-1-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01446
11946
22246
32746
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 x x -1)
(-.f64 (*.f64 x x) 1)
(if (<=.f64 (*.f64 x x) 1) -1 (*.f64 x x))
-1
Outputs
(fma.f64 x x -1)
(-.f64 (*.f64 x x) 1)
(+.f64 (*.f64 x x) -1)
(if (<=.f64 (*.f64 x x) 1) -1 (*.f64 x x))
-1
Compiler

Compiled 24 to 15 computations (37.5% saved)

soundness356.0ms (18.9%)

Rules
1662×fma-neg
1456×unsub-neg
1010×sub-neg
806×distribute-neg-in
756×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1179
2219
3369
4779
51539
63609
77579
825699
944819
1057969
1164499
1267089
1368599
1469419
1572559
1678019
080590
1177560
2584560
33701560
Stop Event
node limit
node limit
Compiler

Compiled 22 to 13 computations (40.9% saved)

end22.0ms (1.2%)

Compiler

Compiled 21 to 11 computations (47.6% saved)

Profiling

Loading profile data...