1617a3babSopenharmony_ci#define f1(i) ((i)*(i)) 2617a3babSopenharmony_ci#define I2(f, n) f(n) + f(n+1) 3617a3babSopenharmony_ci#define I3(f, n) I2(f, n) + f(n+2) 4617a3babSopenharmony_ci 5617a3babSopenharmony_ci#define FL_f1(i) ((i)*(i)) 6617a3babSopenharmony_ci#define FL_I2(f, n) f(n) + f(n+0.2) 7617a3babSopenharmony_ci#define FL_I3(f, n) FL_I2(f, n) + f(n+0.5) 8617a3babSopenharmony_ci 9617a3babSopenharmony_civoid main() 10617a3babSopenharmony_ci{ 11617a3babSopenharmony_ci int f1 = 4; 12617a3babSopenharmony_ci int f2 = f1; 13617a3babSopenharmony_ci int f3 = f1(3); 14617a3babSopenharmony_ci int f4 = I2(f1, 0); 15617a3babSopenharmony_ci int f5 = I3(f1, 0); 16617a3babSopenharmony_ci 17617a3babSopenharmony_ci highp float fl_f5 = FL_I3(FL_f1, 0.1); 18617a3babSopenharmony_ci} 19617a3babSopenharmony_ci 20617a3babSopenharmony_ci// f5 = I3(f1, 0) 21617a3babSopenharmony_ci// = I2(f1, 0) + f1(0 + 2) 22617a3babSopenharmony_ci// = f1(0) + f1(0+1) + f1(0+2) 23617a3babSopenharmony_ci// = 0*0 + 1*1 + 2*2 24617a3babSopenharmony_ci// = 5 25617a3babSopenharmony_ci 26617a3babSopenharmony_ci// fl_f5 = FL_I3(FL_f1, 0.1) 27617a3babSopenharmony_ci// = FL_I2(FL_f1, 0.1) + FL_f1(0.1 + 0.5) 28617a3babSopenharmony_ci// = FL_f1(0.1) + FL_f1(0.1 + 0.2) + FL_f1(0.1 + 0.5) 29617a3babSopenharmony_ci// = 0.1*0.1 + 0.3*0.3 + 0.6*0.6 30617a3babSopenharmony_ci// = 0.46 31