#include "math.h" #include "stdio.h" #include "time.h" #include "../include/clapack.h" #define M 312 /*No of blocks*/ #define N 3000 /*No of iterations*/ void print(double a[M][N], char * blocks[M]) { int i, j; for (i = 0; i < M; ++i) { printf("%s [", blocks[i]); for (j = 0; j < N; ++j) printf("%12.4f ", a[i][j]); printf("]\n"); } } void printToFile(double a[M][N], char * blocks[M], FILE *fptr) { int i, j; for (i = 0; i < M; ++i) { fprintf(fptr, "%s = [", blocks[i]); for (j = 0; j < N; ++j) fprintf(fptr, "%12.4f ", a[i][j]); fprintf(fptr, "];\n"); } } int main(int argc, char *args[]) { /* Collect statistics */ clock_t start, end; start = clock(); double elapsed; double result[M][N]; /*result*/ char * labels[M] = { "RightHeart.Ri1", "RightHeart.Ri1_inv", "RightHeart.satur.max", "RightHeart.satur.s_max", "RightHeart.C1" , "RightHeart.C1_inv", "RightHeart.ic_int1", "RightHeart.int1", "RightHeart.V0", "RightHeart.V1" , "RightHeart.P1", "RightHeart.s_P1", "VenaCava.V0", "VenaCava.ic_int1", "VenaCava.int1" , "VenaCava.V9", "VenaCava.C9", "VenaCava.C9_Inv", "VenaCava.P9", "P9_Splitter" , "RightHeart.P1i_P1", "RightHeart.satur.in_max", "RightHeart.satur.s_min", "RightHeart.satur.min", "RightHeart.satur.min_in" , "RightHeart.satur.satr", "RightHeart.satur.T", "RightHeart.F1i", "RightHeart.Ro1", "RightHeart.Ro1_inv" , "RightHeart.satur_b.max", "RightHeart.satur_b.s_max", "Lungs.C2", "Lungs.c2_inv", "Lungs.IC_V" , "Lungs.ic_int2", "Lungs.int2", "Lungs.V2", "Lungs.P2i", "P2i_Splitter" , "RightHeart.s_P1b", "RightHeart.P1i_P1b", "RightHeart.satur_b.in_max", "RightHeart.satur_b.s_min", "RightHeart.satur_b.min" , "RightHeart.satur_b.min_in", "RightHeart.satur_b.satr", "RightHeart.satur_b.T", "RightHeart.F1o", "RightHeart.s_F1o" , "RightHeart.sF1", "LeftHeart.satur.max", "LeftHeart.satur.s_max", "Arms.R5o", "Arms.b_oR5o" , "Head.Ri6", "Head.o_Ri5", "Aorta.ic", "Arms.Ri5", "Arms.o_Ri5" , "Arms.C5", "Arms.b_C5", "Arms.ic_int1", "Arms.int1", "Arms.V05" , "Arms.V5", "Arms.P5", "Arms.b_P5", "Aorta.ic2", "Aorta.int_fis2" , "Aorta.ICV0", "Aorta.V4", "Aorta.C4", "Aorta.C4_inv", "Aorta.P4" , "P4_Splitter", "Arms.p5i_p5", "Arms.F5i", "F6i", "Lungs.W" , "Lungs.cb15", "Legs.C5", "LeftHeart.Ri3", "LeftHeart.Ri1_inv", "LeftHeart.C" , "LeftHeart.C1_inv", "LeftHeart.ic_int1", "LeftHeart.int1", "LeftHeart.V0", "LeftHeart.V3" , "LeftHeart.P3", "LeftHeart.s_P1", "Lungs.C10", "Lungs.c10_inv", "Lungs.V10" , "Lungs.ic_int3", "Lungs.int3", "Lungs.V2o", "Lungs.P2o", "LeftHeart.P1i_P1" , "LeftHeart.satur.in_max", "LeftHeart.satur.s_min", "LeftHeart.satur.min", "LeftHeart.satur.min_in", "LeftHeart.satur.satr" , "LeftHeart.satur.T", "LeftHeart.F1i", "LeftHeart.Ro", "LeftHeart.Ro1_inv", "LeftHeart.satur_b.max" , "LeftHeart.satur_b.s_max", "LeftHeart.s_P1b", "LeftHeart.P1i_P1b", "LeftHeart.satur_b.in_max", "LeftHeart.satur_b.s_min" , "LeftHeart.satur_b.min", "LeftHeart.satur_b.min_in", "LeftHeart.satur_b.satr", "LeftHeart.satur_b.T", "LeftHeart.F3o" , "LeftHeart.s_F1o", "LeftHeart.sF1", "Legs.h0", "Legs.ic_int2", "Legs.int2" , "Legs.h8", "Legs.W", "Legs.W_inv", "Legs.t8", "Legs.b_P5o" , "Legs.b_C5", "Legs.ic_int1", "Legs.int1", "Legs.V0", "Legs.V8" , "Legs.P8", "Legs.P5_p5o", "Legs.R8o", "Legs.b_oR5o", "Legs.F8o" , "Legs.f8o", "VenaCava.h0", "VenaCava.ic_int2", "VenaCava.int2", "VenaCava.h9" , "VenaCava.o_V9", "VenaCava.t9", "F1i_Splitter", "VenaCava.spliter", "VenaCava.f9o" , "Aorta.ICH0", "Aorta.int_fis", "Aorta.h4", "Aorta.v4_inv", "Aorta.t4" , "Trunk.b_P5o", "Trunk.C7", "Trunk.b_C5", "Trunk.ic_int1", "Trunk.int1" , "Trunk.V07", "Trunk.V7", "Trunk.P7", "Trunk.P5_p5o", "Trunk.R7o" , "Trunk.b_oR5o", "Trunk.F7o", "Legs.b_P5", "Legs.p5i_p5", "Lungs.fd" , "Head.R6o", "Head.b_P5o", "Head.C6", "Head.b_C5", "Head.ic_int1" , "Head.int1", "Head.V0", "Head.V6", "Head.P6", "Head.P5_p5o" , "Head.b_oR5o", "Head.F6o", "Head.b_F5o", "Head.b_P5", "Head.p5i_p5" , "Head.F5i", "Head.F5i_F5o", "VenaCava.b_F1i", "Trunk.ic_int2", "Trunk.int2" , "Lungs._fd", "t9_splitter", "RightHeart.t1o", "Lungs.F2i_t2i", "Lungs.ic_int1" , "Lungs.int1", "Lungs.ICh0", "Lungs.h2", "Lungs.t2o", "Lungs.splitter" , "F3i_Splitter", "Lungs.splitter2", "Lungs.f2o", "Lungs._F2o", "Lungs.s_fds" , "Arms.W", "Arms.W_inv", "Trunk.b_F5o", "Trunk.Ri7", "Trunk.o_Ri5" , "Trunk.b_P5", "Trunk.p5i_p5", "Trunk.F5i", "Trunk.F5i_F5o", "Legs.b_f5o" , "Head.h0", "Head.ic_int2", "Head.int2", "Head.h6", "Head.W" , "Head.W_inv", "Head.t6", "Head.ta", "Head.b_ta", "Head.cb35" , "Head.f6o", "Head.b_f5o", "Arms.h0", "Arms.ic_int2", "Arms.int2" , "Arms.h5", "Arms.t5", "Arms.b_P5o", "Arms.P5_p5o", "Arms.F5o" , "Arms.f5o", "t4_Splitter", "Lungs.Ri2", "Lungs.Ri2_inv", "LeftHeart.t3o" , "Trunk.h0", "VenaCava.b_F1ib", "Legs.ta", "Arms.ta", "Arms.b_ta" , "Arms.cb35", "Arms.A5", "Arms.f5d", "Head.A6", "Head.f5d" , "F7i", "Legs.Ri8", "Legs.o_Ri5", "Legs.F5i", "F8i_splitter" , "F6i_splliter", "Aorta.Fi", "Trunk.h7", "Lungs._P2o", "Lungs.p2i_p2o" , "Head.b_f5d", "Lungs.F2", "Legs.A8", "Trunk.W", "Arms.b_F5o" , "Arms.F5i_F5o", "Aorta.F4e", "Arms.F5i_t5i", "Arms.fe5", "Arms.b_f5o" , "Arms.b_f5d", "Arms.cb9", "Head.F5i_t5i", "Trunk.W_inv", "Legs.b_ta" , "Legs.cb35", "Trunk.t7", "Trunk.f7o", "Trunk.b_f5o", "Trunk.ta" , "Aorta.cb_Fis", "Aorta.split", "Aorta.Fi_F4i", "Legs.F5i_t5i", "Legs.fe8" , "Legs.f5d", "Legs.b_f5d", "Legs.cb9", "Trunk.b_ta", "Trunk.cb35" , "Trunk.A7", "Trunk.f5d", "Trunk.b_f5d", "Trunk.fe7", "Legs.b_F5o" , "Lungs._F2ob2", "Lungs.s_F2s", "f6o", "VenaCava.f_f9o", "Lungs._F2ob" , "Lungs.s_F2", "Trunk.F5i_t5i", "Aorta.f4o", "Aorta.cb6", "Legs.F5i_F5o" , "Head.fe6", "Head.cb9", "Aorta.F4i_t4i", "F6o", "Trunk.cb9" , "VenaCava.F_F1i", "Aorta.f4i_f4e_f4o" }; /* 0:RightHeart.Ri1 1:RightHeart.Ri1_inv 2:RightHeart.satur.max 3:RightHeart.satur.s_max 4:RightHeart.C1 5:RightHeart.C1_inv 6:RightHeart.ic_int1 7:RightHeart.int1 8:RightHeart.V0 9:RightHeart.V1 10:RightHeart.P1 11:RightHeart.s_P1 12:VenaCava.V0 13:VenaCava.ic_int1 14:VenaCava.int1 15:VenaCava.V9 16:VenaCava.C9 17:VenaCava.C9_Inv 18:VenaCava.P9 19:P9_Splitter 20:RightHeart.P1i_P1 21:RightHeart.satur.in_max 22:RightHeart.satur.s_min 23:RightHeart.satur.min 24:RightHeart.satur.min_in 25:RightHeart.satur.satr 26:RightHeart.satur.T 27:RightHeart.F1i 28:RightHeart.Ro1 29:RightHeart.Ro1_inv 30:RightHeart.satur_b.max 31:RightHeart.satur_b.s_max 32:Lungs.C2 33:Lungs.c2_inv 34:Lungs.IC_V 35:Lungs.ic_int2 36:Lungs.int2 37:Lungs.V2 38:Lungs.P2i 39:P2i_Splitter 40:RightHeart.s_P1b 41:RightHeart.P1i_P1b 42:RightHeart.satur_b.in_max 43:RightHeart.satur_b.s_min 44:RightHeart.satur_b.min 45:RightHeart.satur_b.min_in 46:RightHeart.satur_b.satr 47:RightHeart.satur_b.T 48:RightHeart.F1o 49:RightHeart.s_F1o 50:RightHeart.sF1 51:LeftHeart.satur.max 52:LeftHeart.satur.s_max 53:Arms.R5o 54:Arms.b_oR5o 55:Head.Ri6 56:Head.o_Ri5 57:Aorta.ic 58:Arms.Ri5 59:Arms.o_Ri5 60:Arms.C5 61:Arms.b_C5 62:Arms.ic_int1 63:Arms.int1 64:Arms.V05 65:Arms.V5 66:Arms.P5 67:Arms.b_P5 68:Aorta.ic2 69:Aorta.int_fis2 70:Aorta.ICV0 71:Aorta.V4 72:Aorta.C4 73:Aorta.C4_inv 74:Aorta.P4 75:P4_Splitter 76:Arms.p5i_p5 77:Arms.F5i 78:F6i 79:Lungs.W 80:Lungs.cb15 81:Legs.C5 82:LeftHeart.Ri3 83:LeftHeart.Ri1_inv 84:LeftHeart.C 85:LeftHeart.C1_inv 86:LeftHeart.ic_int1 87:LeftHeart.int1 88:LeftHeart.V0 89:LeftHeart.V3 90:LeftHeart.P3 91:LeftHeart.s_P1 92:Lungs.C10 93:Lungs.c10_inv 94:Lungs.V10 95:Lungs.ic_int3 96:Lungs.int3 97:Lungs.V2o 98:Lungs.P2o 99:LeftHeart.P1i_P1 100:LeftHeart.satur.in_max 101:LeftHeart.satur.s_min 102:LeftHeart.satur.min 103:LeftHeart.satur.min_in 104:LeftHeart.satur.satr 105:LeftHeart.satur.T 106:LeftHeart.F1i 107:LeftHeart.Ro 108:LeftHeart.Ro1_inv 109:LeftHeart.satur_b.max 110:LeftHeart.satur_b.s_max 111:LeftHeart.s_P1b 112:LeftHeart.P1i_P1b 113:LeftHeart.satur_b.in_max 114:LeftHeart.satur_b.s_min 115:LeftHeart.satur_b.min 116:LeftHeart.satur_b.min_in 117:LeftHeart.satur_b.satr 118:LeftHeart.satur_b.T 119:LeftHeart.F3o 120:LeftHeart.s_F1o 121:LeftHeart.sF1 122:Legs.h0 123:Legs.ic_int2 124:Legs.int2 125:Legs.h8 126:Legs.W 127:Legs.W_inv 128:Legs.t8 129:Legs.b_P5o 130:Legs.b_C5 131:Legs.ic_int1 132:Legs.int1 133:Legs.V0 134:Legs.V8 135:Legs.P8 136:Legs.P5_p5o 137:Legs.R8o 138:Legs.b_oR5o 139:Legs.F8o 140:Legs.f8o 141:VenaCava.h0 142:VenaCava.ic_int2 143:VenaCava.int2 144:VenaCava.h9 145:VenaCava.o_V9 146:VenaCava.t9 147:F1i_Splitter 148:VenaCava.spliter 149:VenaCava.f9o 150:Aorta.ICH0 151:Aorta.int_fis 152:Aorta.h4 153:Aorta.v4_inv 154:Aorta.t4 155:Trunk.b_P5o 156:Trunk.C7 157:Trunk.b_C5 158:Trunk.ic_int1 159:Trunk.int1 160:Trunk.V07 161:Trunk.V7 162:Trunk.P7 163:Trunk.P5_p5o 164:Trunk.R7o 165:Trunk.b_oR5o 166:Trunk.F7o 167:Legs.b_P5 168:Legs.p5i_p5 169:Lungs.fd 170:Head.R6o 171:Head.b_P5o 172:Head.C6 173:Head.b_C5 174:Head.ic_int1 175:Head.int1 176:Head.V0 177:Head.V6 178:Head.P6 179:Head.P5_p5o 180:Head.b_oR5o 181:Head.F6o 182:Head.b_F5o 183:Head.b_P5 184:Head.p5i_p5 185:Head.F5i 186:Head.F5i_F5o 187:VenaCava.b_F1i 188:Trunk.ic_int2 189:Trunk.int2 190:Lungs._fd 191:t9_splitter 192:RightHeart.t1o 193:Lungs.F2i_t2i 194:Lungs.ic_int1 195:Lungs.int1 196:Lungs.ICh0 197:Lungs.h2 198:Lungs.t2o 199:Lungs.splitter 200:F3i_Splitter 201:Lungs.splitter2 202:Lungs.f2o 203:Lungs._F2o 204:Lungs.s_fds 205:Arms.W 206:Arms.W_inv 207:Trunk.b_F5o 208:Trunk.Ri7 209:Trunk.o_Ri5 210:Trunk.b_P5 211:Trunk.p5i_p5 212:Trunk.F5i 213:Trunk.F5i_F5o 214:Legs.b_f5o 215:Head.h0 216:Head.ic_int2 217:Head.int2 218:Head.h6 219:Head.W 220:Head.W_inv 221:Head.t6 222:Head.ta 223:Head.b_ta 224:Head.cb35 225:Head.f6o 226:Head.b_f5o 227:Arms.h0 228:Arms.ic_int2 229:Arms.int2 230:Arms.h5 231:Arms.t5 232:Arms.b_P5o 233:Arms.P5_p5o 234:Arms.F5o 235:Arms.f5o 236:t4_Splitter 237:Lungs.Ri2 238:Lungs.Ri2_inv 239:LeftHeart.t3o 240:Trunk.h0 241:VenaCava.b_F1ib 242:Legs.ta 243:Arms.ta 244:Arms.b_ta 245:Arms.cb35 246:Arms.A5 247:Arms.f5d 248:Head.A6 249:Head.f5d 250:F7i 251:Legs.Ri8 252:Legs.o_Ri5 253:Legs.F5i 254:F8i_splitter 255:F6i_splliter 256:Aorta.Fi 257:Trunk.h7 258:Lungs._P2o 259:Lungs.p2i_p2o 260:Head.b_f5d 261:Lungs.F2 262:Legs.A8 263:Trunk.W 264:Arms.b_F5o 265:Arms.F5i_F5o 266:Aorta.F4e 267:Arms.F5i_t5i 268:Arms.fe5 269:Arms.b_f5o 270:Arms.b_f5d 271:Arms.cb9 272:Head.F5i_t5i 273:Trunk.W_inv 274:Legs.b_ta 275:Legs.cb35 276:Trunk.t7 277:Trunk.f7o 278:Trunk.b_f5o 279:Trunk.ta 280:Aorta.cb_Fis 281:Aorta.split 282:Aorta.Fi_F4i 283:Legs.F5i_t5i 284:Legs.fe8 285:Legs.f5d 286:Legs.b_f5d 287:Legs.cb9 288:Trunk.b_ta 289:Trunk.cb35 290:Trunk.A7 291:Trunk.f5d 292:Trunk.b_f5d 293:Trunk.fe7 294:Legs.b_F5o 295:Lungs._F2ob2 296:Lungs.s_F2s 297:f6o 298:VenaCava.f_f9o 299:Lungs._F2ob 300:Lungs.s_F2 301:Trunk.F5i_t5i 302:Aorta.f4o 303:Aorta.cb6 304:Legs.F5i_F5o 305:Head.fe6 306:Head.cb9 307:Aorta.F4i_t4i 308:F6o 309:Trunk.cb9 310:VenaCava.F_F1i 311:Aorta.f4i_f4e_f4o */ result[0][0] = 0.0128; result[1][0] = 1/0.0128; result[2][0] = 100.0; result[3][0] = -100.0; result[4][0] = 75.0; result[5][0] = 1/75.0; result[6][0] = 0.0; result[7][0] = 0.0; result[8][0] = 150.0; result[9][0] = result[7][0]+150.0; result[10][0] = result[5][0]*result[9][0]; result[11][0] = -result[10][0]; result[12][0] = 500.0; result[13][0] = 0.0; result[14][0] = 0.0; result[15][0] = result[14][0]+500.0; result[16][0] = 250.0; result[17][0] = 1/250.0; result[18][0] = result[15][0]*result[17][0]; result[19][0] = result[18][0]; result[20][0] = result[11][0]+result[19][0]; result[21][0] = result[3][0]+result[20][0]; result[22][0] = -result[20][0]; result[23][0] = -100.0; result[24][0] = result[22][0]+-100.0; result[25][0] = (result[24][0] > 0 ? -100.0:result[20][0]); result[26][0] = (result[21][0] > 0 ? 100.0:result[25][0]); result[27][0] = result[1][0]*result[26][0]; result[28][0] = 0.0111; result[29][0] = 1/0.0111; result[30][0] = 100.0; result[31][0] = -100.0; result[32][0] = 7.519; result[33][0] = 1/7.519; result[34][0] = 120.0; result[35][0] = 0.0; result[36][0] = 0.0; result[37][0] = result[36][0]+120.0; result[38][0] = result[33][0]*result[37][0]; result[39][0] = result[38][0]; result[40][0] = -result[39][0]; result[41][0] = result[40][0]+result[10][0]; result[42][0] = result[31][0]+result[41][0]; result[43][0] = -result[41][0]; result[44][0] = -100.0; result[45][0] = result[43][0]+-100.0; result[46][0] = (result[45][0] > 0 ? -100.0:result[41][0]); result[47][0] = (result[42][0] > 0 ? 100.0:result[46][0]); result[48][0] = result[29][0]*result[47][0]; result[49][0] = -result[48][0]; result[50][0] = result[27][0]+result[49][0]; result[51][0] = 100.0; result[52][0] = -100.0; result[53][0] = 10.0; result[54][0] = 1/10.0; result[55][0] = 2.58; result[56][0] = 1/2.58; result[57][0] = 0.0; result[58][0] = 5.15; result[59][0] = 1/5.15; result[60][0] = 4.25; result[61][0] = 1/4.25; result[62][0] = 0.0; result[63][0] = 0.0; result[64][0] = 280.0; result[65][0] = result[63][0]+280.0; result[66][0] = result[61][0]*result[65][0]; result[67][0] = -result[66][0]; result[68][0] = 0.0; result[69][0] = 0.0; result[70][0] = 100.0; result[71][0] = result[69][0]+100.0; result[72][0] = 1.25; result[73][0] = 1/1.25; result[74][0] = result[71][0]*result[73][0]; result[75][0] = result[74][0]; result[76][0] = result[67][0]+result[75][0]; result[77][0] = result[59][0]*result[76][0]; result[78][0] = result[77][0]; result[79][0] = 1000.0; result[80][0] = 1/1000.0; result[81][0] = 11.1; result[82][0] = 0.0588; result[83][0] = 1/0.0588; result[84][0] = 80.0; result[85][0] = 1/80.0; result[86][0] = 0.0; result[87][0] = 0.0; result[88][0] = 150.0; result[89][0] = result[87][0]+150.0; result[90][0] = result[85][0]*result[89][0]; result[91][0] = -result[90][0]; result[92][0] = 30.3; result[93][0] = 1/30.3; result[94][0] = 240.0; result[95][0] = 0.0; result[96][0] = 0.0; result[97][0] = result[96][0]+240.0; result[98][0] = result[93][0]*result[97][0]; result[99][0] = result[91][0]+result[98][0]; result[100][0] = result[52][0]+result[99][0]; result[101][0] = -result[99][0]; result[102][0] = -100.0; result[103][0] = result[101][0]+-100.0; result[104][0] = (result[103][0] > 0 ? -100.0:result[99][0]); result[105][0] = (result[100][0] > 0 ? 100.0:result[104][0]); result[106][0] = result[83][0]*result[105][0]; result[107][0] = 0.0125; result[108][0] = 1/0.0125; result[109][0] = 100.0; result[110][0] = -100.0; result[111][0] = -result[75][0]; result[112][0] = result[111][0]+result[90][0]; result[113][0] = result[110][0]+result[112][0]; result[114][0] = -result[112][0]; result[115][0] = -100.0; result[116][0] = result[114][0]+-100.0; result[117][0] = (result[116][0] > 0 ? -100.0:result[112][0]); result[118][0] = (result[113][0] > 0 ? 100.0:result[117][0]); result[119][0] = result[108][0]*result[118][0]; result[120][0] = -result[119][0]; result[121][0] = result[106][0]+result[120][0]; result[122][0] = 0.0; result[123][0] = 0.0; result[124][0] = 0.0; result[125][0] = result[124][0]+0.0; result[126][0] = 18500.0; result[127][0] = 1/18500.0; result[128][0] = result[125][0]*result[127][0]; result[129][0] = -result[19][0]; result[130][0] = 1/11.1; result[131][0] = 0.0; result[132][0] = 0.0; result[133][0] = 730.0; result[134][0] = result[132][0]+730.0; result[135][0] = result[130][0]*result[134][0]; result[136][0] = result[129][0]+result[135][0]; result[137][0] = 5.0; result[138][0] = 1/5.0; result[139][0] = result[136][0]*result[138][0]; result[140][0] = result[128][0]*result[139][0]; result[141][0] = 0.0; result[142][0] = 0.0; result[143][0] = 0.0; result[144][0] = result[143][0]+0.0; result[145][0] = 1/result[15][0]; result[146][0] = result[144][0]*result[145][0]; result[147][0] = result[27][0]; result[148][0] = result[147][0]; result[149][0] = result[146][0]*result[148][0]; result[150][0] = 0.0; result[151][0] = 0.0; result[152][0] = result[151][0]+0.0; result[153][0] = 1/result[71][0]; result[154][0] = result[152][0]*result[153][0]; result[155][0] = -result[19][0]; result[156][0] = 34.0; result[157][0] = 1/34.0; result[158][0] = 0.0; result[159][0] = 0.0; result[160][0] = 2250.0; result[161][0] = result[159][0]+2250.0; result[162][0] = result[157][0]*result[161][0]; result[163][0] = result[155][0]+result[162][0]; result[164][0] = 1.42; result[165][0] = 1/1.42; result[166][0] = result[163][0]*result[165][0]; result[167][0] = -result[135][0]; result[168][0] = result[167][0]+result[75][0]; result[169][0] = 0.0; result[170][0] = 5.0; result[171][0] = -result[19][0]; result[172][0] = 1.21; result[173][0] = 1/1.21; result[174][0] = 0.0; result[175][0] = 0.0; result[176][0] = 80.0; result[177][0] = result[175][0]+80.0; result[178][0] = result[173][0]*result[177][0]; result[179][0] = result[171][0]+result[178][0]; result[180][0] = 1/5.0; result[181][0] = result[179][0]*result[180][0]; result[182][0] = -result[181][0]; result[183][0] = -result[178][0]; result[184][0] = result[183][0]+result[75][0]; result[185][0] = result[56][0]*result[184][0]; result[186][0] = result[182][0]+result[185][0]; result[187][0] = -result[148][0]; result[188][0] = 0.0; result[189][0] = 0.0; result[190][0] = -0.0; result[191][0] = result[146][0]; result[192][0] = result[191][0]; result[193][0] = result[192][0]; result[194][0] = 0.0; result[195][0] = 0.0; result[196][0] = 0.0; result[197][0] = result[195][0]+0.0; result[198][0] = result[197][0]*result[80][0]; result[199][0] = result[48][0]; result[200][0] = result[106][0]; result[201][0] = result[200][0]; result[202][0] = result[198][0]*result[199][0]*result[201][0]; result[203][0] = -result[202][0]; result[204][0] = result[190][0]+result[193][0]+result[203][0]; result[205][0] = 7000.0; result[206][0] = 1/7000.0; result[207][0] = -result[166][0]; result[208][0] = 0.67; result[209][0] = 1/0.67; result[210][0] = -result[162][0]; result[211][0] = result[210][0]+result[75][0]; result[212][0] = result[209][0]*result[211][0]; result[213][0] = result[207][0]+result[212][0]; result[214][0] = -result[140][0]; result[215][0] = 0.0; result[216][0] = 0.0; result[217][0] = 0.0; result[218][0] = result[217][0]+0.0; result[219][0] = 4500.0; result[220][0] = 1/4500.0; result[221][0] = result[218][0]*result[220][0]; result[222][0] = 0.0; result[223][0] = -0.0; result[224][0] = result[221][0]+result[223][0]; result[225][0] = result[221][0]*result[181][0]; result[226][0] = -result[225][0]; result[227][0] = 0.0; result[228][0] = 0.0; result[229][0] = 0.0; result[230][0] = result[229][0]+0.0; result[231][0] = result[230][0]*result[206][0]; result[232][0] = -result[19][0]; result[233][0] = result[232][0]+result[66][0]; result[234][0] = result[233][0]*result[54][0]; result[235][0] = result[231][0]*result[234][0]; result[236][0] = result[154][0]; result[237][0] = 0.1429; result[238][0] = 1/0.1429; result[239][0] = result[198][0]; result[240][0] = 0.0; result[241][0] = -result[149][0]; result[242][0] = 0.0; result[243][0] = 0.0; result[244][0] = -0.0; result[245][0] = result[231][0]+result[244][0]; result[246][0] = 3670.0; result[247][0] = result[245][0]*3670.0; result[248][0] = 1400.0; result[249][0] = result[224][0]*1400.0; result[250][0] = result[212][0]; result[251][0] = 2.58; result[252][0] = 1/2.58; result[253][0] = result[252][0]*result[168][0]; result[254][0] = result[253][0]; result[255][0] = result[185][0]; result[256][0] = result[250][0]+result[254][0]+result[78][0]+result[255][0]; result[257][0] = result[189][0]+0.0; result[258][0] = -result[98][0]; result[259][0] = result[38][0]+result[258][0]; result[260][0] = -result[249][0]; result[261][0] = result[238][0]*result[259][0]; result[262][0] = 7000.0; result[263][0] = 53000.0; result[264][0] = -result[234][0]; result[265][0] = result[264][0]+result[77][0]; result[266][0] = 0.0; result[267][0] = result[77][0]*result[236][0]; result[268][0] = 0.0; result[269][0] = -result[235][0]; result[270][0] = -result[247][0]; result[271][0] = result[267][0]+result[269][0]+result[270][0]+0.0; result[272][0] = result[185][0]*result[236][0]; result[273][0] = 1/53000.0; result[274][0] = -0.0; result[275][0] = result[128][0]+result[274][0]; result[276][0] = result[257][0]*result[273][0]; result[277][0] = result[276][0]*result[166][0]; result[278][0] = -result[277][0]; result[279][0] = 0.0; result[280][0] = -result[256][0]; result[281][0] = result[119][0]; result[282][0] = result[280][0]+result[281][0]; result[283][0] = result[253][0]*result[236][0]; result[284][0] = 0.0; result[285][0] = result[275][0]*7000.0; result[286][0] = -result[285][0]; result[287][0] = result[283][0]+result[214][0]+result[286][0]+0.0; result[288][0] = -0.0; result[289][0] = result[276][0]+result[288][0]; result[290][0] = 6000.0; result[291][0] = result[289][0]*6000.0; result[292][0] = -result[291][0]; result[293][0] = 0.0; result[294][0] = -result[139][0]; result[295][0] = -result[201][0]; result[296][0] = result[261][0]+result[295][0]; result[297][0] = result[225][0]; result[298][0] = result[241][0]+result[297][0]+result[140][0]+result[277][0]+result[235][0]; result[299][0] = -result[261][0]; result[300][0] = result[299][0]+result[199][0]; result[301][0] = result[212][0]*result[236][0]; result[302][0] = result[256][0]*result[154][0]; result[303][0] = -result[302][0]; result[304][0] = result[294][0]+result[253][0]; result[305][0] = 0.0; result[306][0] = result[272][0]+result[226][0]+result[260][0]+0.0; result[307][0] = result[281][0]*result[239][0]; result[308][0] = result[181][0]; result[309][0] = result[301][0]+result[278][0]+result[292][0]+0.0; result[310][0] = result[187][0]+result[308][0]+result[139][0]+result[166][0]+result[234][0]; result[311][0] = result[303][0]+result[307][0]+0.0; int i; for (i = 1; i < N; ++i) { result[0][i] = 0.0128; result[1][i] = result[1][0]; result[2][i] = 100.0; result[3][i] = result[3][0]; result[4][i] = 75.0; result[5][i] = result[5][0]; result[6][i] = 0.0; result[7][i] = result[7][i-1] + result[50][i-1] *0.01; result[8][i] = 150.0; result[9][i] = result[7][i]+150.0; result[10][i] = result[5][0]*result[9][i]; result[11][i] = -result[10][i]; result[12][i] = 500.0; result[13][i] = 0.0; result[14][i] = result[14][i-1] + result[310][i-1] *0.01; result[15][i] = result[14][i]+500.0; result[16][i] = 250.0; result[17][i] = result[17][0]; result[18][i] = result[15][i]*result[17][0]; result[19][i] = result[18][i]; result[20][i] = result[11][i]+result[19][i]; result[21][i] = result[3][0]+result[20][i]; result[22][i] = -result[20][i]; result[23][i] = -100.0; result[24][i] = result[22][i]+-100.0; result[25][i] = (result[24][i] > 0 ? -100.0:result[20][i]); result[26][i] = (result[21][i] > 0 ? 100.0:result[25][i]); result[27][i] = result[1][0]*result[26][i]; result[28][i] = 0.0111; result[29][i] = result[29][0]; result[30][i] = 100.0; result[31][i] = result[31][0]; result[32][i] = 7.519; result[33][i] = result[33][0]; result[34][i] = 120.0; result[35][i] = 0.0; result[36][i] = result[36][i-1] + result[300][i-1] *0.01; result[37][i] = result[36][i]+120.0; result[38][i] = result[33][0]*result[37][i]; result[39][i] = result[38][i]; result[40][i] = -result[39][i]; result[41][i] = result[40][i]+result[10][i]; result[42][i] = result[31][0]+result[41][i]; result[43][i] = -result[41][i]; result[44][i] = -100.0; result[45][i] = result[43][i]+-100.0; result[46][i] = (result[45][i] > 0 ? -100.0:result[41][i]); result[47][i] = (result[42][i] > 0 ? 100.0:result[46][i]); result[48][i] = result[29][0]*result[47][i]; result[49][i] = -result[48][i]; result[50][i] = result[27][i]+result[49][i]; result[51][i] = 100.0; result[52][i] = result[52][0]; result[53][i] = 10.0; result[54][i] = result[54][0]; result[55][i] = 2.58; result[56][i] = result[56][0]; result[57][i] = 0.0; result[58][i] = 5.15; result[59][i] = result[59][0]; result[60][i] = 4.25; result[61][i] = result[61][0]; result[62][i] = 0.0; result[63][i] = result[63][i-1] + result[265][i-1] *0.01; result[64][i] = 280.0; result[65][i] = result[63][i]+280.0; result[66][i] = result[61][0]*result[65][i]; result[67][i] = -result[66][i]; result[68][i] = 0.0; result[69][i] = result[69][i-1] + result[282][i-1] *0.01; result[70][i] = 100.0; result[71][i] = result[69][i]+100.0; result[72][i] = 1.25; result[73][i] = result[73][0]; result[74][i] = result[71][i]*result[73][0]; result[75][i] = result[74][i]; result[76][i] = result[67][i]+result[75][i]; result[77][i] = result[59][0]*result[76][i]; result[78][i] = result[77][i]; result[79][i] = 1000.0; result[80][i] = result[80][0]; result[81][i] = 11.1; result[82][i] = 0.0588; result[83][i] = result[83][0]; result[84][i] = 80.0; result[85][i] = result[85][0]; result[86][i] = 0.0; result[87][i] = result[87][i-1] + result[121][i-1] *0.01; result[88][i] = 150.0; result[89][i] = result[87][i]+150.0; result[90][i] = result[85][0]*result[89][i]; result[91][i] = -result[90][i]; result[92][i] = 30.3; result[93][i] = result[93][0]; result[94][i] = 240.0; result[95][i] = 0.0; result[96][i] = result[96][i-1] + result[296][i-1] *0.01; result[97][i] = result[96][i]+240.0; result[98][i] = result[93][0]*result[97][i]; result[99][i] = result[91][i]+result[98][i]; result[100][i] = result[52][0]+result[99][i]; result[101][i] = -result[99][i]; result[102][i] = -100.0; result[103][i] = result[101][i]+-100.0; result[104][i] = (result[103][i] > 0 ? -100.0:result[99][i]); result[105][i] = (result[100][i] > 0 ? 100.0:result[104][i]); result[106][i] = result[83][0]*result[105][i]; result[107][i] = 0.0125; result[108][i] = result[108][0]; result[109][i] = 100.0; result[110][i] = result[110][0]; result[111][i] = -result[75][i]; result[112][i] = result[111][i]+result[90][i]; result[113][i] = result[110][0]+result[112][i]; result[114][i] = -result[112][i]; result[115][i] = -100.0; result[116][i] = result[114][i]+-100.0; result[117][i] = (result[116][i] > 0 ? -100.0:result[112][i]); result[118][i] = (result[113][i] > 0 ? 100.0:result[117][i]); result[119][i] = result[108][0]*result[118][i]; result[120][i] = -result[119][i]; result[121][i] = result[106][i]+result[120][i]; result[122][i] = 0.0; result[123][i] = 0.0; result[124][i] = result[124][i-1] + result[287][i-1] *0.01; result[125][i] = result[124][i]+0.0; result[126][i] = 18500.0; result[127][i] = result[127][0]; result[128][i] = result[125][i]*result[127][0]; result[129][i] = -result[19][i]; result[130][i] = result[130][0]; result[131][i] = 0.0; result[132][i] = result[132][i-1] + result[304][i-1] *0.01; result[133][i] = 730.0; result[134][i] = result[132][i]+730.0; result[135][i] = result[130][0]*result[134][i]; result[136][i] = result[129][i]+result[135][i]; result[137][i] = 5.0; result[138][i] = result[138][0]; result[139][i] = result[136][i]*result[138][0]; result[140][i] = result[128][i]*result[139][i]; result[141][i] = 0.0; result[142][i] = 0.0; result[143][i] = result[143][i-1] + result[298][i-1] *0.01; result[144][i] = result[143][i]+0.0; result[145][i] = 1/result[15][i]; result[146][i] = result[144][i]*result[145][i]; result[147][i] = result[27][i]; result[148][i] = result[147][i]; result[149][i] = result[146][i]*result[148][i]; result[150][i] = 0.0; result[151][i] = result[151][i-1] + result[311][i-1] *0.01; result[152][i] = result[151][i]+0.0; result[153][i] = 1/result[71][i]; result[154][i] = result[152][i]*result[153][i]; result[155][i] = -result[19][i]; result[156][i] = 34.0; result[157][i] = result[157][0]; result[158][i] = 0.0; result[159][i] = result[159][i-1] + result[213][i-1] *0.01; result[160][i] = 2250.0; result[161][i] = result[159][i]+2250.0; result[162][i] = result[157][0]*result[161][i]; result[163][i] = result[155][i]+result[162][i]; result[164][i] = 1.42; result[165][i] = result[165][0]; result[166][i] = result[163][i]*result[165][0]; result[167][i] = -result[135][i]; result[168][i] = result[167][i]+result[75][i]; result[169][i] = 0.0; result[170][i] = 5.0; result[171][i] = -result[19][i]; result[172][i] = 1.21; result[173][i] = result[173][0]; result[174][i] = 0.0; result[175][i] = result[175][i-1] + result[186][i-1] *0.01; result[176][i] = 80.0; result[177][i] = result[175][i]+80.0; result[178][i] = result[173][0]*result[177][i]; result[179][i] = result[171][i]+result[178][i]; result[180][i] = result[180][0]; result[181][i] = result[179][i]*result[180][0]; result[182][i] = -result[181][i]; result[183][i] = -result[178][i]; result[184][i] = result[183][i]+result[75][i]; result[185][i] = result[56][0]*result[184][i]; result[186][i] = result[182][i]+result[185][i]; result[187][i] = -result[148][i]; result[188][i] = 0.0; result[189][i] = result[189][i-1] + result[309][i-1] *0.01; result[190][i] = result[190][0]; result[191][i] = result[146][i]; result[192][i] = result[191][i]; result[193][i] = result[192][i]; result[194][i] = 0.0; result[195][i] = result[195][i-1] + result[204][i-1] *0.01; result[196][i] = 0.0; result[197][i] = result[195][i]+0.0; result[198][i] = result[197][i]*result[80][0]; result[199][i] = result[48][i]; result[200][i] = result[106][i]; result[201][i] = result[200][i]; result[202][i] = result[198][i]*result[199][i]*result[201][i]; result[203][i] = -result[202][i]; result[204][i] = result[190][0]+result[193][i]+result[203][i]; result[205][i] = 7000.0; result[206][i] = result[206][0]; result[207][i] = -result[166][i]; result[208][i] = 0.67; result[209][i] = result[209][0]; result[210][i] = -result[162][i]; result[211][i] = result[210][i]+result[75][i]; result[212][i] = result[209][0]*result[211][i]; result[213][i] = result[207][i]+result[212][i]; result[214][i] = -result[140][i]; result[215][i] = 0.0; result[216][i] = 0.0; result[217][i] = result[217][i-1] + result[306][i-1] *0.01; result[218][i] = result[217][i]+0.0; result[219][i] = 4500.0; result[220][i] = result[220][0]; result[221][i] = result[218][i]*result[220][0]; result[222][i] = 0.0; result[223][i] = result[223][0]; result[224][i] = result[221][i]+result[223][0]; result[225][i] = result[221][i]*result[181][i]; result[226][i] = -result[225][i]; result[227][i] = 0.0; result[228][i] = 0.0; result[229][i] = result[229][i-1] + result[271][i-1] *0.01; result[230][i] = result[229][i]+0.0; result[231][i] = result[230][i]*result[206][0]; result[232][i] = -result[19][i]; result[233][i] = result[232][i]+result[66][i]; result[234][i] = result[233][i]*result[54][0]; result[235][i] = result[231][i]*result[234][i]; result[236][i] = result[154][i]; result[237][i] = 0.1429; result[238][i] = result[238][0]; result[239][i] = result[198][i]; result[240][i] = 0.0; result[241][i] = -result[149][i]; result[242][i] = 0.0; result[243][i] = 0.0; result[244][i] = result[244][0]; result[245][i] = result[231][i]+result[244][0]; result[246][i] = 3670.0; result[247][i] = result[245][i]*3670.0; result[248][i] = 1400.0; result[249][i] = result[224][i]*1400.0; result[250][i] = result[212][i]; result[251][i] = 2.58; result[252][i] = result[252][0]; result[253][i] = result[252][0]*result[168][i]; result[254][i] = result[253][i]; result[255][i] = result[185][i]; result[256][i] = result[250][i]+result[254][i]+result[78][i]+result[255][i]; result[257][i] = result[189][i]+0.0; result[258][i] = -result[98][i]; result[259][i] = result[38][i]+result[258][i]; result[260][i] = -result[249][i]; result[261][i] = result[238][0]*result[259][i]; result[262][i] = 7000.0; result[263][i] = 53000.0; result[264][i] = -result[234][i]; result[265][i] = result[264][i]+result[77][i]; result[266][i] = 0.0; result[267][i] = result[77][i]*result[236][i]; result[268][i] = 0.0; result[269][i] = -result[235][i]; result[270][i] = -result[247][i]; result[271][i] = result[267][i]+result[269][i]+result[270][i]+0.0; result[272][i] = result[185][i]*result[236][i]; result[273][i] = result[273][0]; result[274][i] = result[274][0]; result[275][i] = result[128][i]+result[274][0]; result[276][i] = result[257][i]*result[273][0]; result[277][i] = result[276][i]*result[166][i]; result[278][i] = -result[277][i]; result[279][i] = 0.0; result[280][i] = -result[256][i]; result[281][i] = result[119][i]; result[282][i] = result[280][i]+result[281][i]; result[283][i] = result[253][i]*result[236][i]; result[284][i] = 0.0; result[285][i] = result[275][i]*7000.0; result[286][i] = -result[285][i]; result[287][i] = result[283][i]+result[214][i]+result[286][i]+0.0; result[288][i] = result[288][0]; result[289][i] = result[276][i]+result[288][0]; result[290][i] = 6000.0; result[291][i] = result[289][i]*6000.0; result[292][i] = -result[291][i]; result[293][i] = 0.0; result[294][i] = -result[139][i]; result[295][i] = -result[201][i]; result[296][i] = result[261][i]+result[295][i]; result[297][i] = result[225][i]; result[298][i] = result[241][i]+result[297][i]+result[140][i]+result[277][i]+result[235][i]; result[299][i] = -result[261][i]; result[300][i] = result[299][i]+result[199][i]; result[301][i] = result[212][i]*result[236][i]; result[302][i] = result[256][i]*result[154][i]; result[303][i] = -result[302][i]; result[304][i] = result[294][i]+result[253][i]; result[305][i] = 0.0; result[306][i] = result[272][i]+result[226][i]+result[260][i]+0.0; result[307][i] = result[281][i]*result[239][i]; result[308][i] = result[181][i]; result[309][i] = result[301][i]+result[278][i]+result[292][i]+0.0; result[310][i] = result[187][i]+result[308][i]+result[139][i]+result[166][i]+result[234][i]; result[311][i] = result[303][i]+result[307][i]+0.0; } if (argc > 1) { FILE *fptr = fopen(args[1],"w"); printToFile(result, labels, fptr); fclose(fptr); } else print(result, labels); /*print the results*/ end = clock(); elapsed = (double)(end - start) / CLOCKS_PER_SEC; printf("elasped time: %12.4f secs\n", elapsed); return 0; }