parameters: (self, p1: Player, p2: Player)
return_statement: return math.sqrt(
        self.elo_covariance[(p1,p1)] - self.elo_covariance[(p1,p2)] - self.elo_covariance[(p2,p1)] + self.elo_covariance[(p2,p2)]
      )
docstring: Returns an approximation of the standard error on difference in Elo between p1 and p2.
      This approximation may underestimate if the amount of data is very small.
docstring_summary: Returns an approximation of the standard error on difference in Elo between p1 and p2.
      This approximation may underestimate if the amount of data is very small.
docstring_tokens: Returns an approximation of the standard error on difference in Elo between p1 and p2 . This approximation may underestimate if the amount of data is very small .
function: def get_approx_elo_difference_stderr(self, p1: Player, p2: Player) -> float:
      """Returns an approximation of the standard error on difference in Elo between p1 and p2.
      This approximation may underestimate if the amount of data is very small."""
      return math.sqrt(
        self.elo_covariance[(p1,p1)] - self.elo_covariance[(p1,p2)] - self.elo_covariance[(p2,p1)] + self.elo_covariance[(p2,p2)]
      )
function_tokens: def get_approx_elo_difference_stderr ( self , p1 : Player , p2 : Player ) -> float : return math . sqrt ( self . elo_covariance [ ( p1 , p1 ) ] - self . elo_covariance [ ( p1 , p2 ) ] - self . elo_covariance [ ( p2 , p1 ) ] + self . elo_covariance [ ( p2 , p2 ) ] )