有没有人知道下面这段代码什么意思啊

double y1, y2 ;
int i;
y1=((*fun)(a)+(fun)(b))/2.0;
y2=(b-a)/n;
for(i=1;i<=n-1;i++)y1+=(fun)(a+iy2) ;
return y1;
y1
=y2;


double y1, y2;
 int i;
      y1 = ((*fun)(a) + (fun)(b)) / 2.0;//(f(a) + f(b))/ 2
    y2 = (b - a) / n;//a到b均分为n份,每次的步长为y2
    for (i = 1; i <= n - 1; i++)
        y1 += (fun)(a + i * y2);//从a到b累加f(x)的值,类似微积分
    return y1;//返回结果
    y1 = y2;//上一句已经返回,这句没有意义