File: const.i

package info (click to toggle)
frama-c 20161101%2Bsilicon%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 42,324 kB
  • ctags: 35,695
  • sloc: ml: 200,142; ansic: 31,465; makefile: 2,334; sh: 1,643; lisp: 259; python: 85; asm: 26
file content (141 lines) | stat: -rw-r--r-- 7,785 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/* run.config*
   OPT: -val @VALUECONFIG@ -float-hex -warn-decimal-float all -journal-disable -then -out -deps
*/
typedef double mydouble;

float f0, f_ , f00, f1 = 3.0, f2, f3, f_0, f13, f26, fic0,fic1,fic2,fic4, fec0,fec2,fec4;

mydouble m0, m_ , m00, m1 = 3.0, m2, m3, m_0, m13, m26;

double d0, d1 = 3.0, d2, d3, d4, d5, d6, d7;

int A,B,C,D,E,F,G,H,I,J,K,L,P,Q,R;

int Am,Bm,Cm,Dm,Em,Fm,Gm,Hm,Im,Jm,Km,Lm;

int t1,t2,t3,t4,t5,t6,t7,t8,t9,C0=0,C2=2;
int s1,s2,s3,s4,s5,s6,s7,s8,s9;
int if1,if2,if3,ite1,ite2,ite3;
int ca1,ca2,ca3,ca4;

double corner_case_small0 = 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125; /* midpoint between 0 and smallest subnormal, should round to zero because zero is "even" */
double corner_case_small1 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002470328229206232720882843964341106861825299013071623822127928412503377536351043759326499181808179961898982823477228588654633283551779698981993873980053909390631503565951557022639229085839244910518443593180284993653615250031937045767824921936562366986365848075700158576926990370631192827955855133292783433840935197801553124659726357957462276646527282722005637400648549997709659947045402082816622623785739345073633900796776193057750674017632467360096895134053553745851666113422376667860416215968046191446729184030053005753084904876539171138659164623952491262365388187963623937328042389101867234849766823508986338858792562830275599565752445550725518931369083625477918694866799496832404970582102851318545139621383772282614543769341253209859132766723632812501; 
double corner_case_small2 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002470328229206232720882843964341106861825299013071623822127928412503377536351043759326499181808179961898982823477228588654633283551779698981993873980053909390631503565951557022639229085839244910518443593180284993653615250031937045767824921936562366986365848075700158576926990370631192827955855133292783433840935197801553124659726357957462276646527282722005637400648549997709659947045402082816622623785739345073633900796776193057750674017632467360096895134053553745851666113422376667860416215968046191446729184030053005753084904876539171138659164623952491262365388187963623937328042389101867234849766823508986338858792562830275599565752445550725518931369083625477918694866799496832404970582102851318545139621383772282614543769341253209859132766723632812499; 

float smallest_pos0 = 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125;
float smallest_pos1 = 0.0000000000000000000000000000000000000000000014012984643248170709237295832899161312802619418765157717570682838897910826858606014866381883621215820312499;
float smallest_pos2 = 0.0000000000000000000000000000000000000000000014012984643248170709237295832899161312802619418765157717570682838897910826858606014866381883621215820312501;
float smallest_pos3 = 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125f;
float smallest_pos4 = 0.0000000000000000000000000000000000000000000014012984643248170709237295832899161312802619418765157717570682838897910826858606014866381883621215820312499f;
float smallest_pos5 = 0.0000000000000000000000000000000000000000000014012984643248170709237295832899161312802619418765157717570682838897910826858606014866381883621215820312501f;

float half_smallest_pos0 = 0.000000000000000000000000000000000000000000000700649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625;
float half_smallest_pos1 = 0.00000000000000000000000000000000000000000000070064923216240853546186479164495806564013097093825788587853414194489554134293030074331909418106079101562499;
float half_smallest_pos2 = 0.00000000000000000000000000000000000000000000070064923216240853546186479164495806564013097093825788587853414194489554134293030074331909418106079101562501;
float half_smallest_pos3 = 0.000000000000000000000000000000000000000000000700649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625f;
float half_smallest_pos4 = 0.00000000000000000000000000000000000000000000070064923216240853546186479164495806564013097093825788587853414194489554134293030074331909418106079101562499f;
float half_smallest_pos5 = 0.00000000000000000000000000000000000000000000070064923216240853546186479164495806564013097093825788587853414194489554134293030074331909418106079101562501f;

void main(int c1, int c2)
{
  f_ = - f0;
  f_0 = c1 ? f0 : f_;
  f00 = - f_;
  f2 = f1;
  f13 = c1 ? 1.0 : 3.0;
  f26 = f13 + f13;

/*@ assert f26 >= -1.0 ; */

  ca1 = f_0;
  ca2 = f13;
  ca3 = f0;
  ca4 = f00;

  m_ = - m0;
  m_0 = c1 ? m0 : m_;
  m00 = - m_;
  m2 = m1;
  m13 = c1 ? 1.0 : 3.0;
  m26 = m13 + m13;

  if (f2 == f1)
    d2 = d1;
  f3 = f1 + f0;
  if (f3 == f1)
    d6 = d1;

  f13 = c1 ? 1.0 : 3.0;

  A = f0 == f_;
  B = f0 == f1;
  C = f0 == f0;
  D = f_ == f1;
  E = f_ == f_;

  F = f_0 == f0;
  G = f_0 == f_;
  H = (c1 ? f0 : 3.0) == f_;
  I = (c1 ? f0 : 3.0) == f0;
  J = f13 == f_;
  K = f13 == f0;
  L = f13 == (c2? 3.0 : 5.0);

  P = f13 != (c2? 3.0 : 5.0);
  Q = f0 != f_;
  R = f0 != f1;

  Am = m0 == m_;
  Bm = m0 == m1;
  Cm = m0 == m0;
  Dm = m_ == m1;
  Em = m_ == m_;

  Fm = m_0 == m0;
  Gm = m_0 == m_;
  Hm = (c1 ? m0 : 3.0) == m_;
  Im = (c1 ? m0 : 3.0) == m0;
  Jm = m13 == m_;
  Km = m13 == m0;
  Lm = m13 == (c2? 3.0 : 5.0);

  t1 = f_0 <= f0;
  t2 = f0 <= f_0;
  t3 = f0 <= f13;
  t4 = f13 <= f26;
  t5 = f26 <= f13;
  t6 = 1.0 <= f26;
  t7 = f26 <= 1.0;
  t8 = f1 <= f1;

  s1 = f_0 < f0;
  s2 = f0 < f_0;
  s3 = f0 < f13;
  s4 = f13 < f26;
  s5 = f26 < f13;
  s6 = 1.0 < f26;
  s7 = f26 < 1.0;
  s8 = f1 < f1;

  d3 = d1 + 2.0;
  d4 = d1 + 2;

  if (1.0)  if1 = 1;
  if (0.0)  if2 = 1;
  if (-0.0) if3 = 1; 

  if (1.0)  ite1 = 1; else ite1 = 2;
  if (0.0)  ite2 = 1; else ite2 = 2;
  if (-0.0) ite3 = 1; else ite3 = 2;

  fic0 = C0;
  fic1 = 1;
  fic2 = C2;
  fic4 = C2 + C2;
  fec0 = (float) C0;
  fec2 = (float) C2;
  fec4 = (float) (C2 + C2);

  d5 = (c2 ? -3.0 : 9.0) / f13; 
  d7 = (c2 ? -3.0 : 9.0) / (-f13); 
}