original_string: public static function cross(Vector3D $value1, Vector3D $value2) : Vector3D {
          return new Vector3D(
              ($value1->getY() * $value2->getZ()) - ($value1->getZ() * $value2->getY()),
              -(($value1->getX() * $value2->getZ()) - ($value1->getZ() * $value2->getX())),
              ($value1->getX() * $value2->getY()) - ($value1->getY() * $value2->getX())
          );
      }
code: public static function cross(Vector3D $value1, Vector3D $value2) : Vector3D {
          return new Vector3D(
              ($value1->getY() * $value2->getZ()) - ($value1->getZ() * $value2->getY()),
              -(($value1->getX() * $value2->getZ()) - ($value1->getZ() * $value2->getX())),
              ($value1->getX() * $value2->getY()) - ($value1->getY() * $value2->getX())
          );
      }
code_tokens: public static function cross ( Vector3D $ value1 , Vector3D $ value2 ) : Vector3D { return new Vector3D ( ( $ value1 -> getY ( ) * $ value2 -> getZ ( ) ) - ( $ value1 -> getZ ( ) * $ value2 -> getY ( ) ) , - ( ( $ value1 -> getX ( ) * $ value2 -> getZ ( ) ) - ( $ value1 -> getZ ( ) * $ value2 -> getX ( ) ) ) , ( $ value1 -> getX ( ) * $ value2 -> getY ( ) ) - ( $ value1 -> getY ( ) * $ value2 -> getX ( ) ) ) ; }
docstring: Cross product of two vectors.
  
  @param Vector3D $value1
  @param Vector3D $value2
  @return Vector3D
docstring_tokens: Cross product of two vectors .