F3_freeze
for (i = 0;i < p;++i) out[i] = F3_freeze(r[i]);
for (j = 0;j <= i;++j) result = F3_freeze(result+f[j]*g[i-j]);
for (j = i-p+1;j < p;++j) result = F3_freeze(result+f[j]*g[i-j]);
fg[i-p] = F3_freeze(fg[i-p]+fg[i]);
fg[i-p+1] = F3_freeze(fg[i-p+1]+fg[i]);
for (i = 0;i < p+1;++i) g[i] = F3_freeze(g[i]+sign*f[i]);
for (i = 0;i < p+1;++i) r[i] = F3_freeze(r[i]+sign*v[i]);
for (i = 0;i < p;++i) out[i] = a[i]-F3_freeze(a[i]);
for (i = 0; i < p; ++i) out[i] = F3_freeze(r[i]);
for (i = 0; i < p; ++i) h[i] = F3_freeze(fg[i]);
for (i = 0; i < p + 1; ++i) g[i] = F3_freeze(g[i] + sign * f[i]);
for (i = 0; i < p + 1; ++i) r[i] = F3_freeze(r[i] + sign * v[i]);
for (i = 0; i < p; ++i) out[i] = a[i] - F3_freeze(a[i]);