Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
User:C ++の関数を書いて、2つのポイント間の距離を見つける Assistant:#include <cmath>

2倍の距離（ダブルx1、double y1、double x2、double y2）{
  return sqrt（pow（x2 -x1、2） + pow（y2 -y1、2））;
} 
User:今、地球の曲率を説明します。

### Response:

地球の曲率を説明するには、直線距離の代わりにハーバーニン式を使用できます。Haversineフォーミュラは、地球などの球体上の2つのポイント間の大きな円距離を計算します。これが更新されたコードです：

#include <cmath>

const double arearthradius = 6371.0;//キロメートルの地球の半径

double Toradians（2倍）{
return gegrees * m_pi / 180.0;
}

2倍の距離（ダブルx1、double y1、double x2、double y2）{
double lat1 = toradians（x1）;
double lat2 = toradians（x2）;
double lon1 = toradians（y1）;
double lon2 = toradians（y2）;
double deltalat = lat2 -lat1;
double deltalon = lon2 -lon1;
double a = sin（deltalat / 2） * sin（deltalat / 2） +
cos（lat1） * cos（lat2） * sin（deltalon / 2） * sin（deltalon / 2）;
double c = 2 * atan2（sqrt（a）、sqrt（1 -a））;
return arearthradius * c;
}