Asymptote C

Time bar (total: 1.3s)

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
75%75%25%0%0%0%0%4
87.5%87.5%12.5%0%0%0%0%5
93.8%93.7%6.2%0%0%0%0%6
96.9%96.8%3.1%0%0%0%0%7
98.4%98.4%1.6%0%0%0%0%8
99.2%99.2%0.8%0%0%0%0%9
99.6%99.6%0.4%0%0%0%0%10
99.8%99.8%0.2%0%0%0%0%11
99.9%99.9%0.1%0%0%0%0%12
Compiler

Compiled 15 to 8 computations (46.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-div: 0.0ms (0% of total)
ival-sub: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
const: 0.0ms (0% of total)

sample1.1s (81.1%)

Results
318.0ms1963×1024valid
318.0ms5053×256valid
123.0ms1029×512valid
42.0ms211×2048valid
Precisions
Click to see histograms. Total time spent on operations: 511.0ms
ival-div: 237.0ms (46.4% of total)
ival-sub: 161.0ms (31.5% of total)
ival-add: 98.0ms (19.2% of total)
const: 15.0ms (2.9% of total)
Bogosity

preprocess116.0ms (8.9%)

Algorithm
egg-herbie
Rules
814×fma-neg
609×fma-define
123×distribute-rgt-in
98×times-frac
93×unsub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
019232
140212
288200
3223196
4538196
51241196
62153196
72813196
83049196
93194196
103194196
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 (neg.f64 x) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64))))
(neg.f64 (-.f64 (/.f64 (neg.f64 x) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64)))))
Outputs
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) x)))
(+.f64 (/.f64 (-.f64 #s(literal -1 binary64) x) (+.f64 x #s(literal -1 binary64))) (/.f64 x (+.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) x) (-.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) x)))
(+.f64 (/.f64 (-.f64 #s(literal -1 binary64) x) (+.f64 x #s(literal -1 binary64))) (/.f64 x (+.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (-.f64 #s(literal -1 binary64) x) (-.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 (neg.f64 x) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64))))
(-.f64 (/.f64 (neg.f64 x) (+.f64 #s(literal 1 binary64) (neg.f64 x))) (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (+.f64 (neg.f64 x) #s(literal -1 binary64))))
(-.f64 (/.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) x)) (/.f64 (-.f64 #s(literal 1 binary64) x) (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64))))
(-.f64 (/.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) x)) (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal -1 binary64) x)))
(+.f64 (/.f64 x (+.f64 x #s(literal -1 binary64))) (/.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal -1 binary64) x)))
(neg.f64 (-.f64 (/.f64 (neg.f64 x) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 (+.f64 (neg.f64 x) #s(literal 1 binary64)) (-.f64 (neg.f64 x) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (/.f64 (neg.f64 x) (+.f64 #s(literal 1 binary64) (neg.f64 x))) (/.f64 (+.f64 #s(literal 1 binary64) (neg.f64 x)) (+.f64 (neg.f64 x) #s(literal -1 binary64)))))
(neg.f64 (-.f64 (/.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) x)) (/.f64 (-.f64 #s(literal 1 binary64) x) (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64)))))
(+.f64 (/.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal -1 binary64) x)) (/.f64 x (-.f64 #s(literal 1 binary64) x)))
(+.f64 (/.f64 (+.f64 x #s(literal -1 binary64)) (+.f64 x #s(literal 1 binary64))) (/.f64 x (-.f64 #s(literal 1 binary64) x)))

explain101.0ms (7.8%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1270-0-(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
00-0-x
00-0-(/.f64 x (+.f64 x #s(literal 1 binary64)))
00-0-#s(literal 1 binary64)
00-0-(-.f64 x #s(literal 1 binary64))
00-0-(/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
00-0-(+.f64 x #s(literal 1 binary64))
Results
29.0ms322×256valid
22.0ms104×1024valid
10.0ms14×2048valid
9.0ms72×512valid
Compiler

Compiled 84 to 23 computations (72.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-div: 13.0ms (41.7% of total)
ival-sub: 12.0ms (38.4% of total)
ival-add: 5.0ms (16% of total)
const: 1.0ms (3.2% of total)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
54.1%
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
Compiler

Compiled 28 to 14 computations (50% saved)

simplify8.0ms (0.6%)

Algorithm
egg-herbie
Rules
46×unsub-neg
22×neg-mul-1
distribute-neg-out
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01149
12249
23349
35249
48049
510649
612449
715949
819049
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
Outputs
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) x)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 14 to 7 computations (50% saved)

preprocess16.0ms (1.3%)

Compiler

Compiled 56 to 28 computations (50% saved)

end0.0ms (0%)

Profiling

Loading profile data...