Data.Random.Dice:roll from dice-0.1

Time bar (total: 1.8s)

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)

sample652.0ms (36.9%)

Results
503.0ms6175×body256valid
137.0ms2081×body256infinite
Bogosity

preprocess206.0ms (11.7%)

Algorithm
egg-herbie
Rules
1346×fma-def
1252×distribute-lft-out
1206×distribute-rgt-out--
1110×unsub-neg
852×distribute-rgt-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
13018
25718
314418
434318
579918
6151918
7284618
8375918
9434618
10462018
11491618
12506518
13513818
14534918
15611618
16631418
17798618
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) 1)
(-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) 1)
Outputs
(-.f64 (*.f64 x x) 1)
(fma.f64 x x -1)
(-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) 1)
(fma.f64 x x -1)
Symmetry

(abs x)

Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify167.0ms (9.4%)

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)

prune2.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)
100.0%
(fma.f64 x x -1)
100.0%
(-.f64 (*.f64 x x) 1)
Compiler

Compiled 22 to 14 computations (36.4% saved)

localize30.0ms (1.7%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 18 to 9 computations (50% 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)

rewrite49.0ms (2.8%)

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)

simplify46.0ms (2.6%)

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)

eval8.0ms (0.4%)

Compiler

Compiled 342 to 239 computations (30.1% saved)

prune12.0ms (0.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New36339
Fresh000
Picked112
Done000
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))
51.8%
(*.f64 x x)
49.3%
-1
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
51.8%
(*.f64 x x)
49.3%
-1
Compiler

Compiled 40 to 28 computations (30% saved)

localize29.0ms (1.6%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 22 to 14 computations (36.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))

rewrite57.0ms (3.2%)

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.6%)

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)

eval17.0ms (0.9%)

Compiler

Compiled 909 to 581 computations (36.1% saved)

prune15.0ms (0.8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New62062
Fresh011
Picked022
Done011
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))
51.8%
(*.f64 x x)
49.3%
-1
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
51.8%
(*.f64 x x)
49.3%
-1
Compiler

Compiled 40 to 28 computations (30% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.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))
51.8%
(*.f64 x x)
49.3%
-1
100.0%
(-.f64 (*.f64 x x) 1)
100.0%
(*.f64 (+.f64 x 1) (+.f64 x -1))
51.8%
(*.f64 x x)
49.3%
-1
Compiler

Compiled 40 to 28 computations (30% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.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))
51.8%
(*.f64 x x)
49.3%
-1
Compiler

Compiled 41 to 26 computations (36.6% saved)

regimes10.0ms (0.6%)

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)

regimes10.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:

3.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 29 to 17 computations (41.4% saved)

regimes11.0ms (0.6%)

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

2 calls:

5.0ms
x
5.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
99.4%2x
99.4%2(*.f64 x x)
Compiler

Compiled 11 to 6 computations (45.5% saved)

regimes3.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
-1
Outputs
-1
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
49.3%1x
Compiler

Compiled 4 to 3 computations (25% saved)

bsearch12.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
12.0ms
0.00011636577075106422
359.5963262085879
Results
10.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)

soundness341.0ms (19.3%)

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)

end0.0ms (0%)

preprocess30.0ms (1.7%)

Remove

(abs x)

Compiler

Compiled 64 to 36 computations (43.8% saved)

Profiling

Loading profile data...