fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4.  
  5. static double f(double x, double y) {
  6. return -0.5 * x * y;
  7. }
  8.  
  9.  
  10. #define HEUN_N_MIN (2)
  11. #define HEUN_N_MAX (512)
  12.  
  13. static int heun(int n, double range, double x0, double y0) {
  14. int i;
  15. double h = range / n;
  16. double x[HEUN_N_MAX+1];
  17. double y[HEUN_N_MAX+1];
  18. double y_exact[HEUN_N_MAX+1];
  19. double k1, k2;
  20. double err = 0.0;
  21.  
  22. x[0] = x0;
  23. y[0] = y_exact[0] = y0;
  24.  
  25. if (HEUN_N_MIN > n || n > HEUN_N_MAX) {
  26. fprintf(stderr,
  27. "ERROR!: %s(%d): "
  28. "heun: (HEUN_N_MIN == %d) > (n == %d) || n > (HEUN_N_MAX == %d)\n",
  29. __FILE__, __LINE__, HEUN_N_MIN, n, HEUN_N_MAX);
  30. return -1;
  31. }
  32.  
  33. printf("******************************************************************\n"
  34. "N = %d\n", n);
  35.  
  36. printf("%lf, %lf, %lf\n", x[0], y[0], y_exact[0]);
  37.  
  38. for (i = 1; i < n+1; ++i) {
  39. x[i] = h * i;
  40. k1 = h * f(x[i-1] , y[i-1] );
  41. k2 = h * f(x[i-1] + h, y[i-1] + k1);
  42. y[i] = y[i-1] + 0.5 * (k1 + k2);
  43. y_exact[i] = 2.0 * exp(-x[i] * x[i] / 4.0);
  44. err += pow(y_exact[i] - y[i], 2.0);
  45. printf("%lf, %lf, %lf\n", x[i], y[i], y_exact[i]);
  46. }
  47.  
  48. printf("err = %e\n", sqrt(err / n));
  49.  
  50. return 0;
  51. }
  52.  
  53.  
  54. #define RANGE (2.0)
  55. #define X0 (0.0)
  56. #define Y0 (2.0)
  57.  
  58. int main(int argc, char* argv[]) {
  59. heun( 8, RANGE, X0, Y0);
  60. heun( 16, RANGE, X0, Y0);
  61. heun( 32, RANGE, X0, Y0);
  62. heun( 64, RANGE, X0, Y0);
  63. heun(128, RANGE, X0, Y0);
  64. heun(256, RANGE, X0, Y0);
  65. heun(512, RANGE, X0, Y0);
  66. return 0;
  67. }
  68.  
Success #stdin #stdout 0s 2052KB
stdin
Standard input is empty
stdout
******************************************************************
N = 8
0.000000, 2.000000, 2.000000
0.250000, 1.968750, 1.968993
0.500000, 1.878387, 1.878826
0.750000, 1.737142, 1.737630
1.000000, 1.557320, 1.557602
1.250000, 1.353530, 1.353268
1.500000, 1.140719, 1.139566
1.750000, 0.932404, 0.930086
2.000000, 0.739368, 0.735759
err = 1.595504e-03
******************************************************************
N = 16
0.000000, 2.000000, 2.000000
0.125000, 1.992188, 1.992203
0.250000, 1.968963, 1.968993
0.375000, 1.930867, 1.930909
0.500000, 1.878777, 1.878826
0.625000, 1.813873, 1.813921
0.750000, 1.737594, 1.737630
0.875000, 1.651584, 1.651594
1.000000, 1.557634, 1.557602
1.125000, 1.457620, 1.457527
1.250000, 1.353441, 1.353268
1.375000, 1.246960, 1.246689
1.500000, 1.139951, 1.139566
1.625000, 1.034055, 1.033541
1.750000, 0.930738, 0.930086
1.875000, 0.831267, 0.830474
2.000000, 0.736695, 0.735759
err = 3.924792e-04
******************************************************************
N = 32
0.000000, 2.000000, 2.000000
0.062500, 1.998047, 1.998048
0.125000, 1.992201, 1.992203
0.187500, 1.982496, 1.982499
0.250000, 1.968989, 1.968993
0.312500, 1.951759, 1.951763
0.375000, 1.930904, 1.930909
0.437500, 1.906546, 1.906551
0.500000, 1.878821, 1.878826
0.562500, 1.847888, 1.847892
0.625000, 1.813918, 1.813921
0.687500, 1.777099, 1.777101
0.750000, 1.737631, 1.737630
0.812500, 1.695726, 1.695721
0.875000, 1.651603, 1.651594
0.937500, 1.605491, 1.605477
1.000000, 1.557622, 1.557602
1.062500, 1.508233, 1.508206
1.125000, 1.457562, 1.457527
1.187500, 1.405847, 1.405802
1.250000, 1.353323, 1.353268
1.312500, 1.300222, 1.300155
1.375000, 1.246768, 1.246689
1.437500, 1.193182, 1.193089
1.500000, 1.139673, 1.139566
1.562500, 1.086442, 1.086320
1.625000, 1.033679, 1.033541
1.687500, 0.981562, 0.981408
1.750000, 0.930257, 0.930086
1.812500, 0.879916, 0.879729
1.875000, 0.830678, 0.830474
1.937500, 0.782667, 0.782447
2.000000, 0.735996, 0.735759
err = 9.799142e-05
******************************************************************
N = 64
0.000000, 2.000000, 2.000000
0.031250, 1.999512, 1.999512
0.062500, 1.998048, 1.998048
0.093750, 1.995610, 1.995610
0.125000, 1.992203, 1.992203
0.156250, 1.987830, 1.987830
0.187500, 1.982499, 1.982499
0.218750, 1.976216, 1.976217
0.250000, 1.968992, 1.968993
0.281250, 1.960837, 1.960838
0.312500, 1.951763, 1.951763
0.343750, 1.941782, 1.941782
0.375000, 1.930909, 1.930909
0.406250, 1.919159, 1.919160
0.437500, 1.906550, 1.906551
0.468750, 1.893099, 1.893100
0.500000, 1.878826, 1.878826
0.531250, 1.863750, 1.863750
0.562500, 1.847892, 1.847892
0.593750, 1.831275, 1.831275
0.625000, 1.813922, 1.813921
0.656250, 1.795855, 1.795855
0.687500, 1.777101, 1.777101
0.718750, 1.757685, 1.757684
0.750000, 1.737632, 1.737630
0.781250, 1.716969, 1.716967
0.812500, 1.695724, 1.695721
0.843750, 1.673924, 1.673921
0.875000, 1.651598, 1.651594
0.906250, 1.628774, 1.628770
0.937500, 1.605481, 1.605477
0.968750, 1.581750, 1.581744
1.000000, 1.557608, 1.557602
1.031250, 1.533086, 1.533079
1.062500, 1.508214, 1.508206
1.093750, 1.483021, 1.483012
1.125000, 1.457537, 1.457527
1.156250, 1.431792, 1.431780
1.187500, 1.405815, 1.405802
1.218750, 1.379636, 1.379622
1.250000, 1.353283, 1.353268
1.281250, 1.326786, 1.326769
1.312500, 1.300173, 1.300155
1.343750, 1.273472, 1.273452
1.375000, 1.246710, 1.246689
1.406250, 1.219915, 1.219892
1.437500, 1.193113, 1.193089
1.468750, 1.166331, 1.166305
1.500000, 1.139594, 1.139566
1.531250, 1.112926, 1.112896
1.562500, 1.086352, 1.086320
1.593750, 1.059894, 1.059861
1.625000, 1.033577, 1.033541
1.656250, 1.007421, 1.007383
1.687500, 0.981448, 0.981408
1.718750, 0.955677, 0.955636
1.750000, 0.930130, 0.930086
1.781250, 0.904824, 0.904778
1.812500, 0.879776, 0.879729
1.843750, 0.855005, 0.854955
1.875000, 0.830525, 0.830474
1.906250, 0.806353, 0.806299
1.937500, 0.782502, 0.782447
1.968750, 0.758987, 0.758929
2.000000, 0.735818, 0.735759
err = 2.451793e-05
******************************************************************
N = 128
0.000000, 2.000000, 2.000000
0.015625, 1.999878, 1.999878
0.031250, 1.999512, 1.999512
0.046875, 1.998902, 1.998902
0.062500, 1.998048, 1.998048
0.078125, 1.996951, 1.996951
0.093750, 1.995610, 1.995610
0.109375, 1.994027, 1.994027
0.125000, 1.992203, 1.992203
0.140625, 1.990137, 1.990137
0.156250, 1.987830, 1.987830
0.171875, 1.985284, 1.985284
0.187500, 1.982499, 1.982499
0.203125, 1.979476, 1.979476
0.218750, 1.976217, 1.976217
0.234375, 1.972722, 1.972722
0.250000, 1.968993, 1.968993
0.265625, 1.965031, 1.965031
0.281250, 1.960838, 1.960838
0.296875, 1.956415, 1.956415
0.312500, 1.951763, 1.951763
0.328125, 1.946885, 1.946885
0.343750, 1.941782, 1.941782
0.359375, 1.936456, 1.936456
0.375000, 1.930909, 1.930909
0.390625, 1.925143, 1.925143
0.406250, 1.919160, 1.919160
0.421875, 1.912961, 1.912961
0.437500, 1.906551, 1.906551
0.453125, 1.899929, 1.899929
0.468750, 1.893100, 1.893100
0.484375, 1.886065, 1.886065
0.500000, 1.878826, 1.878826
0.515625, 1.871387, 1.871387
0.531250, 1.863750, 1.863750
0.546875, 1.855917, 1.855917
0.562500, 1.847892, 1.847892
0.578125, 1.839677, 1.839677
0.593750, 1.831275, 1.831275
0.609375, 1.822689, 1.822689
0.625000, 1.813921, 1.813921
0.640625, 1.804976, 1.804976
0.656250, 1.795855, 1.795855
0.671875, 1.786562, 1.786562
0.687500, 1.777101, 1.777101
0.703125, 1.767474, 1.767473
0.718750, 1.757684, 1.757684
0.734375, 1.747735, 1.747735
0.750000, 1.737631, 1.737630
0.765625, 1.727374, 1.727373
0.781250, 1.716968, 1.716967
0.796875, 1.706416, 1.706415
0.812500, 1.695722, 1.695721
0.828125, 1.684889, 1.684889
0.843750, 1.673922, 1.673921
0.859375, 1.662822, 1.662821
0.875000, 1.651595, 1.651594
0.890625, 1.640243, 1.640242
0.906250, 1.628771, 1.628770
0.921875, 1.617181, 1.617180
0.937500, 1.605478, 1.605477
0.953125, 1.593665, 1.593663
0.968750, 1.581746, 1.581744
0.984375, 1.569724, 1.569722
1.000000, 1.557603, 1.557602
1.015625, 1.545388, 1.545386
1.031250, 1.533081, 1.533079
1.046875, 1.520686, 1.520684
1.062500, 1.508208, 1.508206
1.078125, 1.495649, 1.495647
1.093750, 1.483014, 1.483012
1.109375, 1.470306, 1.470304
1.125000, 1.457529, 1.457527
1.140625, 1.444687, 1.444684
1.156250, 1.431783, 1.431780
1.171875, 1.418822, 1.418818
1.187500, 1.405806, 1.405802
1.203125, 1.392739, 1.392735
1.218750, 1.379625, 1.379622
1.234375, 1.366468, 1.366465
1.250000, 1.353272, 1.353268
1.265625, 1.340039, 1.340035
1.281250, 1.326774, 1.326769
1.296875, 1.313479, 1.313475
1.312500, 1.300159, 1.300155
1.328125, 1.286817, 1.286812
1.343750, 1.273457, 1.273452
1.359375, 1.260081, 1.260076
1.375000, 1.246694, 1.246689
1.390625, 1.233299, 1.233293
1.406250, 1.219898, 1.219892
1.421875, 1.206496, 1.206490
1.437500, 1.193095, 1.193089
1.453125, 1.179699, 1.179693
1.468750, 1.166312, 1.166305
1.484375, 1.152935, 1.152928
1.500000, 1.139573, 1.139566
1.515625, 1.126228, 1.126221
1.531250, 1.112904, 1.112896
1.546875, 1.099603, 1.099595
1.562500, 1.086328, 1.086320
1.578125, 1.073082, 1.073074
1.593750, 1.059869, 1.059861
1.609375, 1.046691, 1.046682
1.625000, 1.033550, 1.033541
1.640625, 1.020450, 1.020441
1.656250, 1.007393, 1.007383
1.671875, 0.994381, 0.994372
1.687500, 0.981418, 0.981408
1.703125, 0.968506, 0.968495
1.718750, 0.955646, 0.955636
1.734375, 0.942843, 0.942832
1.750000, 0.930097, 0.930086
1.765625, 0.917412, 0.917401
1.781250, 0.904789, 0.904778
1.796875, 0.892232, 0.892220
1.812500, 0.879741, 0.879729
1.828125, 0.867319, 0.867306
1.843750, 0.854968, 0.854955
1.859375, 0.842690, 0.842677
1.875000, 0.830487, 0.830474
1.890625, 0.818360, 0.818347
1.906250, 0.806313, 0.806299
1.921875, 0.794346, 0.794332
1.937500, 0.782461, 0.782447
1.953125, 0.770659, 0.770645
1.968750, 0.758944, 0.758929
1.984375, 0.747314, 0.747300
2.000000, 0.735774, 0.735759
err = 6.134061e-06
******************************************************************
N = 256
0.000000, 2.000000, 2.000000
0.007812, 1.999969, 1.999969
0.015625, 1.999878, 1.999878
0.023438, 1.999725, 1.999725
0.031250, 1.999512, 1.999512
0.039062, 1.999237, 1.999237
0.046875, 1.998902, 1.998902
0.054688, 1.998505, 1.998505
0.062500, 1.998048, 1.998048
0.070312, 1.997530, 1.997530
0.078125, 1.996951, 1.996951
0.085938, 1.996311, 1.996311
0.093750, 1.995610, 1.995610
0.101562, 1.994849, 1.994849
0.109375, 1.994027, 1.994027
0.117188, 1.993145, 1.993145
0.125000, 1.992203, 1.992203
0.132812, 1.991200, 1.991200
0.140625, 1.990137, 1.990137
0.148438, 1.989013, 1.989013
0.156250, 1.987830, 1.987830
0.164062, 1.986587, 1.986587
0.171875, 1.985284, 1.985284
0.179688, 1.983921, 1.983921
0.187500, 1.982499, 1.982499
0.195312, 1.981017, 1.981017
0.203125, 1.979476, 1.979476
0.210938, 1.977876, 1.977876
0.218750, 1.976217, 1.976217
0.226562, 1.974499, 1.974499
0.234375, 1.972722, 1.972722
0.242188, 1.970887, 1.970887
0.250000, 1.968993, 1.968993
0.257812, 1.967041, 1.967041
0.265625, 1.965031, 1.965031
0.273438, 1.962963, 1.962963
0.281250, 1.960838, 1.960838
0.289062, 1.958655, 1.958655
0.296875, 1.956415, 1.956415
0.304688, 1.954117, 1.954117
0.312500, 1.951763, 1.951763
0.320312, 1.949352, 1.949352
0.328125, 1.946885, 1.946885
0.335938, 1.944362, 1.944362
0.343750, 1.941782, 1.941782
0.351562, 1.939147, 1.939147
0.359375, 1.936456, 1.936456
0.367188, 1.933710, 1.933710
0.375000, 1.930909, 1.930909
0.382812, 1.928053, 1.928053
0.390625, 1.925143, 1.925143
0.398438, 1.922178, 1.922178
0.406250, 1.919160, 1.919160
0.414062, 1.916087, 1.916087
0.421875, 1.912961, 1.912961
0.429688, 1.909782, 1.909782
0.437500, 1.906551, 1.906551
0.445312, 1.903266, 1.903266
0.453125, 1.899929, 1.899929
0.460938, 1.896540, 1.896540
0.468750, 1.893100, 1.893100
0.476562, 1.889608, 1.889608
0.484375, 1.886065, 1.886065
0.492188, 1.882471, 1.882471
0.500000, 1.878826, 1.878826
0.507812, 1.875132, 1.875132
0.515625, 1.871387, 1.871387
0.523438, 1.867593, 1.867593
0.531250, 1.863750, 1.863750
0.539062, 1.859858, 1.859858
0.546875, 1.855917, 1.855917
0.554688, 1.851929, 1.851929
0.562500, 1.847892, 1.847892
0.570312, 1.843808, 1.843808
0.578125, 1.839677, 1.839677
0.585938, 1.835499, 1.835499
0.593750, 1.831275, 1.831275
0.601562, 1.827005, 1.827005
0.609375, 1.822689, 1.822689
0.617188, 1.818327, 1.818327
0.625000, 1.813921, 1.813921
0.632812, 1.809471, 1.809471
0.640625, 1.804976, 1.804976
0.648438, 1.800437, 1.800437
0.656250, 1.795855, 1.795855
0.664062, 1.791230, 1.791230
0.671875, 1.786562, 1.786562
0.679688, 1.781852, 1.781852
0.687500, 1.777101, 1.777101
0.695312, 1.772308, 1.772307
0.703125, 1.767473, 1.767473
0.710938, 1.762599, 1.762599
0.718750, 1.757684, 1.757684
0.726562, 1.752729, 1.752729
0.734375, 1.747735, 1.747735
0.742188, 1.742702, 1.742702
0.750000, 1.737630, 1.737630
0.757812, 1.732521, 1.732520
0.765625, 1.727373, 1.727373
0.773438, 1.722189, 1.722188
0.781250, 1.716967, 1.716967
0.789062, 1.711709, 1.711709
0.796875, 1.706415, 1.706415
0.804688, 1.701086, 1.701086
0.812500, 1.695721, 1.695721
0.820312, 1.690322, 1.690322
0.828125, 1.684889, 1.684889
0.835938, 1.679422, 1.679421
0.843750, 1.673921, 1.673921
0.851562, 1.668388, 1.668387
0.859375, 1.662822, 1.662821
0.867188, 1.657224, 1.657224
0.875000, 1.651594, 1.651594
0.882812, 1.645934, 1.645934
0.890625, 1.640243, 1.640242
0.898438, 1.634521, 1.634521
0.906250, 1.628770, 1.628770
0.914062, 1.622990, 1.622989
0.921875, 1.617180, 1.617180
0.929688, 1.611343, 1.611342
0.937500, 1.605477, 1.605477
0.945312, 1.599584, 1.599583
0.953125, 1.593664, 1.593663
0.960938, 1.587717, 1.587717
0.968750, 1.581744, 1.581744
0.976562, 1.575746, 1.575746
0.984375, 1.569723, 1.569722
0.992188, 1.563674, 1.563674
1.000000, 1.557602, 1.557602
1.007812, 1.551506, 1.551505
1.015625, 1.545386, 1.545386
1.023438, 1.539244, 1.539244
1.031250, 1.533079, 1.533079
1.039062, 1.526893, 1.526892
1.046875, 1.520685, 1.520684
1.054688, 1.514456, 1.514455
1.062500, 1.508206, 1.508206
1.070312, 1.501937, 1.501936
1.078125, 1.495647, 1.495647
1.085938, 1.489339, 1.489339
1.093750, 1.483012, 1.483012
1.101562, 1.476667, 1.476667
1.109375, 1.470304, 1.470304
1.117188, 1.463924, 1.463924
1.125000, 1.457527, 1.457527
1.132812, 1.451114, 1.451113
1.140625, 1.444685, 1.444684
1.148438, 1.438241, 1.438240
1.156250, 1.431781, 1.431780
1.164062, 1.425307, 1.425306
1.171875, 1.418819, 1.418818
1.179688, 1.412318, 1.412317
1.187500, 1.405803, 1.405802
1.195312, 1.399276, 1.399275
1.203125, 1.392736, 1.392735
1.210938, 1.386185, 1.386184
1.218750, 1.379623, 1.379622
1.226562, 1.373049, 1.373048
1.234375, 1.366466, 1.366465
1.242188, 1.359872, 1.359871
1.250000, 1.353269, 1.353268
1.257812, 1.346657, 1.346655
1.265625, 1.340036, 1.340035
1.273438, 1.333407, 1.333406
1.281250, 1.326770, 1.326769
1.289062, 1.320126, 1.320125
1.296875, 1.313476, 1.313475
1.304688, 1.306819, 1.306818
1.312500, 1.300156, 1.300155
1.320312, 1.293487, 1.293486
1.328125, 1.286814, 1.286812
1.335938, 1.280135, 1.280134
1.343750, 1.273453, 1.273452
1.351562, 1.266767, 1.266766
1.359375, 1.260077, 1.260076
1.367188, 1.253385, 1.253384
1.375000, 1.246690, 1.246689
1.382812, 1.239993, 1.239992
1.390625, 1.233294, 1.233293
1.398438, 1.226594, 1.226593
1.406250, 1.219894, 1.219892
1.414062, 1.213192, 1.213191
1.421875, 1.206491, 1.206490
1.429688, 1.199790, 1.199789
1.437500, 1.193090, 1.193089
1.445312, 1.186392, 1.186390
1.453125, 1.179695, 1.179693
1.460938, 1.172999, 1.172998
1.468750, 1.166307, 1.166305
1.476562, 1.159617, 1.159615
1.484375, 1.152930, 1.152928
1.492188, 1.146247, 1.146245
1.500000, 1.139567, 1.139566
1.507812, 1.132893, 1.132891
1.515625, 1.126222, 1.126221
1.523438, 1.119557, 1.119555
1.531250, 1.112898, 1.112896
1.539062, 1.106244, 1.106242
1.546875, 1.099597, 1.099595
1.554688, 1.092956, 1.092954
1.562500, 1.086322, 1.086320
1.570312, 1.079695, 1.079693
1.578125, 1.073076, 1.073074
1.585938, 1.066465, 1.066463
1.593750, 1.059863, 1.059861
1.601562, 1.053269, 1.053267
1.609375, 1.046684, 1.046682
1.617188, 1.040109, 1.040107
1.625000, 1.033543, 1.033541
1.632812, 1.026988, 1.026986
1.640625, 1.020443, 1.020441
1.648438, 1.013909, 1.013906
1.656250, 1.007386, 1.007383
1.664062, 1.000874, 1.000872
1.671875, 0.994374, 0.994372
1.679688, 0.987886, 0.987884
1.687500, 0.981411, 0.981408
1.695312, 0.974948, 0.974945
1.703125, 0.968498, 0.968495
1.710938, 0.962062, 0.962059
1.718750, 0.955639, 0.955636
1.726562, 0.949230, 0.949227
1.734375, 0.942835, 0.942832
1.742188, 0.936455, 0.936452
1.750000, 0.930089, 0.930086
1.757812, 0.923739, 0.923736
1.765625, 0.917404, 0.917401
1.773438, 0.911084, 0.911081
1.781250, 0.904781, 0.904778
1.789062, 0.898494, 0.898491
1.796875, 0.892223, 0.892220
1.804688, 0.885969, 0.885966
1.812500, 0.879732, 0.879729
1.820312, 0.873512, 0.873509
1.828125, 0.867309, 0.867306
1.835938, 0.861125, 0.861122
1.843750, 0.854958, 0.854955
1.851562, 0.848810, 0.848807
1.859375, 0.842680, 0.842677
1.867188, 0.836569, 0.836566
1.875000, 0.830477, 0.830474
1.882812, 0.824404, 0.824401
1.890625, 0.818351, 0.818347
1.898438, 0.812317, 0.812313
1.906250, 0.806303, 0.806299
1.914062, 0.800309, 0.800306
1.921875, 0.794335, 0.794332
1.929688, 0.788383, 0.788379
1.937500, 0.782450, 0.782447
1.945312, 0.776539, 0.776535
1.953125, 0.770649, 0.770645
1.960938, 0.764780, 0.764776
1.968750, 0.758933, 0.758929
1.976562, 0.753107, 0.753103
1.984375, 0.747303, 0.747300
1.992188, 0.741522, 0.741518
2.000000, 0.735763, 0.735759
err = 1.534211e-06
******************************************************************
N = 512
0.000000, 2.000000, 2.000000
0.003906, 1.999992, 1.999992
0.007812, 1.999969, 1.999969
0.011719, 1.999931, 1.999931
0.015625, 1.999878, 1.999878
0.019531, 1.999809, 1.999809
0.023438, 1.999725, 1.999725
0.027344, 1.999626, 1.999626
0.031250, 1.999512, 1.999512
0.035156, 1.999382, 1.999382
0.039062, 1.999237, 1.999237
0.042969, 1.999077, 1.999077
0.046875, 1.998902, 1.998902
0.050781, 1.998711, 1.998711
0.054688, 1.998505, 1.998505
0.058594, 1.998284, 1.998284
0.062500, 1.998048, 1.998048
0.066406, 1.997796, 1.997796
0.070312, 1.997530, 1.997530
0.074219, 1.997248, 1.997248
0.078125, 1.996951, 1.996951
0.082031, 1.996638, 1.996638
0.085938, 1.996311, 1.996311
0.089844, 1.995968, 1.995968
0.093750, 1.995610, 1.995610
0.097656, 1.995237, 1.995237
0.101562, 1.994849, 1.994849
0.105469, 1.994446, 1.994446
0.109375, 1.994027, 1.994027
0.113281, 1.993594, 1.993594
0.117188, 1.993145, 1.993145
0.121094, 1.992682, 1.992682
0.125000, 1.992203, 1.992203
0.128906, 1.991709, 1.991709
0.132812, 1.991200, 1.991200
0.136719, 1.990676, 1.990676
0.140625, 1.990137, 1.990137
0.144531, 1.989583, 1.989583
0.148438, 1.989013, 1.989013
0.152344, 1.988429, 1.988429
0.156250, 1.987830, 1.987830
0.160156, 1.987216, 1.987216
0.164062, 1.986587, 1.986587
0.167969, 1.985943, 1.985943
0.171875, 1.985284, 1.985284
0.175781, 1.984610, 1.984610
0.179688, 1.983921, 1.983921
0.183594, 1.983217, 1.983217
0.187500, 1.982499, 1.982499
0.191406, 1.981765, 1.981765
0.195312, 1.981017, 1.981017
0.199219, 1.980254, 1.980254
0.203125, 1.979476, 1.979476
0.207031, 1.978683, 1.978683
0.210938, 1.977876, 1.977876
0.214844, 1.977054, 1.977054
0.218750, 1.976217, 1.976217
0.222656, 1.975365, 1.975365
0.226562, 1.974499, 1.974499
0.230469, 1.973618, 1.973618
0.234375, 1.972722, 1.972722
0.238281, 1.971812, 1.971812
0.242188, 1.970887, 1.970887
0.246094, 1.969947, 1.969947
0.250000, 1.968993, 1.968993
0.253906, 1.968024, 1.968024
0.257812, 1.967041, 1.967041
0.261719, 1.966043, 1.966043
0.265625, 1.965031, 1.965031
0.269531, 1.964004, 1.964004
0.273438, 1.962963, 1.962963
0.277344, 1.961908, 1.961908
0.281250, 1.960838, 1.960838
0.285156, 1.959753, 1.959753
0.289062, 1.958655, 1.958655
0.292969, 1.957542, 1.957542
0.296875, 1.956415, 1.956415
0.300781, 1.955273, 1.955273
0.304688, 1.954117, 1.954117
0.308594, 1.952947, 1.952947
0.312500, 1.951763, 1.951763
0.316406, 1.950565, 1.950565
0.320312, 1.949352, 1.949352
0.324219, 1.948126, 1.948126
0.328125, 1.946885, 1.946885
0.332031, 1.945630, 1.945630
0.335938, 1.944362, 1.944362
0.339844, 1.943079, 1.943079
0.343750, 1.941782, 1.941782
0.347656, 1.940471, 1.940471
0.351562, 1.939147, 1.939147
0.355469, 1.937808, 1.937808
0.359375, 1.936456, 1.936456
0.363281, 1.935090, 1.935090
0.367188, 1.933710, 1.933710
0.371094, 1.932316, 1.932316
0.375000, 1.930909, 1.930909
0.378906, 1.929488, 1.929488
0.382812, 1.928053, 1.928053
0.386719, 1.926605, 1.926605
0.390625, 1.925143, 1.925143
0.394531, 1.923667, 1.923667
0.398438, 1.922178, 1.922178
0.402344, 1.920676, 1.920676
0.406250, 1.919160, 1.919160
0.410156, 1.917630, 1.917630
0.414062, 1.916087, 1.916087
0.417969, 1.914531, 1.914531
0.421875, 1.912961, 1.912961
0.425781, 1.911379, 1.911379
0.429688, 1.909782, 1.909782
0.433594, 1.908173, 1.908173
0.437500, 1.906551, 1.906551
0.441406, 1.904915, 1.904915
0.445312, 1.903266, 1.903266
0.449219, 1.901604, 1.901604
0.453125, 1.899929, 1.899929
0.457031, 1.898241, 1.898241
0.460938, 1.896540, 1.896540
0.464844, 1.894826, 1.894826
0.468750, 1.893100, 1.893100
0.472656, 1.891360, 1.891360
0.476562, 1.889608, 1.889608
0.480469, 1.887842, 1.887842
0.484375, 1.886065, 1.886065
0.488281, 1.884274, 1.884274
0.492188, 1.882471, 1.882471
0.496094, 1.880655, 1.880655
0.500000, 1.878826, 1.878826
0.503906, 1.876985, 1.876985
0.507812, 1.875132, 1.875132
0.511719, 1.873266, 1.873265
0.515625, 1.871387, 1.871387
0.519531, 1.869496, 1.869496
0.523438, 1.867593, 1.867593
0.527344, 1.865678, 1.865678
0.531250, 1.863750, 1.863750
0.535156, 1.861810, 1.861810
0.539062, 1.859858, 1.859858
0.542969, 1.857894, 1.857894
0.546875, 1.855917, 1.855917
0.550781, 1.853929, 1.853929
0.554688, 1.851929, 1.851929
0.558594, 1.849916, 1.849916
0.562500, 1.847892, 1.847892
0.566406, 1.845856, 1.845856
0.570312, 1.843808, 1.843808
0.574219, 1.841749, 1.841748
0.578125, 1.839677, 1.839677
0.582031, 1.837594, 1.837594
0.585938, 1.835499, 1.835499
0.589844, 1.833393, 1.833393
0.593750, 1.831275, 1.831275
0.597656, 1.829146, 1.829146
0.601562, 1.827005, 1.827005
0.605469, 1.824852, 1.824852
0.609375, 1.822689, 1.822689
0.613281, 1.820514, 1.820514
0.617188, 1.818327, 1.818327
0.621094, 1.816130, 1.816130
0.625000, 1.813921, 1.813921
0.628906, 1.811701, 1.811701
0.632812, 1.809471, 1.809471
0.636719, 1.807229, 1.807229
0.640625, 1.804976, 1.804976
0.644531, 1.802712, 1.802712
0.648438, 1.800437, 1.800437
0.652344, 1.798151, 1.798151
0.656250, 1.795855, 1.795855
0.660156, 1.793548, 1.793548
0.664062, 1.791230, 1.791230
0.667969, 1.788901, 1.788901
0.671875, 1.786562, 1.786562
0.675781, 1.784212, 1.784212
0.679688, 1.781852, 1.781852
0.683594, 1.779482, 1.779482
0.687500, 1.777101, 1.777101
0.691406, 1.774709, 1.774709
0.695312, 1.772307, 1.772307
0.699219, 1.769895, 1.769895
0.703125, 1.767473, 1.767473
0.707031, 1.765041, 1.765041
0.710938, 1.762599, 1.762599
0.714844, 1.760146, 1.760146
0.718750, 1.757684, 1.757684
0.722656, 1.755211, 1.755211
0.726562, 1.752729, 1.752729
0.730469, 1.750237, 1.750237
0.734375, 1.747735, 1.747735
0.738281, 1.745223, 1.745223
0.742188, 1.742702, 1.742702
0.746094, 1.740171, 1.740171
0.750000, 1.737630, 1.737630
0.753906, 1.735080, 1.735080
0.757812, 1.732520, 1.732520
0.761719, 1.729951, 1.729951
0.765625, 1.727373, 1.727373
0.769531, 1.724785, 1.724785
0.773438, 1.722188, 1.722188
0.777344, 1.719582, 1.719582
0.781250, 1.716967, 1.716967
0.785156, 1.714342, 1.714342
0.789062, 1.711709, 1.711709
0.792969, 1.709067, 1.709067
0.796875, 1.706415, 1.706415
0.800781, 1.703755, 1.703755
0.804688, 1.701086, 1.701086
0.808594, 1.698408, 1.698408
0.812500, 1.695721, 1.695721
0.816406, 1.693026, 1.693026
0.820312, 1.690322, 1.690322
0.824219, 1.687610, 1.687610
0.828125, 1.684889, 1.684889
0.832031, 1.682159, 1.682159
0.835938, 1.679421, 1.679421
0.839844, 1.676675, 1.676675
0.843750, 1.673921, 1.673921
0.847656, 1.671158, 1.671158
0.851562, 1.668387, 1.668387
0.855469, 1.665609, 1.665608
0.859375, 1.662822, 1.662821
0.863281, 1.660027, 1.660026
0.867188, 1.657224, 1.657224
0.871094, 1.654413, 1.654413
0.875000, 1.651594, 1.651594
0.878906, 1.648768, 1.648768
0.882812, 1.645934, 1.645934
0.886719, 1.643092, 1.643092
0.890625, 1.640242, 1.640242
0.894531, 1.637385, 1.637385
0.898438, 1.634521, 1.634521
0.902344, 1.631649, 1.631649
0.906250, 1.628770, 1.628770
0.910156, 1.625883, 1.625883
0.914062, 1.622989, 1.622989
0.917969, 1.620088, 1.620088
0.921875, 1.617180, 1.617180
0.925781, 1.614265, 1.614265
0.929688, 1.611342, 1.611342
0.933594, 1.608413, 1.608413
0.937500, 1.605477, 1.605477
0.941406, 1.602533, 1.602533
0.945312, 1.599584, 1.599583
0.949219, 1.596627, 1.596627
0.953125, 1.593663, 1.593663
0.957031, 1.590693, 1.590693
0.960938, 1.587717, 1.587717
0.964844, 1.584734, 1.584734
0.968750, 1.581744, 1.581744
0.972656, 1.578748, 1.578748
0.976562, 1.575746, 1.575746
0.980469, 1.572737, 1.572737
0.984375, 1.569722, 1.569722
0.988281, 1.566701, 1.566701
0.992188, 1.563674, 1.563674
0.996094, 1.560641, 1.560641
1.000000, 1.557602, 1.557602
1.003906, 1.554557, 1.554556
1.007812, 1.551506, 1.551505
1.011719, 1.548449, 1.548449
1.015625, 1.545386, 1.545386
1.019531, 1.542318, 1.542318
1.023438, 1.539244, 1.539244
1.027344, 1.536164, 1.536164
1.031250, 1.533079, 1.533079
1.035156, 1.529988, 1.529988
1.039062, 1.526892, 1.526892
1.042969, 1.523791, 1.523791
1.046875, 1.520684, 1.520684
1.050781, 1.517572, 1.517572
1.054688, 1.514455, 1.514455
1.058594, 1.511333, 1.511333
1.062500, 1.508206, 1.508206
1.066406, 1.505073, 1.505073
1.070312, 1.501936, 1.501936
1.074219, 1.498794, 1.498794
1.078125, 1.495647, 1.495647
1.082031, 1.492495, 1.492495
1.085938, 1.489339, 1.489339
1.089844, 1.486178, 1.486177
1.093750, 1.483012, 1.483012
1.097656, 1.479841, 1.479841
1.101562, 1.476667, 1.476667
1.105469, 1.473487, 1.473487
1.109375, 1.470304, 1.470304
1.113281, 1.467116, 1.467116
1.117188, 1.463924, 1.463924
1.121094, 1.460727, 1.460727
1.125000, 1.457527, 1.457527
1.128906, 1.454322, 1.454322
1.132812, 1.451114, 1.451113
1.136719, 1.447901, 1.447901
1.140625, 1.444685, 1.444684
1.144531, 1.441464, 1.441464
1.148438, 1.438240, 1.438240
1.152344, 1.435012, 1.435012
1.156250, 1.431781, 1.431780
1.160156, 1.428545, 1.428545
1.164062, 1.425307, 1.425306
1.167969, 1.422064, 1.422064
1.171875, 1.418819, 1.418818
1.175781, 1.415570, 1.415569
1.179688, 1.412317, 1.412317
1.183594, 1.409061, 1.409061
1.187500, 1.405802, 1.405802
1.191406, 1.402540, 1.402540
1.195312, 1.399275, 1.399275
1.199219, 1.396007, 1.396007
1.203125, 1.392736, 1.392735
1.207031, 1.389461, 1.389461
1.210938, 1.386184, 1.386184
1.214844, 1.382905, 1.382904
1.218750, 1.379622, 1.379622
1.222656, 1.376337, 1.376336
1.226562, 1.373049, 1.373048
1.230469, 1.369758, 1.369758
1.234375, 1.366465, 1.366465
1.238281, 1.363169, 1.363169
1.242188, 1.359871, 1.359871
1.246094, 1.356571, 1.356570
1.250000, 1.353268, 1.353268
1.253906, 1.349963, 1.349963
1.257812, 1.346656, 1.346655
1.261719, 1.343346, 1.343346
1.265625, 1.340035, 1.340035
1.269531, 1.336722, 1.336721
1.273438, 1.333406, 1.333406
1.277344, 1.330089, 1.330088
1.281250, 1.326769, 1.326769
1.285156, 1.323448, 1.323448
1.289062, 1.320126, 1.320125
1.292969, 1.316801, 1.316801
1.296875, 1.313475, 1.313475
1.300781, 1.310147, 1.310147
1.304688, 1.306818, 1.306818
1.308594, 1.303487, 1.303487
1.312500, 1.300155, 1.300155
1.316406, 1.296821, 1.296821
1.320312, 1.293486, 1.293486
1.324219, 1.290150, 1.290150
1.328125, 1.286813, 1.286812
1.332031, 1.283474, 1.283474
1.335938, 1.280135, 1.280134
1.339844, 1.276794, 1.276794
1.343750, 1.273452, 1.273452
1.347656, 1.270109, 1.270109
1.351562, 1.266766, 1.266766
1.355469, 1.263422, 1.263421
1.359375, 1.260076, 1.260076
1.363281, 1.256731, 1.256730
1.367188, 1.253384, 1.253384
1.371094, 1.250037, 1.250036
1.375000, 1.246689, 1.246689
1.378906, 1.243341, 1.243340
1.382812, 1.239992, 1.239992
1.386719, 1.236643, 1.236642
1.390625, 1.233293, 1.233293
1.394531, 1.229943, 1.229943
1.398438, 1.226593, 1.226593
1.402344, 1.223243, 1.223243
1.406250, 1.219892, 1.219892
1.410156, 1.216542, 1.216542
1.414062, 1.213191, 1.213191
1.417969, 1.209841, 1.209840
1.421875, 1.206490, 1.206490
1.425781, 1.203140, 1.203139
1.429688, 1.199789, 1.199789
1.433594, 1.196439, 1.196439
1.437500, 1.193089, 1.193089
1.441406, 1.189740, 1.189739
1.445312, 1.186390, 1.186390
1.449219, 1.183042, 1.183041
1.453125, 1.179693, 1.179693
1.457031, 1.176345, 1.176345
1.460938, 1.172998, 1.172998
1.464844, 1.169651, 1.169651
1.468750, 1.166305, 1.166305
1.472656, 1.162960, 1.162960
1.476562, 1.159615, 1.159615
1.480469, 1.156272, 1.156271
1.484375, 1.152929, 1.152928
1.488281, 1.149586, 1.149586
1.492188, 1.146245, 1.146245
1.496094, 1.142905, 1.142905
1.500000, 1.139566, 1.139566
1.503906, 1.136228, 1.136228
1.507812, 1.132891, 1.132891
1.511719, 1.129556, 1.129555
1.515625, 1.126221, 1.126221
1.519531, 1.122888, 1.122887
1.523438, 1.119556, 1.119555
1.527344, 1.116225, 1.116225
1.531250, 1.112896, 1.112896
1.535156, 1.109569, 1.109568
1.539062, 1.106243, 1.106242
1.542969, 1.102918, 1.102918
1.546875, 1.099595, 1.099595
1.550781, 1.096274, 1.096273
1.554688, 1.092954, 1.092954
1.558594, 1.089636, 1.089636
1.562500, 1.086320, 1.086320
1.566406, 1.083006, 1.083005
1.570312, 1.079694, 1.079693
1.574219, 1.076383, 1.076383
1.578125, 1.073075, 1.073074
1.582031, 1.069768, 1.069768
1.585938, 1.066464, 1.066463
1.589844, 1.063161, 1.063161
1.593750, 1.059861, 1.059861
1.597656, 1.056563, 1.056563
1.601562, 1.053267, 1.053267
1.605469, 1.049974, 1.049973
1.609375, 1.046683, 1.046682
1.613281, 1.043394, 1.043393
1.617188, 1.040107, 1.040107
1.621094, 1.036823, 1.036823
1.625000, 1.033542, 1.033541
1.628906, 1.030263, 1.030262
1.632812, 1.026986, 1.026986
1.636719, 1.023712, 1.023712
1.640625, 1.020441, 1.020441
1.644531, 1.017173, 1.017172
1.648438, 1.013907, 1.013906
1.652344, 1.010644, 1.010643
1.656250, 1.007384, 1.007383
1.660156, 1.004127, 1.004126
1.664062, 1.000872, 1.000872
1.667969, 0.997621, 0.997620
1.671875, 0.994372, 0.994372
1.675781, 0.991127, 0.991126
1.679688, 0.987884, 0.987884
1.683594, 0.984645, 0.984644
1.687500, 0.981409, 0.981408
1.691406, 0.978176, 0.978175
1.695312, 0.974946, 0.974945
1.699219, 0.971719, 0.971719
1.703125, 0.968496, 0.968495
1.707031, 0.965276, 0.965275
1.710938, 0.962060, 0.962059
1.714844, 0.958846, 0.958846
1.718750, 0.955637, 0.955636
1.722656, 0.952430, 0.952430
1.726562, 0.949228, 0.949227
1.730469, 0.946028, 0.946028
1.734375, 0.942833, 0.942832
1.738281, 0.939641, 0.939640
1.742188, 0.936453, 0.936452
1.746094, 0.933268, 0.933267
1.750000, 0.930087, 0.930086
1.753906, 0.926910, 0.926909
1.757812, 0.923737, 0.923736
1.761719, 0.920567, 0.920566
1.765625, 0.917402, 0.917401
1.769531, 0.914240, 0.914239
1.773438, 0.911082, 0.911081
1.777344, 0.907928, 0.907928
1.781250, 0.904779, 0.904778
1.785156, 0.901633, 0.901632
1.789062, 0.898491, 0.898491
1.792969, 0.895354, 0.895353
1.796875, 0.892221, 0.892220
1.800781, 0.889091, 0.889091
1.804688, 0.885966, 0.885966
1.808594, 0.882846, 0.882845
1.812500, 0.879729, 0.879729
1.816406, 0.876617, 0.876616
1.820312, 0.873509, 0.873509
1.824219, 0.870406, 0.870405
1.828125, 0.867307, 0.867306
1.832031, 0.864213, 0.864212
1.835938, 0.861122, 0.861122
1.839844, 0.858037, 0.858036
1.843750, 0.854956, 0.854955
1.847656, 0.851879, 0.851879
1.851562, 0.848808, 0.848807
1.855469, 0.845740, 0.845739
1.859375, 0.842678, 0.842677
1.863281, 0.839620, 0.839619
1.867188, 0.836567, 0.836566
1.871094, 0.833518, 0.833517
1.875000, 0.830474, 0.830474
1.878906, 0.827436, 0.827435
1.882812, 0.824402, 0.824401
1.886719, 0.821372, 0.821372
1.890625, 0.818348, 0.818347
1.894531, 0.815329, 0.815328
1.898438, 0.812314, 0.812313
1.902344, 0.809305, 0.809304
1.906250, 0.806300, 0.806299
1.910156, 0.803301, 0.803300
1.914062, 0.800306, 0.800306
1.917969, 0.797317, 0.797316
1.921875, 0.794333, 0.794332
1.925781, 0.791354, 0.791353
1.929688, 0.788380, 0.788379
1.933594, 0.785411, 0.785410
1.937500, 0.782448, 0.782447
1.941406, 0.779489, 0.779488
1.945312, 0.776536, 0.776535
1.949219, 0.773589, 0.773588
1.953125, 0.770646, 0.770645
1.957031, 0.767709, 0.767708
1.960938, 0.764777, 0.764776
1.964844, 0.761851, 0.761850
1.968750, 0.758930, 0.758929
1.972656, 0.756014, 0.756014
1.976562, 0.753104, 0.753103
1.980469, 0.750200, 0.750199
1.984375, 0.747301, 0.747300
1.988281, 0.744407, 0.744406
1.992188, 0.741519, 0.741518
1.996094, 0.738637, 0.738636
2.000000, 0.735760, 0.735759
err = 3.836472e-07