eturn x;                                    }
    float P22(float x) { return 3.0*(1.0 - x*x);                      }
    float P21(float x) { return -3.0*x*sqrt(1.0 - x*x);               }
    float P20(float x) { return (3.0*x*x - 1.0)/2.0;                  }
    float P33(float x) { return -15.0*pow(sqrt(1.0-x*x), 3.0);        }
    float P32(float x) { return 15.0*x*(1.0 - x*x);                   }
    float P31(float x) { return -3.0/2.0*(5.0*x*x-1.0)*sqrt(1.0-x*x); }
    float P30(float x) { return (5