restart; dp:=(p,q)->int(p*q,x=-1..1); nm:=p->sqrt(dp(p,p)); N:=3; for n from 0 to N do tv[n]:=x^n-add(dp(x^n,tv[k])*tv[k],k=0..n-1); v[n]:=tv[n]/nm(tv[n]); end; xs:=[solve(v[3]=0,x)]; ws:=[seq(w[k],k=0..2)]; q:=f->add(ws[k]*f(xs[k]),k=1..3); eq1:=int(1,x=-1..1)=q(x->1); eq2:=int(x,x=-1..1)=q(x->x); eq3:=int(x^2,x=-1..1)=q(x->x^2); S:=solve({eq1,eq2,eq3},ws); a1:=subs(S[1],q(f)); with(codegen): C(a1); solve((x-b)/(b-a)+(x-a)/(b-a)=u,x); evalf(int(exp(-x^2),x=-1..1));