/* 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_6(float (*)[10], float, float); extern void romberg_6/*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]); 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) + f(a + (float)17.000000 * h) + f(a + (float)19.000000 * h) + f(a + (float)21.000000 * h) + f(a + (float)23.000000 * h) + f(a + (float)25.000000 * h) + f(a + (float)27.000000 * h) + f(a + (float)29.000000 * h) + f(a + (float)31.000000 * h); (r[5])[0] = (double)(r[4])[0] / 2.0 + (double)(h * s); (r[5])[1] = (r[5])[0] + (float)0.333333 * ((r[5])[0] - (r[4])[0]); (r[5])[2] = (r[5])[1] + (float)0.066667 * ((r[5])[1] - (r[4])[1]); (r[5])[3] = (r[5])[2] + (float)0.015873 * ((r[5])[2] - (r[4])[2]); (r[5])[4] = (r[5])[3] + (float)0.003922 * ((r[5])[3] - (r[4])[3]); (r[5])[5] = (r[5])[4] + (float)0.000978 * ((r[5])[4] - (r[4])[4]); 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) + f(a + (float)17.000000 * h) + f(a + (float)19.000000 * h) + f(a + (float)21.000000 * h) + f(a + (float)23.000000 * h) + f(a + (float)25.000000 * h) + f(a + (float)27.000000 * h) + f(a + (float)29.000000 * h) + f(a + (float)31.000000 * h) + f(a + (float)33.000000 * h) + f(a + (float)35.000000 * h) + f(a + (float)37.000000 * h) + f(a + (float)39.000000 * h) + f(a + (float)41.000000 * h) + f(a + (float)43.000000 * h) + f(a + (float)45.000000 * h) + f(a + (float)47.000000 * h) + f(a + (float)49.000000 * h) + f(a + (float)51.000000 * h) + f(a + (float)53.000000 * h) + f(a + (float)55.000000 * h) + f(a + (float)57.000000 * h) + f(a + (float)59.000000 * h) + f(a + (float)61.000000 * h) + f(a + (float)63.000000 * h); (r[6])[0] = (double)(r[5])[0] / 2.0 + (double)(h * s); (r[6])[1] = (r[6])[0] + (float)0.333333 * ((r[6])[0] - (r[5])[0]); (r[6])[2] = (r[6])[1] + (float)0.066667 * ((r[6])[1] - (r[5])[1]); (r[6])[3] = (r[6])[2] + (float)0.015873 * ((r[6])[2] - (r[5])[2]); (r[6])[4] = (r[6])[3] + (float)0.003922 * ((r[6])[3] - (r[5])[3]); (r[6])[5] = (r[6])[4] + (float)0.000978 * ((r[6])[4] - (r[5])[4]); (r[6])[6] = (r[6])[5] + (float)0.000244 * ((r[6])[5] - (r[5])[5]); return; }