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);
}
|