test_geo_lookup.cpp 366 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085
/****************************************************************************
 *
 *   Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name ECL nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include <geo_lookup/geo_mag_declination.h>


TEST(GeoLookupTest, declination) {
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.20877, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.41463, 0.39369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.44403, 0.38791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.34561, 0.38308 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.1617, 0.37904 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.93146, 0.37565 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.69204, 0.37281 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.47654, 0.37041 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.309, 0.36838 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.19806, 0.36664 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.13136, 0.36516 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.0728, 0.36391 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96327, 0.3629 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72488, 0.36218 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.26797, 0.36185 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.50018, 0.36202 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.33653, 0.36284 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.70967, 0.36445 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.57944, 0.36702 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.94096, 0.37067 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.8307, 0.37548 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.32939, 0.3815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.55998, 0.38873 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.67844, 0.39717 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.85687, 0.40681 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.73909, 0.41765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.97346, 0.4297 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.75832, 0.44292 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.06334, 0.45714 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.91599, 0.47205 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.394, 0.48709 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.61386, 0.50149 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.71845, 0.51427 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.86512, 0.5243 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.21216, 0.53051 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.90041, 0.53205 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.02996, 0.52856 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.63836, 0.52029 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.69077, 0.50806 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.0887, 0.49313 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.69414, 0.47693 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.35886, 0.4608 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -40.94751, 0.44585 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.34927, 0.43284 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.47895, 0.42224 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.27211, 0.41426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.6784, 0.40898 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.65555, 0.40641 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.1646, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.16548, 0.40938 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.61176, 0.41506 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.44404, 0.42378 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.58231, 0.43585 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.91977, 0.45161 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.32253, 0.4713 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.64186, 0.49476 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.7476, 0.52099 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.58912, 0.54763 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.27503, 0.57089 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.13059, 0.58632 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.66855, 0.59075 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.45363, 0.58382 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.06064, 0.56796 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.61702, 0.54682 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.13878, 0.52372 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.66562, 0.50098 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.29301, 0.47992 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.13393, 0.46112 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.30067, 0.44475 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.89859, 0.43074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.02492, 0.41889 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.76849, 0.40893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.20877, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.29315, 0.37408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.60424, 0.37021 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.74821, 0.36698 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.76466, 0.36429 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.68632, 0.36207 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.54391, 0.36025 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.37016, 0.3588 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.19989, 0.35767 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.06558, 0.35685 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 25.99003, 0.35632 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.97869, 0.35607 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01376, 0.35607 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05083, 0.35635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.0183, 0.35692 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.82014, 0.35783 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.34306, 0.35917 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.46851, 0.36109 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.08858, 0.36376 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.12309, 0.36738 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.53547, 0.37211 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.34558, 0.37809 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.63785, 0.38534 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.56153, 0.39383 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.31885, 0.40353 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.8609, 0.41442 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.7574, 0.42655 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.19507, 0.44006 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.06771, 0.45508 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.34596, 0.47168 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.06859, 0.48972 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.32366, 0.50884 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.22828, 0.52837 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.91603, 0.5472 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.5358, 0.56379 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.25615, 0.57626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.26019, 0.58267 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.71751, 0.58165 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.737, 0.57285 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.32589, 0.55719 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.38268, 0.5366 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.72969, 0.5135 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.16473, 0.49025 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.50429, 0.46869 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.60392, 0.45002 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.35817, 0.43485 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.69026, 0.42334 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.54068, 0.4154 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.85902, 0.41081 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.59904, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.71549, 0.41064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.16042, 0.41458 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87898, 0.42089 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.80771, 0.42931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.8815, 0.43943 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.05621, 0.45051 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.34777, 0.46136 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.87371, 0.47047 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.86739, 0.47636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.63912, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.49574, 0.47591 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.66834, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.28877, 0.4626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.58873, 0.45348 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.95188, 0.4437 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.80444, 0.43374 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.155, 0.42393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.01489, 0.41453 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.39952, 0.40573 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.33069, 0.39767 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.83933, 0.39046 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 24.96723, 0.38413 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.76611, 0.37869 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.29315, 0.37408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.49742, 0.35464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.84343, 0.35261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.04179, 0.35098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.12594, 0.34966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.11832, 0.34863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.03705, 0.34785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.90346, 0.34731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.74562, 0.34702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.59596, 0.34699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.48455, 0.34724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43129, 0.34779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43855, 0.34866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.48447, 0.34985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.51636, 0.35136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.44602, 0.35322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.15103, 0.35547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.48578, 0.35823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.30251, 0.36169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.47782, 0.36606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.93883, 0.37157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.68506, 0.37832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.80325, 0.38633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.47048, 0.39549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.06182, 0.40568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.5067, 0.41688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.59536, 0.42919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.12719, 0.4429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -14.99819, 0.45832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.20141, 0.47571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.8038, 0.49519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.91031, 0.51669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.62983, 0.5399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -21.05831, 0.56405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.28938, 0.58766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.44719, 0.60833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.71646, 0.62292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.33312, 0.62834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.51711, 0.62271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.37839, 0.60627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.86217, 0.58136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.77299, 0.55158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.8536, 0.5207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.86176, 0.49174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.60884, 0.46659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -41.96145, 0.44611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.8258, 0.43044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.13177, 0.41926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.82361, 0.41208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.8567, 0.40829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.1966, 0.40731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.81716, 0.40853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.69815, 0.41135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.82802, 0.4151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.22029, 0.41901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.94531, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.1616, 0.42369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.11529, 0.42298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.08725, 0.42006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.31045, 0.41548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.91154, 0.41007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.90961, 0.40451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.74089, 0.39916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.09876, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.20263, 0.38933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.06215, 0.38468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.66554, 0.38012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 14.99135, 0.37565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.01716, 0.37132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.72537, 0.36722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.10894, 0.36343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.17722, 0.36004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 21.9587, 0.35711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.49742, 0.35464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.44955, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.78862, 0.33902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.00307, 0.33841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.12494, 0.33802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.16911, 0.3378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.14081, 0.33775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.04671, 0.33786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.9023, 0.33815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.73243, 0.33866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.5666, 0.33941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.43255, 0.34046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.34956, 0.34185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.31976, 0.34357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.31575, 0.34564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.26699, 0.34803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.05255, 0.35078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.50872, 0.35398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.45426, 0.35782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.72694, 0.36253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.22122, 0.36833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.92001, 0.37533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.91615, 0.38347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.41699, 0.39255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.27874, 0.40239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.83577, 0.41296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -11.95418, 0.42446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.42962, 0.43729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.17974, 0.4519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.23343, 0.46864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.69249, 0.48772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.67973, 0.50928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.29132, 0.53334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.57395, 0.55964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.54205, 0.58729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.23401, 0.6142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.78198, 0.6368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.44517, 0.65057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.5551, 0.65165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.37762, 0.63861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -24.982, 0.61326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.21674, 0.57983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.79632, 0.54339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.41686, 0.50826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.82779, 0.47731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.84724, 0.45185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.34815, 0.43209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.24161, 0.41757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.46821, 0.40751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -38.99631, 0.40104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.82064, 0.39727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.95684, 0.39538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.43368, 0.3946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.29293, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.60743, 0.39349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.5121, 0.39183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.22034, 0.38884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.99313, 0.38455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.06286, 0.37945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.559, 0.37422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.48486, 0.36942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.75184, 0.36537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.75893, 0.36208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14248, 0.35937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44341, 0.35702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.6587, 0.35483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.75723, 0.35267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.69916, 0.35052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.44561, 0.34838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.96144, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.21925, 0.34433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.20764, 0.34258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.93903, 0.34109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.44955, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.95776, 0.3286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.26084, 0.32843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.46096, 0.32848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.59363, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.67055, 0.32908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.68676, 0.32956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.63457, 0.33016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.51458, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.3394, 0.33179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.13164, 0.33289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.92025, 0.33425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.73592, 0.3359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.60157, 0.33786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.51486, 0.34011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.42551, 0.34265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.21907, 0.34548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.72082, 0.3487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.72494, 0.35251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 13.04078, 0.35713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.54141, 0.36278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.20379, 0.36949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.13463, 0.37713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.42733, 0.38545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.14517, 0.39421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.65501, 0.40345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.65006, 0.41349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.94159, 0.42481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.47657, 0.43789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.3154, 0.45305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.58339, 0.47044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.4099, 0.4901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.87349, 0.51212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.97634, 0.53653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.66553, 0.56296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.90098, 0.59005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.74745, 0.61488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.44282, 0.633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.37837, 0.63972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.96134, 0.63225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.43092, 0.61113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.76111, 0.57989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.70742, 0.54361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -25.9319, 0.50718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.11027, 0.47412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -29.9814, 0.44632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.35469, 0.42428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.10376, 0.4076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.16127, 0.39544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51471, 0.38682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.19694, 0.38079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.26762, 0.37649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.79276, 0.37323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.83922, 0.3704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.49612, 0.36749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.9107, 0.3641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.30071, 0.36004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.91148, 0.35549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.93247, 0.35087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.4296, 0.34667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33763, 0.34321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.4907, 0.3406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.21311, 0.33874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.93925, 0.3374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.70629, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.49091, 0.33539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24107, 0.33443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.90329, 0.33344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.43204, 0.33243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.7863, 0.33142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.92836, 0.33048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.83261, 0.32965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.49891, 0.32901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.95776, 0.3286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.92021, 0.32003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.16613, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.3257, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.44198, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.52821, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.57356, 0.32306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.55875, 0.32403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47028, 0.3251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30703, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.08133, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.81867, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.55575, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.33084, 0.33292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.16144, 0.33511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 14.01347, 0.3375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.77777, 0.34011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.27213, 0.34306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.27536, 0.34654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.58221, 0.35078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 8.06013, 0.35593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.69443, 0.36195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.61395, 0.36864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -3.91381, 0.37568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.52966, 0.3829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.86561, 0.3904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.63015, 0.3986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.65957, 0.40805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.92327, 0.41919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.49418, 0.43223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.49857, 0.44712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.05619, 0.46369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.22705, 0.48176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.98817, 0.50125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.25867, 0.52193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.97042, 0.543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.15977, 0.56254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -19.03859, 0.57743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.99214, 0.58409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.47285, 0.58003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.83145, 0.56496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.18902, 0.54099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.42029, 0.51168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.22947, 0.48089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.2538, 0.45181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.14683, 0.42647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.6291, 0.40571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.51261, 0.38946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.70745, 0.37712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.21298, 0.3679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.09256, 0.361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.43552, 0.35572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.32266, 0.35155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.8187, 0.34801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -14.00219, 0.34474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -11.01101, 0.34141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.05704, 0.3379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.37764, 0.3343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.14491, 0.3309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39544, 0.328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.02603, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.14891, 0.32428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.31506, 0.32337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.59086, 0.32286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 5.00191, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.5013, 0.32227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01458, 0.32195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.47638, 0.32158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.83935, 0.32118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.06302, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.10525, 0.32041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.93012, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.52657, 0.31998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.92021, 0.32003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.27884, 0.31381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.45385, 0.31433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.55177, 0.31506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.62625, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.69637, 0.31699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.75001, 0.31813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.76019, 0.31936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70173, 0.32068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.56076, 0.32208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.33885, 0.32358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.05607, 0.3252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.7513, 0.32695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.47207, 0.32883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.24761, 0.3308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.05177, 0.33289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.77551, 0.33513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.23054, 0.33767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.1894, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.44708, 0.34443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.88196, 0.34891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.50102, 0.35404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.53996, 0.35951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -5.95239, 0.36504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.3738, 0.37049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.45342, 0.37607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -17.92738, 0.38227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.6543, 0.38961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.61024, 0.39849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.85857, 0.409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.50696, 0.42092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.65801, 0.43379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.36534, 0.44712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.61592, 0.46053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.35504, 0.4737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.54827, 0.48613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.25294, 0.49688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.66372, 0.50444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -13.10442, 0.50709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.95949, 0.50353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.57, 0.49346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.13831, 0.47774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.67621, 0.45817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.00656, 0.4369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.81178, 0.41596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.71311, 0.39687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.35758, 0.38052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.487, 0.36716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.97165, 0.35657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.80402, 0.34833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.05869, 0.34191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.83504, 0.33689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.21083, 0.33291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.23518, 0.32966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.96724, 0.32686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.53079, 0.32425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.13262, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -3.01115, 0.31925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33851, 0.31704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.14258, 0.31526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.70057, 0.31402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.40439, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.17793, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.14717, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.32594, 0.31319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.64375, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 7.00404, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33047, 0.31339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.57567, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.70243, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.66698, 0.31328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.42505, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.95545, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.27884, 0.31381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 11.99278, 0.30967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.09229, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.11547, 0.31123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.12879, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.16086, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.20243, 0.31475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.22244, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18659, 0.31756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.07011, 0.31905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.86518, 0.32059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.58682, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.27425, 0.32385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.97869, 0.32553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.73231, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.50736, 0.32896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.18921, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.58513, 0.33296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.47068, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.65497, 0.33878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 4.04114, 0.34259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.66646, 0.34677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.28737, 0.351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.52265, 0.35499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.69074, 0.35871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.47043, 0.36242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.62593, 0.36659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.02775, 0.37174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.64337, 0.37817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51349, 0.38591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.72202, 0.39461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.36227, 0.40367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.50583, 0.4124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.18883, 0.42022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.4274, 0.42677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.25594, 0.43187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.76481, 0.43532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -12.11586, 0.43683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.53146, 0.43598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.26744, 0.43236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.57856, 0.42576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.67413, 0.41638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66205, 0.40485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.49747, 0.39209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -6.96722, 0.37908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.73213, 0.36667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.41871, 0.35549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.72099, 0.34587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.46734, 0.33788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.6284, 0.33137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.27137, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.48951, 0.32195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.34701, 0.31862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.87247, 0.31597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.10361, 0.31382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.14818, 0.31197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.20586, 0.3103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.51713, 0.3088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26068, 0.30753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.53342, 0.30661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.99826, 0.30608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.36645, 0.30594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.86595, 0.30611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.62953, 0.30647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.66144, 0.3069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.87093, 0.3073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.14202, 0.30765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38832, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.56234, 0.30815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.62981, 0.30836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.54568, 0.30856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.25788, 0.30881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.73521, 0.30916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 11.99278, 0.30967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.02147, 0.30745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.05251, 0.30825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 10.9991, 0.30921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.94224, 0.31033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.92336, 0.31158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.93967, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.95872, 0.31432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93874, 0.31575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.84522, 0.3172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.66253, 0.31866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.40205, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.10277, 0.32157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.81549, 0.323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.56779, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.32277, 0.3258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.95695, 0.32733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.27653, 0.32917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.06923, 0.33145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.16963, 0.33424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.51453, 0.33744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.8262, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.65183, 0.34387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.66868, 0.34652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.55342, 0.34871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.01651, 0.35074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.84281, 0.35307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.90391, 0.35612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.15217, 0.36016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.60736, 0.36515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.34013, 0.37075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.45209, 0.37635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -20.05439, 0.38125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.25268, 0.38492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.14456, 0.38707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.82682, 0.38777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.40117, 0.38727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.97402, 0.3858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.65739, 0.38349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.57953, 0.38028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.89859, 0.37601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.79514, 0.37061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.42443, 0.36419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84073, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.93829, 0.34957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.45374, 0.34214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.04054, 0.3351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.38099, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.2771, 0.32313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.67664, 0.31836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.63112, 0.31437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.21976, 0.3111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.48939, 0.30848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.44767, 0.30641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.11094, 0.30481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.56848, 0.30354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -2.00763, 0.30252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.66546, 0.30172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.2744, 0.30114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.77529, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.97087, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.10362, 0.30106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.41396, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 2.04012, 0.30214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.98036, 0.3028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.12994, 0.30344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.35844, 0.30403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.57104, 0.30455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.7186, 0.30502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.76763, 0.30545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.67032, 0.30586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.36635, 0.3063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.81392, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.02147, 0.30745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.31438, 0.30701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.29803, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.18029, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.05783, 0.3101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 9.9879, 0.31134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.9774, 0.31264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 9.9945, 0.31396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.99033, 0.31527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.9205, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.7619, 0.31781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.5231, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.24257, 0.32018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.96792, 0.32129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.71762, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.44214, 0.32349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 8.00976, 0.32479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.23114, 0.32641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.91443, 0.32847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.92735, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.24401, 0.33366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.03645, 0.33629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.70401, 0.33849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.47987, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.07041, 0.34101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.21325, 0.34168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.70532, 0.34244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.41487, 0.34368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28389, 0.34561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.32495, 0.34819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.61308, 0.35114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.27226, 0.35397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.45715, 0.35612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.33324, 0.3572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -13.05791, 0.35706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.76311, 0.35586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.5412, 0.35393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.44119, 0.35164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.48453, 0.34921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.70152, 0.34665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.17193, 0.34387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), -0.03919, 0.34073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.52722, 0.33716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.41354, 0.33323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.35679, 0.32904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.59645, 0.32473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.00657, 0.32044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.28409, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.22371, 0.31257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.7585, 0.30919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.92569, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.7909, 0.30376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.38581, 0.30172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.70056, 0.30011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.73214, 0.2989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.54969, 0.29804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.32226, 0.29745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27516, 0.2971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.40946, 0.29699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.68894, 0.2971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.69129, 0.29743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.6592, 0.29796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.83743, 0.29866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.36738, 0.29947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.24588, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.36235, 0.3012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.57881, 0.30203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.79425, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95605, 0.30355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.02824, 0.30424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.95807, 0.30489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.67582, 0.30554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.128, 0.30623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.31438, 0.30701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.80615, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.77929, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.62583, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.45818, 0.3115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.35168, 0.31269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.32594, 0.31389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.35147, 0.31505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37227, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.33286, 0.31716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.20148, 0.3181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.98304, 0.31897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.71441, 0.31977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.43829, 0.32053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.16269, 0.3213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.82652, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.29425, 0.3233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.38769, 0.32478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.94214, 0.32669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.86257, 0.32894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.15983, 0.33128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.04368, 0.33337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.53744, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.06337, 0.33563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.35647, 0.33568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.1758, 0.33529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.32688, 0.33482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.67915, 0.33461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.17741, 0.33484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.84424, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.77244, 0.33645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.1099, 0.33729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -15.04004, 0.33769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.75967, 0.33739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.45351, 0.3363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.26548, 0.33457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.27447, 0.33247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.48855, 0.33029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.86875, 0.3282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.37915, 0.32625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), -0.04205, 0.32438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.03483, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.68602, 0.32044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.76792, 0.31825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.249, 0.31589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.25496, 0.31339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.96438, 0.31078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.13198, 0.30816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04769, 0.30562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.63842, 0.30324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.93234, 0.30107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.9864, 0.29917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.82347, 0.29757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.42272, 0.29629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.76622, 0.29535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.90329, 0.29472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.98, 0.29439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.2016, 0.29433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.25964, 0.2945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.35881, 0.29489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.21481, 0.29546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.06171, 0.29618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.14015, 0.29704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.592, 0.29802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.4173, 0.29908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.50854, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.72792, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.97114, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.18057, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.31462, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.31342, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.09685, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.59834, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.80615, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.41571, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.43121, 0.31205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.28843, 0.31324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.11327, 0.31441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 8.99986, 0.31552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.98274, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.0368, 0.3175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09946, 0.31831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.10319, 0.319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 9.00568, 0.31957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.80575, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.53629, 0.32048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.23377, 0.32089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.89686, 0.32137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.45724, 0.32203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.78211, 0.32301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.71118, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.11148, 0.32617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.92652, 0.32822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.79884, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.92425, 0.33191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.24321, 0.3329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.5185, 0.33306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.51017, 0.33245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -15.99646, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.7959, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79115, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.94546, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.30397, 0.32688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.98028, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.1358, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.95959, 0.32531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.65016, 0.32434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.39352, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.33341, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.54136, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -3.00572, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.65497, 0.31592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.41256, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.73998, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.72674, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.39597, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.59339, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.25382, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45695, 0.30664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40962, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.63906, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49937, 0.30158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.09688, 0.29987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.45491, 0.29824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.62719, 0.29676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.63524, 0.29547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.45556, 0.29441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.06166, 0.29362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.4855, 0.29312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.84784, 0.29292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.32742, 0.293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.07857, 0.29334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.14321, 0.29388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.41249, 0.29459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.66737, 0.29544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.67843, 0.29642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.30573, 0.29754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.45804, 0.29879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.51643, 0.30014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.73919, 0.30156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.02211, 0.303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.30179, 0.30442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.52883, 0.3058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.63492, 0.30712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.52939, 0.30838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.13175, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.41571, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.05049, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.17429, 0.31605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.10566, 0.31738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 8.97836, 0.31856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.90275, 0.31959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.92878, 0.32044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.03785, 0.32112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.16299, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.22555, 0.32197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.17143, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.99035, 0.3223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.70787, 0.32238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.35275, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.91647, 0.32272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.32891, 0.32321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.4668, 0.32407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.19307, 0.32535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.40898, 0.327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.09577, 0.32884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.67046, 0.33055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.7338, 0.33182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.89078, 0.33238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.92072, 0.3321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.60526, 0.33101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.7449, 0.32932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.18235, 0.32731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.82873, 0.32525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.67835, 0.32335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.80314, 0.3217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.33105, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.42144, 0.31905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.24832, 0.31784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.99118, 0.31657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.8222, 0.31518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.88, 0.31368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.23619, 0.31214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.87681, 0.31067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.71935, 0.30934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.33381, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.32899, 0.30722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.21809, 0.3064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.86843, 0.30566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.12764, 0.30495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.91208, 0.3042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.26798, 0.30335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36603, 0.30234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.42867, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.36621, 0.29994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.94458, 0.29865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.32662, 0.29737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.56616, 0.29616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.68952, 0.29506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.67839, 0.29413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50499, 0.29341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.18809, 0.29296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.82322, 0.2928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.55878, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.52508, 0.29332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.75577, 0.29392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.15075, 0.29469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.50916, 0.2956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.61712, 0.29666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.33826, 0.29789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.65522, 0.29931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.35237, 0.3009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.56747, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.88911, 0.3044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.24839, 0.30622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.58723, 0.30802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.82907, 0.30977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.87415, 0.31145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.62894, 0.31307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.05049, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.61791, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.92164, 0.32084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.00313, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 8.99451, 0.32357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.01517, 0.32451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.12761, 0.32519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32129, 0.32561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.52893, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.66454, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.66336, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.50391, 0.32562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.20092, 0.32546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.77359, 0.32537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.20785, 0.32546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.43648, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.35085, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.84035, 0.32784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.84069, 0.32934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.36906, 0.33091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.46892, 0.33227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.50058, 0.33312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.52028, 0.33324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.31752, 0.33254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.69393, 0.33107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.47918, 0.32901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55358, 0.32659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.86991, 0.32406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.45997, 0.32162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.41945, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.88004, 0.31744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.98532, 0.31573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.88138, 0.31422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.71858, 0.31283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.64856, 0.31151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.80281, 0.31021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.25748, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -1.00739, 0.30777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.02579, 0.30671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.94595, 0.30581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.81668, 0.30509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.61394, 0.30452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.22745, 0.30408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.51569, 0.3037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.38774, 0.30332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.8658, 0.30284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.08948, 0.30221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.25537, 0.30139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.52846, 0.30042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.0183, 0.29937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.40186, 0.29828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.6768, 0.29722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.87737, 0.29622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.9962, 0.29533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01071, 0.29463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.93144, 0.29416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.83081, 0.29397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.82575, 0.29408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.01883, 0.29445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.43097, 0.29504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -1.96793, 0.2958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.44662, 0.29672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.66993, 0.2978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.50575, 0.29909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.92571, 0.30061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -0.99015, 0.30238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.20009, 0.30434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.54947, 0.30644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.98443, 0.30863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43869, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.82921, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.05062, 0.31515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 7.99984, 0.31719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.61791, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.04408, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.59377, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.9042, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.09367, 0.32892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.27867, 0.32982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52704, 0.33034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.83584, 0.33055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.1425, 0.33054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.36026, 0.33038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.41799, 0.33013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.28326, 0.32986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.95764, 0.32964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.44877, 0.32953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.73744, 0.32965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.76169, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.42994, 0.33091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.65855, 0.33207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.41621, 0.33342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.24602, 0.3347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.19315, 0.33564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.23202, 0.33598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.14813, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.73569, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.81682, 0.33257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.25776, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.98652, 0.32754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -16.0044, 0.32476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.38035, 0.32206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.22707, 0.31955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.6708, 0.31732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.83183, 0.31538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.82417, 0.31373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.76714, 0.31232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.79024, 0.31108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -3.01646, 0.30996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.52719, 0.30894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.33116, 0.308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.63625, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.47408, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.25444, 0.30595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 2.97354, 0.30558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.54565, 0.30535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.84707, 0.30522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.7884, 0.30509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.37506, 0.30487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.71855, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 1.98861, 0.30382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.33457, 0.30299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.82674, 0.30203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.45188, 0.30101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.15608, 0.29997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.1026, 0.29898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.33006, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51329, 0.29733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.65921, 0.29681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.82039, 0.29655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.08325, 0.29658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.52108, 0.29688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.13849, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.84298, 0.29809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.46612, 0.29894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.82616, 0.29998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.79543, 0.30124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.33561, 0.30279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.48875, 0.30463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.33974, 0.30674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.02185, 0.30905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.5187, 0.3115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07774, 0.31404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61232, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.01652, 0.31914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.184, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.04408, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29469, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.13861, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74588, 0.33271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20908, 0.33411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62733, 0.33501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.06291, 0.33546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.51708, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.93577, 0.33546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.23902, 0.33526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.35599, 0.33504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.24655, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.89912, 0.33484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.30853, 0.33497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.4496, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.26533, 0.33607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.68039, 0.33711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.63611, 0.33837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.13137, 0.33964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.75062, 0.34065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.84425, 0.34111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.93132, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.78301, 0.33979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.19565, 0.33804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.01388, 0.33573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.14516, 0.33306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.56835, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.33179, 0.32734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.53582, 0.32456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.30307, 0.32198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.7497, 0.31967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.97245, 0.31768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -8.05635, 0.316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.09314, 0.31462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.19146, 0.31349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.46425, 0.31254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.996, 0.31173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.19027, 0.31102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.14085, 0.31042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.94223, 0.30994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.66766, 0.30959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.32973, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.86824, 0.30937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.18255, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.19207, 0.30951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.89111, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.36462, 0.30918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.7525, 0.30862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.1836, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.72211, 0.30683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.35825, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.04123, 0.30466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.72432, 0.3036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.38964, 0.30262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.03939, 0.3018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.33285, 0.30118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.76313, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.30946, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.01555, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.86669, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.76732, 0.30188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.55895, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.0724, 0.30347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.1848, 0.30461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.85091, 0.30605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.09858, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -2.99988, 0.30991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.63968, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.09848, 0.31484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.54565, 0.31755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20567, 0.32035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78069, 0.32317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.16873, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29469, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.38883, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.54889, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.49587, 0.33732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.28879, 0.33882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.99693, 0.33979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.66535, 0.34029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.29344, 0.34046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.83644, 0.34047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.22653, 0.34045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.39972, 0.34053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.31318, 0.34076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.9447, 0.3412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.27667, 0.34189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.27687, 0.34288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.8911, 0.34418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.05704, 0.34571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.73709, 0.34732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.95704, 0.34869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.16886, 0.3495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.44227, 0.34945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.61612, 0.34846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.44468, 0.34658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.72701, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.33269, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.21091, 0.33805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.38724, 0.33498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.94885, 0.33204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -14.0184, 0.32928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.72265, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.16768, 0.32451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.43204, 0.32258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.57964, 0.32097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.68134, 0.31969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.82777, 0.31869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.1204, 0.31792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.64297, 0.31734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.57019, 0.31688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.54646, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.35546, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.06576, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.70209, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.22919, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.57273, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.6663, 0.31683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.49757, 0.31689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.12564, 0.31668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.65677, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.1931, 0.31525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.78753, 0.31415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.43219, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.08161, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.68874, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.22778, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.69205, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.07495, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.6453, 0.30733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.50022, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.50383, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.61929, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.74291, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.72103, 0.30811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.39444, 0.30872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.64634, 0.30956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.42941, 0.31073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.7635, 0.31225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.71306, 0.31413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.36059, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.78955, 0.3188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.08112, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.6802, 0.32432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.40303, 0.32723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.99646, 0.33011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.38883, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.39723, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.86698, 0.33949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.1624, 0.34156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.30776, 0.34315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.33653, 0.34428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.26858, 0.345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.09486, 0.34548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.77691, 0.34587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.25977, 0.34635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.48949, 0.34704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.4246, 0.34801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 13.03567, 0.3493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.29446, 0.35096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.16134, 0.35296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.58239, 0.35527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.50429, 0.35772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.90637, 0.36002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.83864, 0.36175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.55347, 0.36248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.03651, 0.36192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.33223, 0.36004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.1785, 0.3571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.38017, 0.35353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.8336, 0.34974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.52666, 0.34604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.52297, 0.3426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.93697, 0.33949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.90388, 0.33671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.5504, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.97516, 0.33214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.2464, 0.33034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.41661, 0.32888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.54378, 0.32775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.70431, 0.32694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.98737, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.47172, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.80186, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.84436, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.70743, 0.32597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.45088, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.10702, 0.32639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.66282, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.07058, 0.32717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.28073, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.27732, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.0942, 0.32743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.80099, 0.32682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.46732, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.12909, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.77732, 0.32324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.37282, 0.32186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.8724, 0.32055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.24786, 0.31936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.48799, 0.31835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.58802, 0.31754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.45957, 0.31697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.66024, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -2.99733, 0.3164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.40856, 0.31629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.77734, 0.31623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.95066, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.778, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.15159, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.02827, 0.31733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.42726, 0.31837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.4111, 0.31981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.06258, 0.32162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.46769, 0.32377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.7089, 0.32618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.13388, 0.32881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.98106, 0.33157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.75643, 0.33436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.39723, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.42072, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.17051, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.78941, 0.3461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.27238, 0.34783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.6196, 0.34923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.82443, 0.3504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.86508, 0.35148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.70405, 0.35262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.29501, 0.35399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.59203, 0.3557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.55539, 0.35786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.15025, 0.3605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.33931, 0.36364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.07545, 0.36722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.30303, 0.37112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.97464, 0.37505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.08403, 0.37855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.70518, 0.381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -1.98285, 0.3818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.7081, 0.38063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16019, 0.3776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.06357, 0.37322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.23329, 0.36819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.59389, 0.36311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.16727, 0.35841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -16.04543, 0.35427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.35911, 0.35075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.24793, 0.34779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.8358, 0.34531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.217, 0.34325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.45679, 0.34159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.60491, 0.3403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.71375, 0.33938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.8496, 0.33881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.08936, 0.33856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.50336, 0.33858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.86635, 0.3388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.01892, 0.33915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 2.98946, 0.33959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.82683, 0.34009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.5661, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.21132, 0.34121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.73794, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.11245, 0.34217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.31639, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.35972, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.27488, 0.34144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.0959, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.83688, 0.33911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.48362, 0.33768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.00193, 0.33626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.35472, 0.33494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51622, 0.33376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.4762, 0.33275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.23614, 0.33193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.19428, 0.33125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.79208, 0.33067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.5068, 0.33011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.24649, 0.3295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.87744, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.24492, 0.32801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.20836, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.67384, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.60963, 0.32664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.04162, 0.32691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.03567, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.67683, 0.32881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.05294, 0.33038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.24606, 0.33228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.33061, 0.33446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.62528, 0.33683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.55981, 0.3393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.42072, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.55419, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.5413, 0.35035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.43582, 0.3524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.21276, 0.35435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.84791, 0.35622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.31315, 0.35811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.57353, 0.36014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.58759, 0.36245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.31059, 0.3652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.69843, 0.36853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.70914, 0.37251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.30061, 0.37721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.42543, 0.38262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 13.02756, 0.38865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.04734, 0.39504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.44124, 0.40132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.21761, 0.40674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.47842, 0.41036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.55649, 0.41133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57016, 0.40929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.21868, 0.40455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.21742, 0.39801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.39738, 0.39076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.71323, 0.38369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.21724, 0.37734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -17.02226, 0.37196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.26763, 0.36755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.09221, 0.36402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.61591, 0.36124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.93101, 0.35907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.10445, 0.35743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.18876, 0.35627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.23569, 0.35555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.30472, 0.35525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.46139, 0.35532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.76561, 0.35572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.74362, 0.35635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.05852, 0.35713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.20076, 0.35799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.20746, 0.35886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.11152, 0.3597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.92665, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.64433, 0.36114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.24262, 0.36161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.70001, 0.36179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.00515, 0.36161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.15653, 0.36105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.15353, 0.36017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 7.98596, 0.35908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.6297, 0.35792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.05135, 0.3568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.21862, 0.35581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.11038, 0.35497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.72223, 0.35424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.06781, 0.35356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.18022, 0.35284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.8827, 0.35195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.0301, 0.35077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.13456, 0.34924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.04176, 0.34737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.59554, 0.34529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.66932, 0.34322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.18986, 0.34138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.14442, 0.33996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.57204, 0.33908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.54589, 0.33876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.1544, 0.33898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.48636, 0.33971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.62217, 0.34086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.63108, 0.34237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.57205, 0.34417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.50423, 0.34616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.55419, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.85191, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 5.03243, 0.36062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.14831, 0.36278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.16436, 0.36514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 11.04282, 0.36776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.74232, 0.37072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.21775, 0.37416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.42112, 0.37821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.30307, 0.38305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.81379, 0.38881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.90225, 0.39562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.51336, 0.40354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.58462, 0.41255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.04595, 0.42249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.82878, 0.43292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.8907, 0.44301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.25703, 0.45153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.06753, 0.45697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40199, 0.45806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.77608, 0.4544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.67283, 0.44675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.8035, 0.43666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -17.02318, 0.4258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.32139, 0.41545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.7804, 0.40634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.53066, 0.39875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.71671, 0.39265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.47503, 0.3879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.92161, 0.38427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.14792, 0.38157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.22408, 0.37966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.20698, 0.37842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.14946, 0.37778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.10602, 0.37766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.13196, 0.37801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.27644, 0.37875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.42721, 0.37976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 1.9682, 0.38094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.35801, 0.38218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.62189, 0.38339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.78579, 0.38451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.86457, 0.3855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.85625, 0.38632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.74373, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.50103, 0.38729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.09947, 0.38741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.51023, 0.38731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.703, 0.38708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.64345, 0.38682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.29272, 0.38664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.61111, 0.38662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.56516, 0.38677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.13605, 0.38701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.32713, 0.38719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.17027, 0.3871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.73138, 0.38648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.88517, 0.3851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.53656, 0.3828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.05145, 0.37957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.25216, 0.37562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -10.98421, 0.37127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.14208, 0.36692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.68142, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.61582, 0.35957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.00266, 0.35695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.92517, 0.35511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.47567, 0.35401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.74312, 0.35358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.8058, 0.35374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.72884, 0.3544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.56528, 0.35549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.64099, 0.35693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.85191, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.30959, 0.3764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.64827, 0.37839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.93998, 0.38092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.14656, 0.38404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.22565, 0.38783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.13048, 0.39241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.8102, 0.39794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.21058, 0.4046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.27418, 0.41259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.93973, 0.42213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.14017, 0.4334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.79971, 0.44653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.83183, 0.46148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.14221, 0.47799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.64309, 0.49527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.28657, 0.51187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.11802, 0.52556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.33236, 0.53375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.71019, 0.53447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.54983, 0.52744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.7571, 0.51433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -17.04655, 0.49789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.31096, 0.48079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.58519, 0.46484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.98644, 0.45101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.66426, 0.43956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.76911, 0.43041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.436, 0.42329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.77793, 0.41789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.88557, 0.41392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.83105, 0.41113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.67387, 0.40933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.46683, 0.40838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.25948, 0.40815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -4.09802, 0.40852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -2.02164, 0.40936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), -0.05756, 0.41056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.78251, 0.41197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.50197, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.11422, 0.41494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.63437, 0.41633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.07073, 0.41759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.41897, 0.41874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.66035, 0.41978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.76337, 0.42077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.68693, 0.42178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.38321, 0.42293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.79942, 0.42432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.87911, 0.42607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.56422, 0.42827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.79934, 0.4309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53881, 0.43385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.75705, 0.43683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.46121, 0.43939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.70485, 0.44095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.59851, 0.4409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.68863, 0.43876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -4.94259, 0.43437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -7.93502, 0.42799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.46192, 0.42023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.37626, 0.41187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.60316, 0.40365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.13629, 0.39614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.02223, 0.38968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.3408, 0.3844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.18714, 0.3803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.65791, 0.3773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.84208, 0.37529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.81596, 0.37414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.64198, 0.37376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.3701, 0.37405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.04111, 0.37494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.30959, 0.3764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.865, 0.40745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.34016, 0.40977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.77865, 0.41311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.14332, 0.41756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.39241, 0.42325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.47889, 0.43036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.35009, 0.43913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.94716, 0.44984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.20402, 0.46281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 19.04518, 0.47841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.38257, 0.49699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.112, 0.51881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.11162, 0.54393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.24736, 0.5719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.39452, 0.60135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.48629, 0.62951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.59135, 0.6521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -1.00953, 0.66429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.81996, 0.66284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.25174, 0.64814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.81695, 0.62406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.25198, 0.59577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.51376, 0.56751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.70203, 0.54188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.97939, 0.51996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.51939, 0.50192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.48096, 0.48746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.99929, 0.47613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.18484, 0.46741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -17.12623, 0.46087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.8947, 0.45611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.54886, 0.45285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.13868, 0.45081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.70791, 0.44979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.29457, 0.4496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.9297, 0.45008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.6356, 0.45104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.5752, 0.45235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.69901, 0.45387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.73775, 0.45551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.69388, 0.45722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.56489, 0.459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.33883, 0.4609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 12.99165, 0.46301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.48668, 0.46549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.77543, 0.46852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.79897, 0.47228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.48936, 0.477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.77107, 0.48284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.5633, 0.4899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.78441, 0.4981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.36068, 0.50715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.24157, 0.51635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.42273, 0.5246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.97375, 0.53046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 3.06018, 0.53241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.05787, 0.5294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.06324, 0.5213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.64725, 0.50904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.5729, 0.49424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.70725, 0.47864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.01747, 0.46363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.54518, 0.45012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.37647, 0.43852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.61726, 0.42895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.37662, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.75653, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.84662, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.72201, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.44372, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.06068, 0.40575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.61288, 0.40611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.865, 0.40745 + 1);
}

TEST(GeoLookupTest, inclination) {
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.61251, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.63087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.66415, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.71295, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.77646, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.85225, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.93538, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.01706, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.08375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.11727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.09624, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.9988, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.80617, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.50674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.10059, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.60397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.05316, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.50677, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04501, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.76486, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.7701, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.15656, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -47.99457, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.31292, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.08972, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.25419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.69929, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.30094, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.93704, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.50141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.91037, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.10292, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.03759, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.68933, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.04905, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.12654, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.95507, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.59471, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.13132, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.66912, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.31693, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.17141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.30252, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.74573, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.50225, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.82906, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.29845, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.89665, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.57116, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.27695, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -70.97698, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.64021, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.23796, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.73984, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.11084, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.31071, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.29671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.03013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.48532, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.65781, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.56612, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.24566, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.73841, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08438, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.3176, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46563, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59244, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.6065, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.6073, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.60644, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.61251, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20757, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.25911, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.29726, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.3439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.3992, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.4628, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.53172, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.59829, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.64884, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.66387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.6195, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.49016, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.25272, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.89257, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.41158, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83685, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.2279, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.67929, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.31616, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.28076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.70993, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.70667, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.31335, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.49707, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.15493, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.13792, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.28344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.44369, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.50196, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.37526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.00699, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.35539, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.38456, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.063, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.3707, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.31193, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.92768, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.30234, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.56016, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.84962, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.31783, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.08307, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.2159, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.73426, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61071, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.78612, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.18443, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.72566, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.33549, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.95081, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.52062, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.00312, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.36071, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.5561, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.55241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.31874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.83873, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.11668, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17616, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05108, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.775, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.86654, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.26352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.57382, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.80573, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.96874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07447, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13673, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17057, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.19036, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20757, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.40154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.41096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.42307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.43644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.44931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.46237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.47889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.5024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.53346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.56689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.59011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.5824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.51509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.35419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.06731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.63583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.07063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.4266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.37779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.31397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.80265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -40.98243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.90642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.52194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.68305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.19145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.48042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -55.97963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.27583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.33092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.11451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.58703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.6954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.38349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.61302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.38609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.76108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.8432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.91235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.24144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.95593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.11129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.64363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.86212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.2463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.6977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.13336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.48807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.71062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.75793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.59235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.18599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.53032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.76677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.21499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.58794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.88197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.09832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.24354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.32968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.3732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.40154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.03322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.01437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.99232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.96081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.91806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.86865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.82145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.78559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.76642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.76198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.75913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.72994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.6312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.41144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.7911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.10586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.60504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.52244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.09161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.48614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.76389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.84256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.52402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.5562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.70035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.77599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.67506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.35043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.78851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -61.97733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.88224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.4381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.56082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.17354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.23678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.77093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.86642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.68185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.42681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.32485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.56465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.26043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.04326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.97378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.10396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.31321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.50107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.59116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.52574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.25814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.98631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.97441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.7617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.41761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.01226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.5947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.31815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.81426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.23447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.56836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.81286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.97142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.05488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.08162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.00845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.87259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.80715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.72703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.62475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.50298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.37328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.25169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.15393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.08998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.0568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.02972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.95766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.77013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.40029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.8199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.3012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.72917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.64277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.32436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -30.97674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.65405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.23702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.47195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.05341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.70604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.23369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.53061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.56398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.33956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.86311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.11081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.01843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.49206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.4353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.52345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.7165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.48892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -64.03316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.58571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.38192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.59955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.31868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.09193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.90878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.83096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.74686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.57368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.2486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.94055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.89616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.6084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.14523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.60081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.06302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.58426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.38734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.92663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.37761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.7278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.97363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.11726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.16867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.14837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.08532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.00845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.10863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.83393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.71801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.58995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.43348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.24575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.0375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.82873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.6434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.50249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.41294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.35352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.26566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.06101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.65188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.63438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.57341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.40974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.36317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.47563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.59102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.40747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.57375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.77892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.80337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.52904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -52.92052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -55.98912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.75207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.20014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.28384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.92109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.02144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.51626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.38276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.65544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.43023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.86801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.19014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.64816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.46476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.77226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.58448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.32489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.97281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.64417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.2549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.02705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.06696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.82981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.34331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.69457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -59.00417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.38128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.88377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.50338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.84027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.41972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.88614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.22921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.44845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.54642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.53243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.42953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.27478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.10863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.21949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.9621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.75491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.58118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.40911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.21073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.97411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.70555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.42572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.16386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.94918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.79593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.68407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.54673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.28032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.06621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.39868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.41014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.44285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.7165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.25689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -22.88391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.26847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.02877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -36.81932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.38408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.57151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.32123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.63291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.52788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.01566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.07635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.66228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.71428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.18277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.31871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.07055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.43202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.60394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.83685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.37517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.38489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.90785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.87104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.13885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.06042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.52481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.89387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.0891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.03329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.68383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.06802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.29088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.50216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.83679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.36069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.05059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.8166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.55084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.17204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.64284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.95831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.14431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.02825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.80222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.51386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.21949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.26339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.86526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.55616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.31835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.10935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.88685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.62637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.32651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -24.00591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.69648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.43229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.23064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.06866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.87022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.52117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.95787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.93354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.30089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.44294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.69551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.26183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.15631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.19958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.06656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.36585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.71961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -35.82164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.46562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.54571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.03562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -50.95563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.33925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.21045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.57537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.42485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.74111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.7188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.41424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.69617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.7502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.82753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.18626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -47.01065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.35535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.15111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.26268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.55523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.92963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.31559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.64181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.81598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.73848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.34733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.66561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.81458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.97453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.30934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.89505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.69252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.5778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.40783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.07978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.55231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.82749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.91864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.83307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.58011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.19074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.7262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.26339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.27243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.28566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.9834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.75013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.52702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.2738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.97862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.65625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.33971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.06524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.84895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.66153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.41816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -7.00141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.31742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.26451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.71379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.22306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.89729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.43249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.65136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.46051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.75198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -11.93362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.62751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.43095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -28.98131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.00508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.33914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -41.92359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.77514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -46.95421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.53614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.58991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.16314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.2725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.03414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.66339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.86632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.81678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.77264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -40.00836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.72198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.97118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.68051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.70856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.9233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.23788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.59562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.92928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.13576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.09404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.72162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -38.03448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.16679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.32732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.70858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.39735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.33903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.3753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.3271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.06886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.55415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.79143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.80182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.59603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.18453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.6044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.93316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.27243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.44358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.71679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.18173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.82694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.59029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.39561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.18451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.93234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.64881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.3673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.12467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.93357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.24247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.49302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.92962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.62573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.56475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.38431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.68475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.14278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.50186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.61212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.44885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 2.11788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.14713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.0361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -20.84108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.08123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.53767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.11579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.82532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.74865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.00729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.72868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.01383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.91172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.41204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.46739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.04491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.18899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -34.06177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.92886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.08197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.73182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.93606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.60894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.59905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.77431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.0595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.41353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.7777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -29.04383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.07453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.76919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.13507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.31366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.53471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -26.01325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.84484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.96203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.27958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.12147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.64915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.87421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.82343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.51061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.94827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.18082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.30328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.44358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.1611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.3058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.68959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.30892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.90379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.04018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.17701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.35296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.56461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.77899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 7.95916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.09537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.2278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.44344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.83899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.4622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.26151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.07084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.63625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.66938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.90355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.13375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.23523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.17094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 11.00205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.90484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), 0.17777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -5.78486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.55926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.77421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.17167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.62671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.13516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.78662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.73146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.14066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.15948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.86631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.25592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.26274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.82341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.95452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.80448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.64085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.76522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.39581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.5895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.25279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.2262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.37691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.63906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.9868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.37408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.69618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.80942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.60221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.07331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.36343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.70941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.33569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.3415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.6521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.34075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.32117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.93989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.20585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.14702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.77895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.11686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.21258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.17688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.1611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.05904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.61764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 9.98842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.15157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.20863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.25158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.33264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.45576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.58992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.69831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.77138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.84655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 20.99973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.3063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.78878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.37896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.91509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.17356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.91731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.93816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 28.07923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.23976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.37767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.5249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.81421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.49737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.92908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.49138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.39917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.52664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.72929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -15.98213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.36289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.02693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.16753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.96063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.50997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.81945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.81425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.40971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.59922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.51362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.41011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.58457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.25196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.46762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.13734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.10122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.22795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.45802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.77756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.15559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.50099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.67819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.57642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.18856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.64502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.17131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.9832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.17632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.67623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.74444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.90001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.66853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.04918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.06491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.73056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.0637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.87834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.97476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.05904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.70577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.58691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.20086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.52716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.62545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.59869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.54743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.53452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.57192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.63265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.68069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.70362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.72961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.81652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.01557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.3279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.67832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.9201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.86663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.33181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.16009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.23711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.48763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.87722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.4294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.25289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.55891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.64784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.86088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.51603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.8573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -1.96845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.91519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.03465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.46482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.39758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.02142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.72318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.74602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.43375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.23645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.15614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.09429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.77991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.01403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.74367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.05507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.09821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 7.99832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.81155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.54534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.21641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.89425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.69185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.70559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 6.94379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.29421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.55979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.55057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.18177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.52036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.10731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.7553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.78614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.21629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 6.03405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.22862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.78183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.63496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.66613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.70577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.41795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.70531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.96017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 28.99058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.89146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.76316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.67401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.64339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.65034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.66098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.65837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.65733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.69421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.79628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.07376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.04609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.71416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.93606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.59993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.62845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.97481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.62447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.60992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 31.03138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 27.06659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.95637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.9669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.34542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.28835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.9269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.31979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.44436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.1938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.39823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.87676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.24398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.15955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.33466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.79997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.47266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.16114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.63504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.72158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.65462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.70336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.63119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.49242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.29379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.04167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.78144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.59472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.55342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.66184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.82881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.89508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.70654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.19397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.41313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.72321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.17729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.98225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.17215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.75035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.7131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.04425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.68875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.53324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.41795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.05047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.6231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.01316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.17708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.14388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 36.99261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.81434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.67623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.6026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.57944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.57656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.57294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.56948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.58124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.61407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.5854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.34189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.78844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.81806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.3534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.34928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.78904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.6852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 41.08843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 38.09815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.86336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.56738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.40102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.53718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.11692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.24447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.97962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.32219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.19927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.4751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.9926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.34942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.18381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.20246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.43583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.82596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.22628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.45484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.37071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.92866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.18222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.23798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.1943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.10305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 29.97362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.80692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.62721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.48423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.42207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.43723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.45734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.36059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.02981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.41267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.55393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.66469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.94877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.53411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.46963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.77359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.4504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.48806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.83932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.40667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.05047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.64694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.20309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.26146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.17023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 42.98792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.78878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.63169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.54163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.51042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.51261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.52495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.5368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.54531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.53896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.48035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.29967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.90314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.1928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.08757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.5366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.52206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 51.05602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.17853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.95902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.49692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.91555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.34807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.74383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.9079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.53606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.06411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.02749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.32656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.45089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.12397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.87062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.73659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.74634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.86225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 36.98053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 37.96745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.71532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.18553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.41481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.48436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.47418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.43129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.36792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.28299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.18534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.09817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.04046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 38.9996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.91712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.70215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.2694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.5823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.6774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.65746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.80763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.20418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.9051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.93979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.31967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.03753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.0559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.29681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.64694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.37021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.47739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.42039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.27491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.07821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.88311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.7341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.65165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.63043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.64931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.68479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.71866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.71067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.60146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.34097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.84695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.03799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.85177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.25761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.25988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.89469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.22424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.33129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.31233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.29193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.46283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.84395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.48896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.44683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.75718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.43518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.45536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.74885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.78928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.4033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.06217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.79047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.60399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.4797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.34959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.12272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.72293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.12013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.33766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.43321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.4674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.47939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.48191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.4731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.45167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.42157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.38237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.31332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.16526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.87042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.36857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.63681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.70708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.61208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.66826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.91988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.42749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.22627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.33202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.74179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.42795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.33244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.37021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.25908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.09961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.92443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.72638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.52394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.34782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.22484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.16649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.16656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.20646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.26346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.3391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.30326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.16146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.8504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.2967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.43121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.20562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.6046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.64941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.39323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.91197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.29379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.62851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.99758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.46654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.08294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.88079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.88885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.13628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.6496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.44112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.49589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.76756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.69408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.23911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.81106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.41794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.06715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.74527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.41169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.01034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.49259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.83787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.0601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.19708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.29054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.3692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.44301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.50847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.55749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.58121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.56585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.48478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.29539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.94692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.39845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.63904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.69921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.64777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.57771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.73217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.09718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.70873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.58427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.72412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.10964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.70099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.6798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.05782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.80684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.59697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.43986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.46095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.51902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.53907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.48646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.31436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.96333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.36763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.46819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.22801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.64381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.74858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.60516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.29442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.90254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.5098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.18214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.9669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.89386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.98114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.24305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.69498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.35185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.22029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.28961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.52807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.32142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.7895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.27447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.77368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.28837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.81128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.32133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.78866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.18667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.50387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.74824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.94194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.10981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.26871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.42272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.56481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.68145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.75527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.76409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.67817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.46056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.07392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.49306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.7179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.78, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.73915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.6717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.0348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.5141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.21491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.14012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.30265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.36048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.42498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.47146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.47134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.38889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.17841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.78465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.14906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.22183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.97618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.41856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.58944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.55493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.39385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.18514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.99808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.88632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.88605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 62.01814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.29352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.71916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.30182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.04749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.95691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.02023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.86001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.24532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.64366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.04736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.45439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.86154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.26064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.63963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 63.98768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.30058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.5829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.84536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.09892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.34877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.59121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.81375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 65.99744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.1188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.15063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.06254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.82358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.40831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.80539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.02501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.10122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.08782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.04921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.74271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.29386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.19202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.15386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.16158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.1946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.23006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.24261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.20271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.07433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.81316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.36789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.68662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.7283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.47588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.94409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.17779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.2419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.20872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.14703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.11487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.15598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.29948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.56206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.95197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.47304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.12721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.91466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.83179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.86855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.49474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.79519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.1101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.43113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.75548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.08271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.41216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.74233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.07194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.40144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.73332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.0706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.4139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.75848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.09251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.39705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.64744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.81514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.86992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.78253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.52866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.09427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.48077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.70792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.81278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.84471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.85827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.27491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.18737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.87873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.72901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.80091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.47046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.23276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.07437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.97931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.92919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.90351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.87957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.8318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.73021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.53858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.21359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.70692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.97214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.97626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.71138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.19964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.48835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.6387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.71419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.7724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.86054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 72.01388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.25627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.05832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.62795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.3107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.10387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 69.00179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.06955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.20917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.39629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.61527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.85458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.10767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.3726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.65062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.94461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.25785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.59342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.9537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.33959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.7493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.17673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.60995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.03044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.41322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.72812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.94218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.02302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.94333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.6857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.24687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.63977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.89248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.04451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.22928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.82706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.2292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.75941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.42451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.22721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.16734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.7332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.39147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.88205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.47021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.14574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.89623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.70709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.56173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.44141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.32494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.18764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.99993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.72585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.32267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.74384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.94703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.90631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.62256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.12479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.46158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.6889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.86049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 77.02263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.21222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.45681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.77544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.18013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.67737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.26958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.9561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.73375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.72367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.87098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.04713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.24823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.47362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.72528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.0069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.32274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.67656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.07053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.50413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.97286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.46716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.97134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.46295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.91301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.2872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.5488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.66348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.60548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.3634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.94324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.36743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.07585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.25894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.47564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.75355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.11385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.5719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.13808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.81888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.61796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.53691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57577, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength) {
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57372.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55073.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53922.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52775.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51630.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50481.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49317.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48122.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46877.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45567.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44178.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42704.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39527.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37861.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36185.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34537.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32962.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31505.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30203.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28170.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27452.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26915.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26041, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25868, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25706.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25544.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25383.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25129.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25095.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25176.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25421.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25876.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30421.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36606, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39018.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41523.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44074.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46624.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49134.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51568.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53893.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56078.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58092.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59906.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61495.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62838.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63925.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64752.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65650.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65749.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65638.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65338.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64870.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64252.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63506.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62650.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61704.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60686.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59615.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56335.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55145.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53947.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52750, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51558.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50377.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49207.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48044, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46876, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45688, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44460.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43173.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41810.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40361.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37214.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35547.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33857.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32189.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30592.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27830.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26755.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25919, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25320.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24935.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24719, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24618.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24579.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24558.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24370.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24257.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24144.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24070.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24213, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24556.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25162.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26078.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27330.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28921.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33011.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35412, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 37967, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40611, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45926.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48499.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 50964.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53291.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55450.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57414.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59155.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60653.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61892.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62866.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63578.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64037.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64260.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64265.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64070, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63693.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63154.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62470.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61658.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60737.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59725.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58641.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56335.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53979.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52761.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51537.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50317.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49105.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47906.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46723.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45553.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44390.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43221.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 42027.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40789, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39488.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38111.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36652.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35114.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33513.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31877.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30249.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28686, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27250.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 26006.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 25003.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24270.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23806, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23578.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23533.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23727.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23856.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23957.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 24016.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 24027, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23993.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23928.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23856.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23816, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23868, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24086.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24551.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25334.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26482.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28011.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29905.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37216.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39939.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42673.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45353.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47928.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50361.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52622.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54686.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56528.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58127.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59467.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60542.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61919.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62251.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62371.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61035.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60318, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59474.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58520.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57473.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56353.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55182.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53979.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50246, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49023.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47805, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46594.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45396.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44214.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43051.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41903.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40762.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39615.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38445.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37235, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35968.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34633, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31746.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30222.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28692.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27213.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25857.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24696.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23788.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23168.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22749, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22847.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23058.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23575.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23809.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 24005.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24158.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24264.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24318.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24326.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24313.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24329.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24451, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24770.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25379.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26353, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27730.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29512.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31656.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34090.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36721.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42181.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44837.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47360.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49710.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51856.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55444.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58835, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59449, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59842.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60039.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59918.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59618.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59169.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58577.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 57001.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56041.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54986.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53857.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52676.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48814, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47617, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46422.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45233.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44051.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42878.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40581.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38368.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37283.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36198.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35099.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33970.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32791.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31550.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30239.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28874.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26140.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24903.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23056.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22546.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22323.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22346.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22860.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23218, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23584.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23943.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24289, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24615.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24908.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25145.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25308.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25450.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25529.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25730.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26157.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26909.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28055.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29621.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31585.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33881.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36408.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39054.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41708.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46701, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48927.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50925.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52668.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54132.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56800.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57402.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57465.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57398.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55824.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53321.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52281.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51167.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 50003.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48814, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46047.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44903.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43766.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42637.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41514.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40397.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39293.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38209.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37150.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35118.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34137.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33167.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32192.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31190.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30137.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 29021.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27845.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26640, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25458.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23454.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22770.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22356.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22212.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22567.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23824.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24299.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24795, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25303.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25800, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26246.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26602.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26988.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27079.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27205.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27988.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28853.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30126.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31814.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33867.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36189, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38658.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41154.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43575.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45846.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47916.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49744.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51297.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52545.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53474, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54098, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54461.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54627.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54658.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54595.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54452.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54218.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53875.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53411.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52823.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52118.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51303.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50388.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49384, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48309.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47188.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46047.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42167.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40082.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39052.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38028.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 37015.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36022.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35057.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34127.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33234.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32379.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31553.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30743.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29071.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28161.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27194.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26191.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25200.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24281.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23502.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22921.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22575.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22470.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22582.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23268.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23745.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24274.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24852.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25479, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26819.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27451.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27986.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28639, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28778.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28870.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 29012.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29318.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29902, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30851.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32206.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33943.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 35977.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38189.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40452.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42660.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44733.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46615.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48259.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49619.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51740.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51869, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51828.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51698.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51321, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51055.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50700, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50232.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49650.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48961.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48176.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47304.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46354.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45342.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44292, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40462.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39516.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38588, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37674.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35875, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34992.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34131.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33300.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32507.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31756.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31050.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30384.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29746.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29113.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28458.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27758.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 27006.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25421.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24670.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 24019, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23516.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23086.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23172.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23430.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23826.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24325.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24907, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25559.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26278.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27049.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27837, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28589.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29247.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29763, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30113.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30311.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30403.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30469, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30614.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30958.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32631.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34027.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35730.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37629.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39603.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41546.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43381.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45049.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46496.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47667.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48515.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49199.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49136.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48930.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48671.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48412.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48152.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47857.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47485.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47011, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45757.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45005.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44184.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43303.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42375.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41421.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40462.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37908, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37103.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36321.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35558, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34808.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34071, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33351.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32658.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31998.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31377.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30799.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30265.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29773.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28866.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27913.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27370.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26783.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26171.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25569, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 25016.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24557.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24068.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24252.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24597.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25079.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25672.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26356.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27112.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27917.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28738.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29528.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30806.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31220.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31471.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31586, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31624.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31676.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31856.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32278.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33021, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35475.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37044.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38701, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40350.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41920, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44596.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46267.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46615.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46653.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46460, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46141.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45792.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45464.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45153.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44820.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43926.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43341, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41960.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41196, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39569, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38733.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37908, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35100, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33888.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33309.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32749.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31714.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31252.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30830.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30449.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30107.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29801.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29524.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29262.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28993, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28691.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28339.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27929.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27468.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26976.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26485.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 26031.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25654.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25391.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25338.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25579.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25987.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26536, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27190.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27918.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28689.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29471.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30224.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30909.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31487.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31928.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32222, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32377.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32435, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32468.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32576.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33414.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34247.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36589.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37933.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39285, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40583.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42815.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44175.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44413.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44367.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44107.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43732.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43329.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42943.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42572.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42181.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41731, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41201.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40596.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39938.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39247.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38539.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37824.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37112.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36414.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34124.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33653.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33210.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32788.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 32006.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31663.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31365.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31115, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30908.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30738.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30490.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30401.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30322.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30232.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30104.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29912.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29640.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29284.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28858.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28387, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27904.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27450.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26805.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26706.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26795.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27073.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27513, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28074.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28714.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29397.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30089.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30763.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32386.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32714.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32924.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33042.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33248.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33504.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33955.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34622.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35480.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36475.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37541.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38621, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39667.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40636.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41480.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42141.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42569.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42736.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42656.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42383.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 41994.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41559.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41116.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40666, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39656.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39063.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38419.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37749.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37075.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36416, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35783.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35187, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34633.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34124.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33147.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32841.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32565.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32308.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32072.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31869.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31713.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31615.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31575.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31586.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31798, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31899, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31998.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32074.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32095.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 32030.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31853.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31558.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31154.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30665.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30126.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29066.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28648.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28377.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28291.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28401.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28685.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29105.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29615, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30176.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30759.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31343, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31903.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32419.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32867.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33505.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33886.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34396.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34832.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35410.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37747.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38601.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39436.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40214.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40892.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41423.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41763.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41890.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41808.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41553, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41172.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40712.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40200.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39646.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39047.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38400, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37711.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37000.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36292.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35613.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34983.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34417.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33923.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33502.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33147.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32830.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32663, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32532.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32424.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32298.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32316.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32406.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32569.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32791.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33052, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33334.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33624.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33913.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34184.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34411.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34559.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34591.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34477.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34207.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33792.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33259.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32643.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31991.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30793, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30364, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30111, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30049.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30165.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30424.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30786.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31218.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31696.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32200.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32711.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33207.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33664.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34065.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34408.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34708.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 34999.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35322.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35710.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36180.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36728.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37336.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 37988.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38667.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39356.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40035.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40672.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41230.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41951.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42061.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 41995.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41766.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41395.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40903.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39630.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38882.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37268.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36456.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34964.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34332.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33801.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33060.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32830.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33133.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33065.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33048.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33065.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33116.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33219.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33396.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 34008.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34424.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34884.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35364.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35846, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36312.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36743.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37107.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37364, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37471.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37400.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37137.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36695.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36103.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35404.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34650.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33899.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33215.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32658.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32268.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32062.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32028.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32139, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32363.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32677.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33064.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33508.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33989.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34480.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34956.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35397.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35802.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36188.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36583.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37012.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37489.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38008.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38555.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39116.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39684.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40263, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40850, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41434.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 41989.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42481.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43135.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43251.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43208.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43003.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42632.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42099.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41414.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40599.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39690, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38726.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37753.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35932.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35146.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34477.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33544.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33282.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33133.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33999.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33986.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34045.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34159.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34326.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34560.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34882.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35815.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36404.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37695.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38346.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38970.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 40023.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40372.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40544.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40507, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40247.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39778.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39131.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37509.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36663, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35882.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35227.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34421, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34270.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34588.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34900.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35297.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35757.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36744.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37218.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37670.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38119, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38586.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39089.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39628.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40188.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40746.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41291.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41826.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42362.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42908.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43458.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 43989.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44468, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44860.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45137.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45279.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45265.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45078.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44700.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44121.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43347.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42405.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41341.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40213.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39079.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 37992.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 36992.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36109.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35369.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34788.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34373.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34117.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33999.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35376.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35477.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35661.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35925, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36729.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37287.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37944.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38677.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39457.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40254.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41040.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 43043.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43465.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43689.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43682.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42944.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42258.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41425.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39591.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38738.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 38010.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37443.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37046.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36807.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36706.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36726.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36861.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37109.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37460.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37895.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38379.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38879.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39370, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39848.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40328.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40830.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41367.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41935.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42515.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43088.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43643.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44187.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44734, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45293.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45861.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46417.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46928.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47359, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47678.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47880.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47709.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47322.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46703.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45856.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44811.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43621.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42354.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41080.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39858.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38737.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37750.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36922.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36270.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35801.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35510.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37233.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37213.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37327, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37557.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37897.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38349.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38915.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39591.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40364.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41208.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42093.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42989.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44695.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45444.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46074, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46539.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46797.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46814.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46574.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45384.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44522.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43569.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42604.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41701.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40918.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40290.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39823.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39509, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39329.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39272.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39336, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39520, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39818.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40211.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40667.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41634.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42597.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43102.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44208.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44795.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 45971.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46559.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47158.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47776.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49022.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49595.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50087.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50464.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50695.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50748.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50592.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50199.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49553.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48658.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47548.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46278.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44919.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43547.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42227.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41011.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39935.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38296.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37758.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37408.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37233.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39533.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39482, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39590.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39846.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40241.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40768.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41420, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42183.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43036.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43951.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44897.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45843, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46759.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47617.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48386.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 49028, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49501.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49766.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49562.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49085.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48389.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47528.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46570.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45590.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44660.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43837.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43154.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42623, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42235.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41981.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41851, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41843.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41958.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42191.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42523.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42926.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43366.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43819.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44275.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44740.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45227.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45747.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46304.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46893.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47506.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48139.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48794.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49475.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50894.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51593.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52242.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53240, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53516.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53598.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53456.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53064.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52408.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51499.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50368.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49072.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47682.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46273, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44909.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43645, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42517.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40765.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40167.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39758, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39533.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42226.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42146.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42506.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42928.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43495.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44191.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44997.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45883.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46820, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47774.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48717.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49620.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50455.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51193.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51802, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52244.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52487.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52502.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51815.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51145.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49379.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48414.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47483.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46637.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45912, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45320.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44863.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44535.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44286.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44440.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44694, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45022.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45397.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45798, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46213.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46646, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47106.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47605.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48748.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50081.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50814.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51585.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52384.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53189.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 53971.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54694, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55801.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56113.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56218.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56089.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55706.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54172, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53067.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51804.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50447.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49066.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47724.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46471.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45345, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44370, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43562.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42933.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42487.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42226.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45116.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45198.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45452.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45867.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46430.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47908.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49669.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50576.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51462, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52299.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53062.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53726.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54640.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54834.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54822.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54593.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53522.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52741.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51861.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50940.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50034.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49190.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48441.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47805, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47288.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46891.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46455.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46412.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46643.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46884, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47180.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47516.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47882.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48713.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49199.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49744.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50355.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51034.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51779, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52582.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53433.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54311.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55190.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56037, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56811.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57476, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 57991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58324.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58444.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58331.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57970, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57362.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56525.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55493.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53053.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51765.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50509.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48261.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46548.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45930.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45482.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48314, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48218, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48284.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48509.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48884.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49394.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 50018.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50731.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51503.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52306.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53109.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54611.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55263.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55818.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56253.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56547, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56677.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56395.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55980.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55403.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54693.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53890.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53041.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52191.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51378.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50634.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49979.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49425.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48977, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48638, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48287.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48268.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48341.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48493.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 48980.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49296.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49659.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50076.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50555.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51107.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51737.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52446.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53231.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54082.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 54980.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55903.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56819.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57693.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58487.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59162.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59685.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60024.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60155.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60063.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59741.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59196.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58449.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57532, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56489.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55371.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53114.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52062.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51104.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50263.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49553.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48987, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48571.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48314, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51301.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51209.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51253.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51431.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51734.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52660.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53874.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54528, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55805.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56384.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57322.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57643.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57843.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57907.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57824.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57591, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57211.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56698.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56075.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55371.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54619.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53854.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53107.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52405.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51767.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51207.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50736.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50359.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50078.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49893.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49802.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49798.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49874, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50020.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50232.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50842, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51245.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51722.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52917.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53638.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54434.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55292.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56193.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57110.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58012.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59636.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60289.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60794.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61126.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61206.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60943.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60488.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59863.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59096, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57291.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56336.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54512.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 52985.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52378.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51890.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51529.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51301.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53916.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53824.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53836.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53951.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54161.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54822.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55243.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55700.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56175.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56648.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57100, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57513.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57872.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58367.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58480.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58147.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57812.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56851.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56261.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55627.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54974.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54326.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53702.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53121.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52597.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52141.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51760.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51459.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51240.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51104.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51049.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51071.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51337.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51577.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51890.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52277.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52743.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53288.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53912.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54611.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55376.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56192.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57039.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57894.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58728.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59511.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60812.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61590.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61740, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61720.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61534.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60712.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59443.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58715.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57967.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57229.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56526.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55879.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55304, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54812.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54413.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54113.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53916.3, 145 + 500);
}