539    {
  540        float num = rotation.X + rotation.X;
  541        float num2 = rotation.Y + rotation.Y;
  542        float num3 = rotation.Z + rotation.Z;
  543        float num4 = rotation.W * num;
  544        float num5 = rotation.W * num2;
  545        float num6 = rotation.W * num3;
  546        float num7 = rotation.X * num;
  547        float num8 = rotation.X * num2;
  548        float num9 = rotation.X * num3;
  549        float num10 = rotation.Y * num2;
  550        float num11 = rotation.Y * num3;
  551        float num12 = rotation.Z * num3;
  552        float x = value.X * (1f - num10 - num12) + 
value.Y * (num8 - num6) + value.Z * (num9 + num5);
 
  553        float y = value.X * (num8 + num6) + 
value.Y * (1f - num7 - num12) + value.Z * (num11 - num4);
 
  554        float z = value.X * (num9 - num5) + 
value.Y * (num11 + num4) + value.Z * (1f - num7 - num10);
 
  555        result.X = x;
  556        result.Y = y;
  557        result.Z = z;
  558        result.W = 1f;
  559    }