/* TEMPO Version 1.193, 02/03/98, Copyright (c) IRISA/INRIA-Universite de Rennes */ /* call signature of entry point romberg: binding times of formals: r D, a D, b D */ extern float f(float); extern void romberg_4(float (*)[10], float, float); extern void romberg_4/*0*/(float (*r)[10], float a, float b) /* binding times of formals: r D, a D, b D evaluation time of body: D evaluation times of pairings: D, D, D */ { float h; float s; h = b - a; (r[0])[0] = (double)((f(a) + f(b)) * h) / 2.0; h = (double)h / 2.0; s = 0.0F + f(a + (float)1.000000 * h); (r[1])[0] = (double)(r[0])[0] / 2.0 + (double)(h * s); (r[1])[1] = (r[1])[0] + (float)0.333333 * ((r[1])[0] - (r[0])[0]); h = (double)h / 2.0; s = 0.0F + f(a + (float)1.000000 * h) + f(a + (float)3.000000 * h); (r[2])[0] = (double)(r[1])[0] / 2.0 + (double)(h * s); (r[2])[1] = (r[2])[0] + (float)0.333333 * ((r[2])[0] - (r[1])[0]); (r[2])[2] = (r[2])[1] + (float)0.066667 * ((r[2])[1] - (r[1])[1]); h = (double)h / 2.0; s = 0.0F + f(a + (float)1.000000 * h) + f(a + (float)3.000000 * h) + f(a + (float)5.000000 * h) + f(a + (float)7.000000 * h); (r[3])[0] = (double)(r[2])[0] / 2.0 + (double)(h * s); (r[3])[1] = (r[3])[0] + (float)0.333333 * ((r[3])[0] - (r[2])[0]); (r[3])[2] = (r[3])[1] + (float)0.066667 * ((r[3])[1] - (r[2])[1]); (r[3])[3] = (r[3])[2] + (float)0.015873 * ((r[3])[2] - (r[2])[2]); h = (double)h / 2.0; s = 0.0F + f(a + (float)1.000000 * h) + f(a + (float)3.000000 * h) + f(a + (float)5.000000 * h) + f(a + (float)7.000000 * h) + f(a + (float)9.000000 * h) + f(a + (float)11.000000 * h) + f(a + (float)13.000000 * h) + f(a + (float)15.000000 * h); (r[4])[0] = (double)(r[3])[0] / 2.0 + (double)(h * s); (r[4])[1] = (r[4])[0] + (float)0.333333 * ((r[4])[0] - (r[3])[0]); (r[4])[2] = (r[4])[1] + (float)0.066667 * ((r[4])[1] - (r[3])[1]); (r[4])[3] = (r[4])[2] + (float)0.015873 * ((r[4])[2] - (r[3])[2]); (r[4])[4] = (r[4])[3] + (float)0.003922 * ((r[4])[3] - (r[3])[3]); return; }