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.22632, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.43125, 0.39369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.45948, 0.38791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.35965, 0.38308 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.17413, 0.37904 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.94218, 0.37566 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.70103, 0.37282 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.48387, 0.37042 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.31479, 0.3684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.20241, 0.36666 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.1344, 0.36518 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.07459, 0.36393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96382, 0.36293 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72417, 0.36222 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.26595, 0.36189 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.49674, 0.36206 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.33155, 0.36289 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.70302, 0.36451 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.57105, 0.36709 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.93084, 0.37074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.81904, 0.37556 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.3166, 0.38159 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.54671, 0.38884 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.66556, 0.39729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.84542, 0.40694 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.74804, 0.4178 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.97893, 0.42987 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.75956, 0.4431 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.05999, 0.45733 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.9081, 0.47225 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.38211, 0.4873 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.59895, 0.50169 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.70193, 0.51445 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.84874, 0.52446 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.19785, 0.53063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.89007, 0.53212 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.02515, 0.52859 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64, 0.52027 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.69905, 0.50801 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.10306, 0.49306 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.71351, 0.47684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.38188, 0.46071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -40.97281, 0.44576 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.37557, 0.43276 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.50516, 0.42217 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.29733, 0.41421 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.7019, 0.40895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.67675, 0.40639 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.18302, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.18072, 0.40939 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.62356, 0.41509 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.45223, 0.42383 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.58685, 0.43591 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92077, 0.45168 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.32019, 0.47137 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.63641, 0.49485 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.73928, 0.52108 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.57814, 0.54773 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.2617, 0.57098 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.11535, 0.58641 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.65199, 0.59083 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.43631, 0.58389 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.07839, 0.56802 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.63511, 0.54687 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.15725, 0.52376 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.68449, 0.50101 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.3122, 0.47994 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.15328, 0.46114 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.32, 0.44477 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.91772, 0.43075 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.04369, 0.41889 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.78674, 0.40894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.22632, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.308, 0.37409 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.61858, 0.37022 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.7617, 0.36698 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.77697, 0.3643 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.69717, 0.36207 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.55315, 0.36026 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.37774, 0.35881 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.20589, 0.35769 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.07013, 0.35687 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 25.99328, 0.35635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.98076, 0.35609 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01472, 0.3561 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05072, 0.35638 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.0171, 0.35695 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.81778, 0.35787 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.33936, 0.35922 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.46325, 0.36114 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.08147, 0.36382 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.11386, 0.36744 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.52398, 0.37219 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.33193, 0.37817 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.62246, 0.38544 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.54518, 0.39395 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.30267, 0.40366 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.87557, 0.41456 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.76917, 0.42671 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.20273, 0.44025 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.07038, 0.4553 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.34321, 0.47191 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.06047, 0.48998 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.31061, 0.50912 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.21113, 0.52865 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.89601, 0.54748 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.51455, 0.56406 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.23585, 0.57648 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.24342, 0.58283 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.70682, 0.58173 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.73427, 0.57286 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.33183, 0.55714 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.39668, 0.5365 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.75018, 0.51338 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.18963, 0.49012 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.53151, 0.46857 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.63165, 0.44991 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.38497, 0.43476 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.71501, 0.42327 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.56255, 0.41536 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.87734, 0.41079 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.6133, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.72525, 0.41066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.16542, 0.41461 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.8792, 0.42093 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.8034, 0.42936 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.87329, 0.43948 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.04506, 0.45055 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.33483, 0.46139 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.86013, 0.47048 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.85408, 0.47636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.62665, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.48431, 0.47591 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.65787, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.27896, 0.4626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.59834, 0.45349 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.96181, 0.44372 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.81514, 0.43376 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.16672, 0.42396 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.02767, 0.41455 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.41321, 0.40575 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.34507, 0.39769 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.85415, 0.39047 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 24.98228, 0.38415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.78119, 0.3787 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.308, 0.37409 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.51027, 0.35465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.85602, 0.35262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.0537, 0.35098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.13675, 0.34967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.12769, 0.34864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.04478, 0.34786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.90952, 0.34732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.75012, 0.34703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.59904, 0.347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.48639, 0.34726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43201, 0.34781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43825, 0.34868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.4832, 0.34988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.51416, 0.3514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.44286, 0.35326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.14672, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.47999, 0.35828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.29477, 0.36175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.46762, 0.36613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.92583, 0.37164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.66921, 0.37841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.78497, 0.38643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.45072, 0.39561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.08165, 0.40582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.52493, 0.41703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.61034, 0.42937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.13757, 0.4431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.00312, 0.45855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.20056, 0.47597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.79731, 0.49549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.89861, 0.51703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.61346, 0.54027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -21.03793, 0.56444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.266, 0.58804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.42263, 0.60868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.69365, 0.62321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.31575, 0.62853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.50857, 0.62279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.38054, 0.60625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.8747, 0.58125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.7938, 0.55143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.87968, 0.52053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.89011, 0.49158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.637, 0.46645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -41.9876, 0.446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.84869, 0.43036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.15055, 0.41921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.83768, 0.41205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.86562, 0.40829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.20006, 0.40732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.8151, 0.40855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.69088, 0.41138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.81637, 0.41513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.20564, 0.41903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.92941, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.14619, 0.42367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.10168, 0.42296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.07603, 0.42002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.30161, 0.41545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.90468, 0.41005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.90421, 0.40449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.74543, 0.39915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.10308, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.2074, 0.38934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.06793, 0.38469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.67268, 0.38013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 14.99993, 0.37566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.02704, 0.37134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.73631, 0.36723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.12071, 0.36344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.18959, 0.36005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 21.97145, 0.35712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.51027, 0.35465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.46112, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.80007, 0.33903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.01391, 0.33842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.13465, 0.33802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.17729, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.14725, 0.33776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.05139, 0.33787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.90536, 0.33816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.73406, 0.33867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56698, 0.33943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.43181, 0.34048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.3478, 0.34187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.31708, 0.3436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.31226, 0.34567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.26276, 0.34807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.04743, 0.35083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.50231, 0.35403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.4459, 0.35787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.71585, 0.36259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.20679, 0.36841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.90202, 0.37542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.89503, 0.38357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.39386, 0.39266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.30216, 0.40252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.85749, 0.41311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -11.97234, 0.42463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.44282, 0.4375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.18721, 0.45214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.23506, 0.46892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.68862, 0.48804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.67083, 0.50965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.27767, 0.53374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.55556, 0.56009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.51902, 0.58777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.2073, 0.61467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.75425, 0.63722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.42088, 0.65089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.5393, 0.65183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.37389, 0.63865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -24.99092, 0.61318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.23599, 0.57968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.82196, 0.5432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.44488, 0.50808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.85496, 0.47714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.87137, 0.45171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.36792, 0.43199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.25624, 0.4175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.4773, 0.40747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -38.99963, 0.40102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.81816, 0.39726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.94885, 0.39538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.42092, 0.3946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.27677, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.58975, 0.39348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.495, 0.3918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.20558, 0.3888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.98167, 0.38451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.05478, 0.37941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.55381, 0.37418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.48187, 0.36939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.75038, 0.36535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.75953, 0.36207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14293, 0.35937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44444, 0.35703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.66095, 0.35484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.7611, 0.35269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.70476, 0.35054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.45279, 0.34839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.96998, 0.34631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.2289, 0.34435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.2182, 0.34259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.95026, 0.3411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.46112, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.96866, 0.32861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.27172, 0.32844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.47119, 0.32849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.60262, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.67786, 0.32908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.69218, 0.32956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.6381, 0.33017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.5164, 0.3309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.33974, 0.3318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.13067, 0.33291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.91811, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.73268, 0.33592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.59739, 0.33788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.50995, 0.34014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.42004, 0.34268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.213, 0.34552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.71372, 0.34875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.71598, 0.35256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 13.02891, 0.35719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.52572, 0.36285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.18392, 0.36957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.111, 0.37723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.45339, 0.38555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.17165, 0.39433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.67965, 0.40359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.67082, 0.41365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.95707, 0.425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.4861, 0.43812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.31903, 0.45332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.58162, 0.47074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.40325, 0.49045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.86209, 0.51252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.95978, 0.53697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.64319, 0.56344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.87303, 0.59055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.71597, 0.61535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.41232, 0.63339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.35488, 0.63998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.94994, 0.63237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.43348, 0.61111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.77577, 0.57977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.72993, 0.54344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -25.9575, 0.50699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.13505, 0.47395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.00273, 0.44617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.37107, 0.42416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.11451, 0.40751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.16616, 0.39538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51379, 0.38678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.19049, 0.38076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.25623, 0.37647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.77747, 0.37321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.82163, 0.37038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.47825, 0.36747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.89459, 0.36406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.28788, 0.36 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.90257, 0.35545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.92727, 0.35084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.42742, 0.34664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.3377, 0.34319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.48907, 0.34058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.2106, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.93661, 0.3374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.70433, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.49038, 0.3354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24243, 0.33444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.90666, 0.33346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.43726, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.79314, 0.33144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.9366, 0.33049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.84205, 0.32966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.50927, 0.32902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.96866, 0.32861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.93089, 0.32004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.17684, 0.32031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.33569, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.45058, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.53495, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.57823, 0.32306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.56141, 0.32403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47113, 0.32511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30632, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.07924, 0.32766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.8153, 0.3292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.55116, 0.33096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.3252, 0.33295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.15504, 0.33514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 14.00663, 0.33753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.77057, 0.34014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.26416, 0.3431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.26567, 0.34659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.56953, 0.35083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 8.04333, 0.35599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.67301, 0.36203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.58837, 0.36872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -3.94201, 0.37578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.55822, 0.383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.89207, 0.39052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.6524, 0.39874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.67618, 0.40822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.93362, 0.41939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.49835, 0.43246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.4971, 0.44739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.04966, 0.46399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.21557, 0.4821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.97122, 0.50162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.23546, 0.52233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.94087, 0.54342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.1256, 0.56295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -19.00392, 0.57778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.96273, 0.58436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.45402, 0.58017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.82592, 0.565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.19603, 0.54093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.43639, 0.51156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.25014, 0.48074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.27485, 0.45166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.16517, 0.42633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.64287, 0.40559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.52094, 0.38936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.71013, 0.37705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.21022, 0.36784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.08483, 0.36095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.42358, 0.35569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.30761, 0.35152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.80211, 0.34798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.98594, 0.34471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.99695, 0.34138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.04649, 0.33787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.37107, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.14205, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.3956, 0.32797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.02849, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.14478, 0.32426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.30994, 0.32336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.58557, 0.32286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.99741, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.49843, 0.32227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01389, 0.32196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.478, 0.3216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.8431, 0.3212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.06866, 0.32079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.11257, 0.32042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.93892, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.53655, 0.31999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.93089, 0.32004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.28954, 0.31381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.46461, 0.31434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.56174, 0.31506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.63469, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.70279, 0.31699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.75423, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.76228, 0.31937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70193, 0.32068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55932, 0.32208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.33594, 0.32359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.05173, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.74556, 0.32697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.46508, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.23974, 0.33083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.04345, 0.33291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.76696, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.2214, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.17868, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.43341, 0.34448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.86409, 0.34897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.4784, 0.3541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.56675, 0.35959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -5.98165, 0.36512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.4031, 0.37058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.48024, 0.37617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -17.94961, 0.38238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.67051, 0.38974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.61975, 0.39865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.86138, 0.40919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.50359, 0.42114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.64909, 0.43403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.35118, 0.44738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.59631, 0.4608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.32956, 0.47398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.51716, 0.48642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.21788, 0.49715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.62813, 0.50468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -13.07283, 0.50727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.93612, 0.50365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.55742, 0.49351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.13682, 0.47773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.68396, 0.45811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.02032, 0.4368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.82788, 0.41585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.72829, 0.39677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.36946, 0.38043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.49427, 0.36707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.97388, 0.3565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.80138, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.05171, 0.34187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.82449, 0.33685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.19776, 0.33288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.22096, 0.32963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.95352, 0.32683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.51919, 0.32422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.12432, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -3.00658, 0.31922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33749, 0.31702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.14455, 0.31524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.6962, 0.314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.39818, 0.3133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.17056, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.13955, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.31918, 0.31319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.63886, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 7.00164, 0.31339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33068, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.57831, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.70722, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.6737, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.43351, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.96533, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.28954, 0.31381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.0036, 0.30967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.10317, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.12548, 0.31123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.13716, 0.31228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.16712, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.20642, 0.31476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.22423, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18644, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.06825, 0.31906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.86175, 0.3206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.58182, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.26762, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.97055, 0.32554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.72304, 0.32725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.49749, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.17909, 0.33085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.57452, 0.333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.45863, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.64013, 0.33883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 4.02226, 0.34264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.6431, 0.34683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.31451, 0.35106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.55174, 0.35506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.71935, 0.35878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.49608, 0.36249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.64661, 0.36668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.04203, 0.37184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.65048, 0.37829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51333, 0.38605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.71508, 0.39476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.34934, 0.40384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.48766, 0.41257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.16584, 0.42039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.39988, 0.42694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.2246, 0.43203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.73125, 0.43547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -12.08257, 0.43696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.50133, 0.43608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.24312, 0.43243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.56192, 0.4258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.66601, 0.41639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66211, 0.40482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.50413, 0.39204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -6.97787, 0.37901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.74378, 0.3666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.42872, 0.35542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.72756, 0.34581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.4697, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.62658, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.26587, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.48105, 0.32191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.33651, 0.31859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.86108, 0.31594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.0927, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.1391, 0.31194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.19967, 0.31028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.51429, 0.30878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26112, 0.30751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.53004, 0.30659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.99235, 0.30607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.35848, 0.30593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.8566, 0.3061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.61985, 0.30647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.65269, 0.3069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.86427, 0.30731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.13815, 0.30765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38738, 0.30793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.56409, 0.30816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.63396, 0.30837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.552, 0.30857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.26617, 0.30882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.7451, 0.30917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.0036, 0.30967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.03235, 0.30745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.06344, 0.30825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.00911, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.95055, 0.31033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.92952, 0.31158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.94355, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.96042, 0.31432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93849, 0.31576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.84322, 0.31721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.65886, 0.31867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.39663, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.09549, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.80639, 0.32301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.55724, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.31138, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.94517, 0.32737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.26428, 0.3292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.05572, 0.33149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.1536, 0.33428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.4949, 0.33749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.84973, 0.34082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.67841, 0.34393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.69647, 0.34657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.58008, 0.34876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.03976, 0.35079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.86075, 0.35312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.91515, 0.35619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.15588, 0.36024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.60339, 0.36524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.32905, 0.37085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.43499, 0.37645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -20.03255, 0.38136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.2272, 0.38501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.11639, 0.38716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.79694, 0.38785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.37086, 0.38733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.94478, 0.38586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.63068, 0.38354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.55664, 0.38032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.88066, 0.37603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.78317, 0.37061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.41903, 0.36418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84161, 0.35702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.94396, 0.34953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.46179, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.04833, 0.33506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.38648, 0.32867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.27926, 0.32308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.67537, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.62688, 0.31434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.21323, 0.31107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.48134, 0.30845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.43901, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.10273, 0.30478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.56182, 0.30352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -2.0034, 0.30251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.66414, 0.3017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.27273, 0.30112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.77076, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.9637, 0.3008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.09418, 0.30105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.40293, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 2.02865, 0.30214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.96989, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.12177, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.35334, 0.30403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.56914, 0.30456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.71963, 0.30502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.77125, 0.30545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.67631, 0.30587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.37449, 0.3063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.82379, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.03235, 0.30745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.32516, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.30886, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.19016, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.06599, 0.3101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 9.99394, 0.31134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.98122, 0.31265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 9.99618, 0.31397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.99009, 0.31528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.91849, 0.31657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.75815, 0.31782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.51746, 0.31903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.23483, 0.3202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.95807, 0.32131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.70599, 0.32239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.42938, 0.32352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.99644, 0.32482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.21734, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.89955, 0.3285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.91037, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.22406, 0.3337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.05949, 0.33633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.72921, 0.33853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.50547, 0.34008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.09426, 0.34105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.23331, 0.34171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.71984, 0.34247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.42252, 0.34372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28387, 0.34566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.31719, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.59833, 0.3512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.25192, 0.35402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.43294, 0.35618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.30675, 0.35725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -13.03042, 0.3571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.73564, 0.35589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.51463, 0.35396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.4162, 0.35167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.46159, 0.34923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.68099, 0.34667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.1544, 0.34388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), -0.02558, 0.34073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.53584, 0.33716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.41667, 0.33322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.35852, 0.32902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.60121, 0.3247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.01196, 0.32041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.28804, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.22508, 0.31254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.75715, 0.30916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.9221, 0.30622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.78574, 0.30373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.37974, 0.30169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.69426, 0.30009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.72636, 0.29888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.54525, 0.29802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.31985, 0.29743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27523, 0.29709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.4067, 0.29698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.68343, 0.29709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.68308, 0.29743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.64856, 0.29796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.82505, 0.29865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.35449, 0.29946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.23403, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.35295, 0.3012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.57269, 0.30204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.79153, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95643, 0.30356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.03136, 0.30424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.96369, 0.30489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.68372, 0.30554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.13772, 0.30623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.32516, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.81655, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.78974, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.63533, 0.31035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.466, 0.31151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.35745, 0.3127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.32958, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.35308, 0.31506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37202, 0.31616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.33086, 0.31718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.19769, 0.31812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.97724, 0.31899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.70634, 0.31979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.42785, 0.32056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.15021, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.81267, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.27969, 0.32333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.37266, 0.32482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.92627, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.84509, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.14009, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.06563, 0.3334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.56065, 0.33491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.08621, 0.33565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.37704, 0.33569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.19228, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.33769, 0.33483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.68309, 0.33463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.17383, 0.33486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.83324, 0.33555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.75499, 0.33648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.08763, 0.33732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -15.01486, 0.33772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.73334, 0.33741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.42739, 0.33631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.2405, 0.33458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.25118, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.46713, 0.33029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.84907, 0.3282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.36103, 0.32626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), -0.02566, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.04871, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.69621, 0.32044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.77352, 0.31824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25012, 0.31588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.25296, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.96742, 0.31077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.13412, 0.30814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04783, 0.3056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.63645, 0.30321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.9288, 0.30105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.98201, 0.29915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.81882, 0.29755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.41831, 0.29628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.76253, 0.29533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.90084, 0.29471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97927, 0.29438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.20299, 0.29432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.25586, 0.2945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.35244, 0.29488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.20575, 0.29545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.05015, 0.29618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.12678, 0.29704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.57811, 0.29802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.4045, 0.29908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.49826, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.721, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.96772, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.18033, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.3172, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.31855, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.1043, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.60766, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.81655, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.42534, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.4409, 0.31205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.2972, 0.31325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.12044, 0.31441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.0051, 0.31553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.986, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.03817, 0.31752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09907, 0.31833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.1011, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 9.00179, 0.3196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.79979, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.52793, 0.3205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.2229, 0.32092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.8838, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.44264, 0.32206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.76671, 0.32304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.69536, 0.32442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.09508, 0.32621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.90903, 0.32825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.81784, 0.33028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.94461, 0.33194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.26402, 0.33292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.53829, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.52725, 0.33246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.0092, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.80294, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.7915, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.93871, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.29047, 0.32689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.96115, 0.32641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.11274, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.93447, 0.32532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.62464, 0.32435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.36887, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.31046, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.5205, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.98689, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.63774, 0.31592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.39646, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.75505, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.7402, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.40671, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.6004, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.25694, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45715, 0.30663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40869, 0.30502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.63938, 0.30332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49808, 0.30157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.09397, 0.29985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.45101, 0.29823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.62307, 0.29675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.6315, 0.29545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.45256, 0.29439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.05967, 0.2936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48479, 0.29311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.84869, 0.29291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.3301, 0.293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.08337, 0.29333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.15041, 0.29387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.42225, 0.29458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.67955, 0.29543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.69235, 0.29641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.32013, 0.29753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.44474, 0.29879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.50565, 0.30014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.73172, 0.30156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.01809, 0.303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.30092, 0.30442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.53073, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.63934, 0.30711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.5361, 0.30838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.14032, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.42534, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.05883, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.1827, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.11323, 0.31738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 8.98446, 0.31857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.9071, 0.3196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.93134, 0.32046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.03871, 0.32114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.16225, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.22321, 0.322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.16733, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.98417, 0.32233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.69928, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.34162, 0.32251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.90309, 0.32275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.31393, 0.32324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.45098, 0.3241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.17691, 0.32539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.39251, 0.32703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.0787, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.68836, 0.33058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.75228, 0.33184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.90897, 0.33239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.93728, 0.3321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.61869, 0.33101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.75381, 0.32931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.18563, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.82568, 0.32524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.66887, 0.32334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.7878, 0.3217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.31105, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.39837, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.22382, 0.31784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.96669, 0.31657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.79882, 0.31518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.8585, 0.31368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.21691, 0.31214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.85963, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.70376, 0.30933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.34843, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.3429, 0.30722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.23091, 0.3064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.87922, 0.30566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.13544, 0.30495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.91659, 0.3042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.26992, 0.30334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36691, 0.30233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43002, 0.30118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.36354, 0.29993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.94065, 0.29864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.32213, 0.29736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.56197, 0.29615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.68626, 0.29505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.67637, 0.29412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50434, 0.2934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.18887, 0.29295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.82552, 0.29279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.56274, 0.29292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.53093, 0.29331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.76376, 0.29392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.16109, 0.29469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.5217, 0.2956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.6312, 0.29666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.35269, 0.29789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.66853, 0.2993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.34147, 0.30089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.55971, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.88462, 0.3044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.24688, 0.30621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.58833, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.83254, 0.30976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.87977, 0.31145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.63629, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.05883, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.62436, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.92814, 0.32084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.00891, 0.32235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 8.99903, 0.32358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.01819, 0.32453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.12911, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32132, 0.32564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.52756, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.66172, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.6589, 0.32581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.49746, 0.32566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.19215, 0.32549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.76236, 0.3254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.19442, 0.3255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.42146, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.335, 0.32668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.82423, 0.32787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.82448, 0.32936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.35269, 0.33093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.48549, 0.33229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.51699, 0.33313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.53568, 0.33324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.33069, 0.33254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.70356, 0.33106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.48414, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55307, 0.32657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.86362, 0.32404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.44811, 0.3216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.40275, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.85967, 0.31743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.96263, 0.31572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.8577, 0.31421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.69508, 0.31283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.62616, 0.3115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.78223, 0.3102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.23907, 0.30894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.99109, 0.30776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.04048, 0.30671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.95965, 0.30581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.82978, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.62622, 0.30451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.23815, 0.30407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.52399, 0.3037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.3933, 0.30332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.86916, 0.30284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.09188, 0.3022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.25813, 0.30138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.53232, 0.30041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.01343, 0.29936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.39673, 0.29828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.67233, 0.29721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.87425, 0.29621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.99478, 0.29532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01105, 0.29462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.93346, 0.29415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.83444, 0.29397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.83096, 0.29407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.02574, 0.29444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.43977, 0.29504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -1.97874, 0.2958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.45929, 0.29671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.68383, 0.29779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.5198, 0.29908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.93863, 0.30061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.00083, 0.30237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.19229, 0.30433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.54462, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.98226, 0.30862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43886, 0.31082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.83146, 0.31301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.05472, 0.31514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.00543, 0.31719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.62436, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.04802, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.59772, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.90757, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.09605, 0.32894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.27987, 0.32984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.33037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.83468, 0.33059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.14018, 0.33058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.3567, 0.33042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.41298, 0.33017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.27645, 0.32991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.94872, 0.32968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.43759, 0.32957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.72421, 0.32969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.74695, 0.33013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.41437, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.64275, 0.3321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.4005, 0.33344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.26151, 0.33472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.20824, 0.33565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.24621, 0.33598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.16055, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.74523, 0.33441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.82241, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.25861, 0.33019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.98224, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.99503, 0.32474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.36636, 0.32204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.20929, 0.31953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.65026, 0.3173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.8096, 0.31537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.80125, 0.31372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.74441, 0.31231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.76847, 0.31107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.99631, 0.30995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.50907, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.31508, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.65069, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.48747, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.26718, 0.30594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 2.98555, 0.30557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.55638, 0.30535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.85581, 0.30521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.79484, 0.30509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.37958, 0.30486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.72219, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 1.9925, 0.30382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.33937, 0.30298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.83236, 0.30202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.4576, 0.301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.16095, 0.29997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.09938, 0.29898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32892, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51431, 0.29733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.66224, 0.2968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.82522, 0.29655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.08971, 0.29658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.52911, 0.29688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.14813, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.85423, 0.29809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.47879, 0.29894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.83967, 0.29997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.80885, 0.30124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.34787, 0.30278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.49896, 0.30462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.34741, 0.30672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.01675, 0.30903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.51588, 0.31149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07686, 0.31403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.6131, 0.31659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.01872, 0.31913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.18731, 0.32158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.04802, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29559, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.13944, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74628, 0.33272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20879, 0.33413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62623, 0.33504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.06099, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.51432, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.93214, 0.3355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.23441, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.35018, 0.33509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.23922, 0.33493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.88999, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.29746, 0.33502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.43671, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.25106, 0.33611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.66533, 0.33714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.62084, 0.33839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.11636, 0.33966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.76504, 0.34067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.85765, 0.34112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.94304, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.79215, 0.33978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.20128, 0.33802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.01523, 0.33571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.14181, 0.33304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.56032, 0.33018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.31946, 0.32731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.51986, 0.32453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.28429, 0.32195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.72893, 0.31965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.95048, 0.31766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -8.03387, 0.31599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.07081, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.16992, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.4441, 0.31253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.97768, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.20668, 0.31101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.15562, 0.31041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.95587, 0.30993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.68056, 0.30958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.34188, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.87923, 0.30937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.19181, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.19932, 0.3095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.89664, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.36926, 0.30918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.75726, 0.30862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.18909, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.72828, 0.30682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.36445, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.0465, 0.30465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.72778, 0.30359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39073, 0.30262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.03793, 0.30179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.33671, 0.30118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.76907, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.31716, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.02475, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.87724, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.77908, 0.30188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.57163, 0.30258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.08547, 0.30347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.19749, 0.3046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.86241, 0.30604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.10821, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.00733, 0.3099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.645, 0.31226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.10198, 0.31482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.5436, 0.31754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20474, 0.32034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78065, 0.32316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.16932, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29559, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.38632, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.54618, 0.33531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.49285, 0.33734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.28539, 0.33885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.99311, 0.33982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.66109, 0.34032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.2887, 0.3405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.83113, 0.34051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.22052, 0.3405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.3928, 0.34057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.3051, 0.3408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.93522, 0.34124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.26564, 0.34194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.26435, 0.34292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.8774, 0.34421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.04264, 0.34574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.72257, 0.34734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.94296, 0.3487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.1819, 0.3495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.45361, 0.34945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.62495, 0.34844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.45014, 0.34656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.7284, 0.34402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.32961, 0.3411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.20334, 0.33802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.37556, 0.33495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.93368, 0.332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -14.00049, 0.32925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.70273, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.14639, 0.32448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.40991, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.55712, 0.32095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.65893, 0.31967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.80598, 0.31867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.09981, 0.31791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.62399, 0.31732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.58741, 0.31687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.56209, 0.31653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.3699, 0.31629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.07934, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.71483, 0.31619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.24077, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.5827, 0.31659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.6744, 0.31682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.50403, 0.31689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.13115, 0.31668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.66222, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.19909, 0.31525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.7941, 0.31415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.43875, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.08723, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.69244, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.22887, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.69023, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.07032, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.65237, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.50925, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.51436, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.63093, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.75533, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.73387, 0.30811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.40718, 0.30871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.65839, 0.30956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.44018, 0.31072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.77257, 0.31224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.72029, 0.31411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.36615, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.7938, 0.31878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.08447, 0.32147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.67738, 0.3243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.40049, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.99401, 0.33011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.38632, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.39109, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.86049, 0.3395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.15567, 0.34157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.3009, 0.34318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.3296, 0.3443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.26159, 0.34504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.08775, 0.34551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.76955, 0.34592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.25203, 0.3464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.48117, 0.34709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.4155, 0.34805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 13.02559, 0.34935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.28328, 0.351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.14907, 0.353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.56923, 0.3553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.49065, 0.35774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.89281, 0.36003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.82587, 0.36175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.56465, 0.36247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.0452, 0.3619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.33757, 0.36001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.17978, 0.35707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.37699, 0.35349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.82595, 0.3497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.51491, 0.346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.50774, 0.34256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.91901, 0.33945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.88392, 0.33668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.52906, 0.33423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.95289, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.22353, 0.33031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.39346, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.52069, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.68175, 0.32692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.96583, 0.32638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.4516, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.82037, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.86136, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.72318, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.46564, 0.32612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.1208, 0.32639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.67537, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.08152, 0.32716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.28984, 0.3275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.28479, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.10063, 0.32743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.80714, 0.32682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.47379, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.13596, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.7841, 0.32324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.3786, 0.32186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.87618, 0.32055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.2488, 0.31937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.48566, 0.31836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.58245, 0.31755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.46796, 0.31697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.67083, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.00944, 0.31641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.42156, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.79069, 0.31623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.96387, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.79061, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.16314, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.03842, 0.31732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.43582, 0.31836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.41815, 0.3198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.06841, 0.32161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.47275, 0.32375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.71367, 0.32617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.12901, 0.3288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.97583, 0.33156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.75073, 0.33435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.39109, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.41079, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.16002, 0.34406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.77869, 0.34612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.26172, 0.34785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.60918, 0.34926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.8143, 0.35044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.85519, 0.35152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.69429, 0.35266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.28521, 0.35403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.58203, 0.35575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.54501, 0.35791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.13934, 0.36054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.32776, 0.36367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.06326, 0.36725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.29035, 0.37114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.96186, 0.37506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.07175, 0.37855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.69425, 0.38098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -1.99143, 0.38177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.71333, 0.38059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16127, 0.37755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.06005, 0.37317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.22514, 0.36813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.58149, 0.36305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.15128, 0.35835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -16.02662, 0.35422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.33825, 0.3507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.22566, 0.34774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.81259, 0.34527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.19316, 0.34322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.43253, 0.34156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.58045, 0.34027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.68938, 0.33935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.82571, 0.33879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.06638, 0.33854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.48166, 0.33856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.88659, 0.33878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.03772, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.00699, 0.33958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.84325, 0.34008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.58139, 0.34063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.22526, 0.34121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.75023, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.12292, 0.34217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.32519, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.36735, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.28198, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.10299, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.84407, 0.33911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.49048, 0.33769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.00761, 0.33627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.35819, 0.33495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51658, 0.33378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.47295, 0.33277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.22924, 0.33194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.20439, 0.33127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.80462, 0.33069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.52086, 0.33013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.26118, 0.32951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.89199, 0.32879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.25873, 0.32801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.22098, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.68498, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.61919, 0.32663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.04968, 0.3269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.04253, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.68295, 0.3288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.0589, 0.33036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.25237, 0.33227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.3377, 0.33445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.6172, 0.33682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.55072, 0.3393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.41079, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.54019, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.52652, 0.35036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.42074, 0.35241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.19784, 0.35437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.83345, 0.35625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.29932, 0.35814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.56034, 0.36017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.57493, 0.36249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.29834, 0.36524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.68641, 0.36857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.6972, 0.37255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.28861, 0.37725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.41329, 0.38265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 13.0153, 0.38866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.03514, 0.39504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.42954, 0.40131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.20711, 0.40671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.47013, 0.41031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.56146, 0.41126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57082, 0.4092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.21445, 0.40446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.20824, 0.39792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.38366, 0.39068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.69568, 0.38361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.19671, 0.37727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.99957, 0.37189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.24347, 0.36749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.06712, 0.36397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.59022, 0.36119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.90492, 0.35902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.07811, 0.35739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.16234, 0.35623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.20943, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.27897, 0.35522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.4365, 0.3553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.7419, 0.3557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.76599, 0.35634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.07952, 0.35712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.22049, 0.35798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.22599, 0.35885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.1288, 0.35969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.9425, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.65852, 0.36114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.25501, 0.36162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.71072, 0.3618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.01453, 0.36162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.16506, 0.36106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.16158, 0.36018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 7.99359, 0.35909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.63652, 0.35793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.05658, 0.35683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.22127, 0.35584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10955, 0.355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.71738, 0.35427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.05891, 0.3536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.16777, 0.35287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.89774, 0.35198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.04657, 0.3508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.15127, 0.34926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.05771, 0.34738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.61003, 0.3453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.68196, 0.34322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.20055, 0.34138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.15333, 0.33996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.57956, 0.33907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.55257, 0.33874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.1609, 0.33897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.49335, 0.33969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.63024, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.64063, 0.34236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.58324, 0.34416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.49148, 0.34616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.54019, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.83333, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 5.01277, 0.36062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.12823, 0.36279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.14445, 0.36516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 11.02353, 0.36779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.72394, 0.37075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.2004, 0.37419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.40479, 0.37825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.28766, 0.38308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.79916, 0.38884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.88825, 0.39564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.49989, 0.40355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.57163, 0.41256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.03352, 0.42248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.81719, 0.43288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.88052, 0.44295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.24916, 0.45144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.06313, 0.45685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40178, 0.45792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.77049, 0.45425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.6617, 0.4466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.7873, 0.43652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -17.00277, 0.42567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.29777, 0.41534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.75452, 0.40624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.50331, 0.39866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.68848, 0.39258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.4463, 0.38783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.89261, 0.38421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.11879, 0.38152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.19493, 0.37962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.17794, 0.37838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.12075, 0.37774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.07791, 0.37763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.10474, 0.37799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.25033, 0.37873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.45206, 0.37974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 1.99177, 0.38092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.38033, 0.38217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.64297, 0.38339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.80559, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.88294, 0.38551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.87302, 0.38633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.75877, 0.38693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.51438, 0.3873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.11132, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.52082, 0.38733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.71253, 0.3871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.65182, 0.38684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.29954, 0.38667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.61565, 0.38666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.56652, 0.38682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.13339, 0.38707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.31993, 0.38726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.15857, 0.38717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.71583, 0.38655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.90335, 0.38516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.55588, 0.38284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.07041, 0.37961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.26955, 0.37564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -10.99931, 0.37128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.15463, 0.36693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.6916, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.62411, 0.35957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.00977, 0.35694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.93191, 0.3551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.48288, 0.35399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.75156, 0.35356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.8161, 0.35372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.74136, 0.35439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.5801, 0.35548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.62407, 0.35693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.83333, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.28547, 0.3764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.62276, 0.37839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.91382, 0.38093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.12049, 0.38406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.20026, 0.38785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.1062, 0.39243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.78731, 0.39796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.18919, 0.40462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.25428, 0.41261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.92127, 0.42214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.12307, 0.4334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.78391, 0.44651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.81738, 0.46144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.12932, 0.47791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.63227, 0.49516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.27867, 0.51171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.11423, 0.52536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.33399, 0.53351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.70216, 0.53421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.53515, 0.52718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.73637, 0.51408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -17.02095, 0.49768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.28183, 0.4806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.55374, 0.46468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.95365, 0.45087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.63082, 0.43945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.73547, 0.43031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.40241, 0.42321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.74453, 0.41782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.85244, 0.41385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.79825, 0.41107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.64151, 0.40928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.43505, 0.40834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.22849, 0.40811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -4.06799, 0.40849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.99273, 0.40934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), -0.02984, 0.41055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.80902, 0.41196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.52728, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.13833, 0.41494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.65725, 0.41634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.09226, 0.41761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.43902, 0.41876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.67878, 0.4198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.78012, 0.4208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.70199, 0.42182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.39658, 0.42297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.81104, 0.42437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.88874, 0.42613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.57139, 0.42834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.80331, 0.43099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53874, 0.43395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.75215, 0.43694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.45106, 0.43951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.68961, 0.44107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.57912, 0.44101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.71058, 0.43885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -4.96517, 0.43444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -7.95641, 0.42804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.48079, 0.42026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.39198, 0.41188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.61572, 0.40366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.14623, 0.39615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.03037, 0.38968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.34815, 0.3844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.19475, 0.38029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.66675, 0.37729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.85297, 0.37528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.82949, 0.37413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.65844, 0.37375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.3895, 0.37405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.06313, 0.37494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.28547, 0.3764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.83383, 0.40746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.30724, 0.40978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.7448, 0.41312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.10934, 0.41757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.35901, 0.42326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.44665, 0.43037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.31943, 0.43913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.91838, 0.44983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.17727, 0.46279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 19.02055, 0.47837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.36014, 0.49692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.09192, 0.51871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.09418, 0.54378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.23313, 0.57169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.38449, 0.60106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.48188, 0.62914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.59424, 0.65166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.99795, 0.6638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.79929, 0.66234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.2229, 0.64768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.78185, 0.62366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.21279, 0.59543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.47233, 0.56724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.65972, 0.54166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.93708, 0.51977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.47757, 0.50177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.43991, 0.48734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.9591, 0.47602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.14553, 0.46732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -17.0878, 0.46079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.85715, 0.45605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.51221, 0.45279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.103, 0.45076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.67328, 0.44975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.26107, 0.44958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.89737, 0.45006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.60446, 0.45103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.60517, 0.45235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.72784, 0.45388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.76545, 0.45553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.72042, 0.45724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.5902, 0.45903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.36277, 0.46093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.01408, 0.46306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.50744, 0.46555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.79435, 0.46858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.81585, 0.47236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.50389, 0.47709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.78284, 0.48295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.57168, 0.49003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.78859, 0.49826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35976, 0.50733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.23473, 0.51655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.40956, 0.52481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.95459, 0.53067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 3.03631, 0.53259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.08431, 0.52955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.08975, 0.5214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.67166, 0.50911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.59385, 0.49428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.72434, 0.47866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.03107, 0.46364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.55621, 0.45012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.38608, 0.43853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.6267, 0.42895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.38704, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.76897, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.86186, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.74059, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.46585, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.08627, 0.40575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.64156, 0.40611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.83383, 0.40746 + 1);
}

TEST(GeoLookupTest, inclination) {
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.61084, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.62874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.66156, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.70996, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.77313, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.84867, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.93165, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.01326, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.07996, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.11352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.09258, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.99525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.80277, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.50354, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.09767, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.60145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.05122, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.50565, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04505, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.76644, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.77365, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.16244, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.00301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.32392, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.10299, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.26916, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.7152, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.31692, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.95222, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.51501, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.92171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.11145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.04289, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.6911, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.04716, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.12106, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.94633, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.58335, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.11826, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.65548, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.30388, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.16, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.29354, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.73961, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.49909, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54488, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.83111, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.30243, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.90204, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.57743, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.28362, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -70.98365, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.64657, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.2438, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.74507, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.11542, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.31467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.30011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.03303, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.48779, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.65989, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.5679, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.24721, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.73977, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08555, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.31855, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46631, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55131, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59245, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60612, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60651, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.60523, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.61084, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22797, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.25707, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.29468, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.34086, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.39583, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.45923, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.52809, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.5947, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.64535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.66053, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.61636, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.48727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.25013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.89033, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.40978, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83564, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22754, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68018, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.31884, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.28587, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.71806, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.7182, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.3283, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.51504, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.17512, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.1593, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.30494, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.4643, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.52085, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.3918, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.02065, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.3657, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.39107, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.06529, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.36853, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.30535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.91719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.2889, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.54516, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.83467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.30448, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.07253, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.20886, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.73089, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61077, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.78907, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.18959, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.73231, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.34292, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.95838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.52777, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.00943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.36593, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.56015, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.55536, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.32079, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84012, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.11768, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05184, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77586, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.86774, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.26484, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.57518, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.807, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.96982, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07528, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13721, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.19, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.40123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.42121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.43383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.44609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.45872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.47501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.49848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.52964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.56325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.58675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.57938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.51249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.35204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.06563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.63463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.38115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.32024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.81272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -40.9969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.92538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.54482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.70875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.21862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.87331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.50675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.00419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.29807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.35044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.13088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.59969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.70365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.38668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.6108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.37863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.74921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.84218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.82738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.89757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.22941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.94774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.1073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.64687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.86781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.25352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.70558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.14109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.49496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.71616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.76184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.59461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.18685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.53019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.76788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.21652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.58973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.88384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.10012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.24515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.33098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.3924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.40123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.0323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.01236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.9893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.95698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.91369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.86402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.8168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.7811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.76224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.7582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.75587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.72731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.62924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.41012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.10729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.60859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.52939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.10328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.50342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.78693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.8706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.55561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.58958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.73389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.8084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.70553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.37854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.81401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -61.9999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.90128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.45275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.5701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.17675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.23375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.76225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.85344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.66652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.41142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.31155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.55499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.25511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.04571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.97885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.11063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.32048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.50802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.59698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.52986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.26028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.98501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.97215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.75906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.41507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.01016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.59327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.1819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.7657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.31931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.81615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.23687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.57102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.81556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.97396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.05711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.08335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.00897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.87017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.80338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.7222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.61924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.49717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.36748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.24613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.14876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.08535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.05288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.02667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.95555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.76889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.7327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.65026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.33758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -30.99693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.68144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.27063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.50991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.09352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.74628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.27254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.56714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.5978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.37053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.89103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.13516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.03835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.50648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.44334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.51848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.70631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.47524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -64.01813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.5716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.37063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.59218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.31544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.09507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.91361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.83644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.75202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.57766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.25079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.93865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.89273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.60408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.14068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.5966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.05953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.58178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.38873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.92913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.38091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.73156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.97752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.12103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.17206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.1511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.08709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.00897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.10955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.83089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.71322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.58381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.42648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.23839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.03014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.82165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.63678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.4965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.40783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.34954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.26296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.0595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.65123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.63816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.58178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.42491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.38669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.50776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.63056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.45219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.62097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.82618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.8488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.57148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -52.95948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.02448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.78377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.22785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.30687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.93853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.03249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.52062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.38074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.6479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.41849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.85383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.17559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.63525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.45497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.7662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.58195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.32691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.97559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.64676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.25645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.02489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.06285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.82423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.33693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.6881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.99822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.37632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.8802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.5015, 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.84212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.42315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.89072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.23444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.4539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.55173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.53725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.43347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.2774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.10955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.22083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.96089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.75115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.5752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.40144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.20199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.96489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.69628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.41671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.15531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.94131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.78906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.67858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.54291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.27815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.0149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.06801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.40336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.42011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.4606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.74375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.29393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -22.92938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.31984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.08298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -36.87344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.43579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.61926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.36431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.67119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.56145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.04448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.10007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.68035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.72623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.18845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.31289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.06017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.41843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.5889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.82237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.36297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.37593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.90219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.86807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.13766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.52352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.89108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.08446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.02685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.67601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.05948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.28236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.49432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.83023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.35592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.04807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.55337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.17672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.64906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.9654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.13136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.15148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.03476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.80756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.51746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.22083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.2652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.86388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.55165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.31114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.1001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.8763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.61516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.31516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.99473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.6857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.42217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.2216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.06123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.86487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.51802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.95906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.93646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.30723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.45518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.71621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.29274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.19771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.25013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.12363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.42612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.77971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -35.87868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.5176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.5916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.07525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -50.98926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.36722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.23289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.59225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.4361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.74676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.71373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.40441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.68253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.73434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.81145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.17186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.99911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.34686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.14513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.25833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.55161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.92596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.31119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.63611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.80865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.72953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.33712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.65479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.80387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.96465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.30099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.88894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.6893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.41122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.08598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.56048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.83673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.92818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.84232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.58849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.19762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.73086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.2652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.27473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.28049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.9751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.73947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.51481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.26077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.96529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.64297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.32673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.05286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.83768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.65206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.41115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.99718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.31574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.26667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.70929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.21463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.88258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.40912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.61767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.50482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.80577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -11.99442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.69194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.49529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.04214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.05984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.38647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -41.96323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.80755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -46.98012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.5562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.6046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.1728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.27733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.02917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.65352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.85219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.79986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.99208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.70836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.96042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.67198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.70132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.9165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.23089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.58793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.92047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.12556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.08246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.70896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -38.02131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.15381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.31529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.69833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.38981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.33506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.33142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.07667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.56438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.80293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.81363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.60742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.19482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.61284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.9389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.27473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.44634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.71526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.17612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.81787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.57864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.38224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.17015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.91754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.63394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.35262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.11051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.92053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.25357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.50135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.9347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.62764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.5549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.56147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.37815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.67433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.12606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.47679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.57724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.40376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 2.06341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.20889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.06787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.10219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -20.90353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.13702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.58508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.15446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.85584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.77204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.02463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.74088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.02157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.91533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.41144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.46218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.03479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.17433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -34.04395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.91004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.06434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.71675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.92364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.59839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.5893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.76454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.04923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.4025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.7657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -29.03072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.06033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.75417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.1197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.29856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.52067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -26.00123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.83595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.95737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.28478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.1308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.66131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.88781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.83733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.52394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.96028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.19064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.30998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.44634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.1642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.30434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.68383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.29959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.9158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.05399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.1919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.36839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.58021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.79449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 7.97418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.10928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.23969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.45239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.84439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.46402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.26011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.06651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.6287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.65752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.88576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.10833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.20094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.12731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.94957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.84512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), 0.11365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -5.84963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.62067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.82895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.21776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.66363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.16348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.80749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.74618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.15044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.16525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.86856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.25454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.25718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.81313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.93968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.78636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.62161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.74708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.38008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.57615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.24083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.21446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.36458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.62584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.97269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.35913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.68042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.79295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.58523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.05621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.34675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.69391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.32238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.33164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.64693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.34661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.33163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.95348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.22099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.16242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.79367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.13008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.22337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.18423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.1642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.05582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.62321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 9.99748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.16322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.22204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.26608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.34773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.47108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.60517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.7131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.78506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.85821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.00842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.3114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.79016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.37692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.90991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.16509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.90476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.92027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 28.05468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.2075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.33722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.47651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.75912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.43795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.86872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.54891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.45059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.56989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.76367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.00804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.38138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.03932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.17514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.96459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.5109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.81732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.80846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.39962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.58486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.49614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.39154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.56698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.2365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.45412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.12471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.08821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.2138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.44258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.76108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.13839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.4833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.66018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.55829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.17061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.62769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.15527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.96946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.16616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.67094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.75057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.91091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.68266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.06489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.08086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.74575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.07728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.86729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.96725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.05582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.70275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.58812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.20597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.53545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.63611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.61096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.56072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.54838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.58601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.64668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.69427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.7161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.74014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.82422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.01984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.32858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.67564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.91433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.8577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.31918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.14283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.21419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.45822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.8409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.38636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.20411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.50636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.59435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.8097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.47003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.81843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -1.9994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.93838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.05085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.47518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.4034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.02388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.4575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.72048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.74029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.42436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.24953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.17196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.1111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.79595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.02837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.75656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.06761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.1116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.01326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.82808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.56303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.23474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.9128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.71034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.72381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 6.9615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.31107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.57524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.56371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.19143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.52535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.1014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.74483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.77258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.20122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 6.01877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.21411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.76892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.62452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.65906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.70275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.41542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.70977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.96735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 28.99979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.90205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.77463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.68598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.65556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.66244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.67262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.66896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.66612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.70042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.79938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.07047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.03991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.70507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.92369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.5836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.6074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.94844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.59252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.57262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.9896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 27.02194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.91112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.92357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.30628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.25499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.90012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.29966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.43041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.18515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.39378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.87537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.24692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.1649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.34293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.81121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.48616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.17551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.64892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.73427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.38277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.66644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.71631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.64587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.50883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.31144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.05992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.79973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.61266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.57076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.67836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.84427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.90904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.71828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.20254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.41753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.71804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.1681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.97033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.15888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.7369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.70037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.03299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.67973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.5272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.41542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.04863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.62416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.01685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.18293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.15135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.00119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.82363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.68592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.61244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.58916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.58582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.58124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.57617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.5857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.61583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.58152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.33537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.77929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.80601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.33798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.32998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.76549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.65736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 41.05664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 38.06323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.82661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.5305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.36582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.50527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.08949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.22219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.96269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.31042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.19207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.47159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.99182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.35231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.18857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.20945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.44511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.83702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.23814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.46649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.38163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.9391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.19296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.24991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.20795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.1184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 29.99023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.82412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.64439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.50091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.43795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.45208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.47098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.37269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.03985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.41995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.55772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.66065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.94147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.52457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.45896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.76278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.44021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.47912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.83224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.40202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.04863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.6458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.20596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.26591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.17586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 42.99437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.79577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.63895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.54896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.51759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.51932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.53078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.54126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.54789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.53928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.47826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.29515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.89626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.18353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.07573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.5219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.50423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 51.03494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.15435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.93219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.46819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.88595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.31878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.89322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.71862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.88606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.47004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.52223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.05438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.02152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.32372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.45215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.12666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.87477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.74244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.75393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.87125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 36.99026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 37.97719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.7247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.19471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.42437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.49502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.48638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.44508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.38293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.29864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.20101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.11334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.05475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.01276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.92898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.71249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.27788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.58845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.68075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.65478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.80244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.19725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.8973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.93188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.31225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.0311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.0509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.29362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.6458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.47942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.42345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.27878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.08263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.88788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.73904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.65656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.63511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.65352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.68821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.7209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.59829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.33573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.8396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.02848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.84, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.24345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.24328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.87574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.20325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.30875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.28889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.24441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.26898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.44125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.82437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.4719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.43266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.74613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.42731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.45048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.74655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.4058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.06589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.79553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.6104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.48723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.35777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.13105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.73111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.12826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.34614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.4426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.4781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.49149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.49519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.48709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.46577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.43526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.39522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.32505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.17568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.87937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.37584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.64215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.71023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.61072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.66507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.91541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.42236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.22105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.32717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.73765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.4248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.33051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.25963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.92629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.7287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.5266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.35067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.22772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.16925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.16901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.2084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.26465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.30064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.15717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.84432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.28877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.42139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.19386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.59092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.63394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.37621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.89377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.27489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.60941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.9788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.44858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.06622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.86566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.87563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.12524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.64093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.4349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.49204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.7658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.6954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.24158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.8146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.42258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.07287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.7519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.41889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.01773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.49994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.84522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.06773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.20541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.29994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.37982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.45473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.52092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.57018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.59361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.5775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.49536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.3047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.95482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.40483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.64379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.70225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.64909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.57614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.7297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.09424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.70571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.58148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.7218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.10793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.7, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.05872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.80795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.5982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.44114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.46021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.51737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.53632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.48245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.30895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.9564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.35912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.45807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.21633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.6307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.73427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.58996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.2787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.8867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.49421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.16713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.95275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.88081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.9694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.23281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.68644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.34516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.21552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.28673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.32295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.79209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.27802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.77818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.29376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.81741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.32794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.79547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.19349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.5107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.7553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.94955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.11828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.27821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.4332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.57601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.69293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.76655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.7747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.68776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.46891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.08091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.49866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.72211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.78286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.74074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.6555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.03347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.51271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.21367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.5203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.9332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53058, 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.29322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.30161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.35885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.42263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.46826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.46718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.38365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.17198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.77695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.14007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.21156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.96476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.40619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.57639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.54151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.38038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.1719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.98531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.87424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.8748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 62.00787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.28436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.71123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.29526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.04242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.95339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.01823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.8618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.24807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.64729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.05182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.45959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.86735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.26685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.64605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 63.99418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.30715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.58969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.8526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.10686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.35757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.60082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.82398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.0079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.12905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.16021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.07111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.83092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.41434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.81014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.02857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.10372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.08941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.7848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37166, 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.10652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.5203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.74217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.29276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.19056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.15195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.15915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.19155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.22632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.23809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.19734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.06804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.80589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.35961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.67734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.71812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.46497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.93268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.16614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.23027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.19733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.13606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.10446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.14626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.29052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.55396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.94482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.46692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.12223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.91091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.82929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.8673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.49669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.1137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.43544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.76042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.08817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.41801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.74844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.07822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.4079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.74005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.07776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.42164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.76689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.10154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.4065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.65697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.82434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.87838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.78994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.53483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.09918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.48452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.71069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.81476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.84611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.85929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.2756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.18815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.87952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.72974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.4494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.4688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.23063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.07174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.97614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.92545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.89915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.87455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.82609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.72377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.53139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.20565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.69824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.96281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.96642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.70124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.18942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.47826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.62889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.70479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.76351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.85222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 72.00619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.24926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.59573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.05285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.62335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.30703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.10119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 69.00011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.06982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.39826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.61798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.85796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.11167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.37716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.65566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.95005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.26364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.59952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.9601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.34635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.7565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.18441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.61813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.03901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.42197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.73673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.95028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.03026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.94946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.69061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.2506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.6425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.89445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.04597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.82842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.76089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.42592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.22845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.1683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.39026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.88018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.4677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.1426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.89245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.70269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.5567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.43577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.31868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.18076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.99246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.71781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.31411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.73487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.9378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.89703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.61343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.11598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.45321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.68102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.85312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 77.01578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.20591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.45105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.77026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.17555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.67344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.26634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.95359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.5377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.72554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.87346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.05019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.25183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.47772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.72986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.01193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.32818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.68242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.07681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.51082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.97999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.47471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.97922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.47103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.92106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.29491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.55584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.66956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.61042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.36716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.94596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.36934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.07695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.47706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.75518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.11568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.57383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.14, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.82066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.61947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.53803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57639, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength) {
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58500.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57365.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56217.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55065.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53913.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52765.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51620.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48110.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45555.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44165.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42692, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41137.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39514.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37849.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36172.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34525.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32951.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31494.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30193.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29077.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28161.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27445.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26908.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26521.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26243.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26034.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25861.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25699.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25536.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25228.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25120.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25086, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25167.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25413.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26577.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27566.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28849.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30422.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32265.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34342.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36612.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39026, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41532.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44083.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46633.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51576.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53901.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56086.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58099.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59913.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61501.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62844.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63930.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64756.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65327.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65653.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65640, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65339.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64869.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64251.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63504.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62648.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60682.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59610.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58500.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55140.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53941.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51551, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50369.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49198.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48034.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45677.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44449.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43162.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41798.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40350, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38814.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37202.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35535.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32178, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29112.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27821, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26746.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25911.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25314.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24929.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24713.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24613.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24574.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24553.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24519, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24456, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24362.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24135.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24057.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24061, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24548.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26074.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27329.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28923.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30833.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33018.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 37976.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40621.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43293, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45937.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48509.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 50974.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53300.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55458.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57421.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59162.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60660.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61898.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62871.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63582.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64263.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64267.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64071.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63694.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63154.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62470, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61657.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60735.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59722.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58638.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57501.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53976, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52756.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51532.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50311.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49098.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47899.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46715.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45545, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44381.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 42017.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40778.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39477.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38100.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36641.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35104.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33502.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30238.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28676, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25997.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24995.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24263.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23800.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23574.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23529.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23723.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23851.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23951.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 24009.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 24019.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23985, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23919, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23845.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23805.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23857.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24077.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24544.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25329.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26480.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28013.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29911, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32126.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34592.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37228.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39952.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42686.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45365.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47939.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50371.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52631.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54694.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56536, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58134.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59473.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61359.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61923.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62255.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62374, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62296.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62038.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61613.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61035.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60317.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59473.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58518.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57471.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56351.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55179.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53976, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51464.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50242.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49018.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47799.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44207.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43043.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41895.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40754.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39607, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37225.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35958.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34623.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33214.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31736.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30212.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28682.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27204.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25849, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24688.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23781.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23162.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22745.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23055.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23313.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23571.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23804.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23999.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24256.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24309.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24302.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24318.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24440.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24761.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25373.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26350.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27732.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29517.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31664.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34101.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36734.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39463.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42195.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47373.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49721.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51866.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55451.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56851.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57978.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58839.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59453.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60063.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59920.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59620.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59170.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58577.8, 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.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56040.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54984.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53855, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52674.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51464.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48811.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47613.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46418.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45228.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44045.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42872.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41713.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40574.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38360.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37275.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36190.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35091.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33961.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32783.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31541.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30230.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28864.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27479, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26131.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24894.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23846.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23049.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22319.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22343.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22547.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22858.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23581.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24285.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24611, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24902.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25138, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25299.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25389.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25439.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25518.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25720.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26150.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26906.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29626.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31594.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39069.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41723.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44293.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46714.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48938.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50935.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52676.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54138.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55307.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56187.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57195.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57405.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57468.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57205.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56879.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56418.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55825.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55105.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53320.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52280.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51165.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 50001.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48811.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46045.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44900.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43763.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42633.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41509.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40392.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39287.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38202.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37144.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36114.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35111.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34130.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33160.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32185.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31182.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30129.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 29013, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27836.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25449.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24363, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23446.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22763.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22350.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22208.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22300.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22566, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22939.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23367.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23823.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24298.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24793.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25300.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25796.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26595.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26837.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26978, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27069, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27195.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27462.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27983.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28852.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30130, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31821.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33878, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36202.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38673.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41169.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43590.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45860, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47927.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49754.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51305, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52550.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53478.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54101.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54464, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54629.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54660.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54597.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54454.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54219.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53876.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53412.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52824.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51303.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50388, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49383.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48308.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46045.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42164.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41116.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40078.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39047.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38022.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 37009.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36016.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35051.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34121.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33228.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32372.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31547.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30737, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29918.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29063.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28153.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27185.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26182.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25190.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24272.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23494.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22914.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22569.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22466.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22580.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22865.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23268.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23745.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24275.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24853.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25479.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26817.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27448.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27982.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28378.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28630.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28768.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28860.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 29004.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29313.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29899.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30853.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32212.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 35989.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38202.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40466.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46627.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49626.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50663, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51361.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51870.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51700.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51528.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51322.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51057.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50701.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50234.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49652.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48963, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48177.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47305, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46354.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45342.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44291.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40461.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39514.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38585.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37671, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36766.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34987.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34126.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32502.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31751.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31044.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30378.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29740.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29106.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28451.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27750.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26998, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26206.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25411.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24661.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 24010.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23508.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23193.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23082.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23169.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23429.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23827.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24327.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24909.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25562.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26281.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27051.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27837.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28589, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29245.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29758.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30106.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30461.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30608.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30954.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32635.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34034.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35740.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37640.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39615.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41559.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43393.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45060, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46505.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48519.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49020.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49138, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48931.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48672.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48413.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48153.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47859.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47487.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47012.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46432.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45759.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45006.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44185.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43304.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41421, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40461.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37907.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37101.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36319, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34804.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34066.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33347.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32654.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31994.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31373.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30794.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30260.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29768.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29307.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28860.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28400.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27905, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27361.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26774, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25559.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 25007.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24548.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24222.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24056.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24066.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24251.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24598.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25081.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26359.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27115.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27920.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28740.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29529, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30232.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31215.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31465, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31579.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31617.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31670.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31853, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32277.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33023.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34108.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35483.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37054.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38711.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40361.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41930.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43363.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44604.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45592.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46272.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46617.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46654.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46460.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46142.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45793.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45465, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45154.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44821.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44422, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43929.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43343.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42681.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41962.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41197.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40396.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39569.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37907.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35742.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35098.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34482.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33885.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33306.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32745.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32211.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31710.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31248.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30826.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30445.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30102.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29796.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29519, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29256.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28985.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28683.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27919.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26966, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26475.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 26022.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25646.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25274.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25336.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25989.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26539.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27194, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27922.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28693.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29473.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30226.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30910.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31486.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31926.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32218.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32372.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32429.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32573.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32864.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33415.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35337.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36597.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37942.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39294.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40593.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41787.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42823.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43639.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44180.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44416.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44369.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44109.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43733.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43330.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42944.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42573.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42182.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41733, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40599.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39940.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39249.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38541.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37826, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37113.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36415, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35742.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34123.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33652.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33209.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32786.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32382, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 32003.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31660.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31362.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31111.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30904.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30596.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30485.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30395.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30315.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30224.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29902.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29630, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29273.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28376.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27894.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27441, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27060.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26800.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26702.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26794.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27073.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28718.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30092.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30766.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31391.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31939.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32385.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32712.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32922, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33038.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33119.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33246.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33503.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33956.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34625.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35486.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36482.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37549.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38629.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40644.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41487.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42147.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42574.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42740.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42658.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42385.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 41996.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41561, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41117.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40667.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40189.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39658.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39065.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37751.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37077.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36417.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35784.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35187.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34123.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32840.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32563.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32306.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32070.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31611.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31572.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31630.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31702.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31792.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31892.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31990.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32065.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32085.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 32019.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31842.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31143, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30654.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30115.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29567.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29057.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28641.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28372.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28288.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28400.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28686.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29107.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29617.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30178.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30762.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31345.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31905.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32420.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32868.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33230.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33504.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33708.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33885.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34094.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34397.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34834.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35414.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36119.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36912.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37754.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38610.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39444.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40900.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41430.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41769.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41895.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41812.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41556.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40203, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39649.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38402.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37713.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37002.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36295.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35615.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34985.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34418.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33924, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33503.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32662.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32531, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32338.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32295.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32565.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32786.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33047.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33328.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33618.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34175.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34402, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34549.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34579.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34465.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34195.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33780.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33247, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32632, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31980.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31344.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30784.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30357.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30106.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30047.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30164.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30424.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30787.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31698.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32202.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32713.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33209.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33665.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34067, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34409.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34709.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35000.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35713.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36184.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36732.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37342.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 37995.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39364.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40044, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40681.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41239, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41676.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41959.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42068.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42001.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41771.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41399.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40907.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40313.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39633.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38885.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38089.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37270.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36458.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35681.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34966.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34334.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33802.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33378.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33060.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32830.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33133.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33064.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33047.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33063, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33113.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33216.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33392.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33655.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 34003.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34419.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34878.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35358.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35838.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36303.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36733.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37096.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37352.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37459.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37387.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37124.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36090.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35392, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34638.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33888.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33206.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32650.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32262.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32058.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32026.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32138.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32363.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32678.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33065.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33510.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34483.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34958.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35804.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36191, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37016.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37493.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38013.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38561.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39122.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39692, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40271, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40858.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41443.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 41999.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42491.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42882.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43144.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43259.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43009.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42638.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42104.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41418.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39693.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38729.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37756.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36813.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35934.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34478.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33941.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33544.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33282.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33133.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33999.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33984.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34043.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34156.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34322.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34556.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35296.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35809.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36398, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37033.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37687.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38960.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39530.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 40011.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40360, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40531.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40493.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40233.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39764.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39117.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38341.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37497.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36651.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35872.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35218.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34729.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34267.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34260.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34372.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34589, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34902, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35299.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35760.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36253.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36747.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37221.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37674.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38123, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38590.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39094.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40194.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40753.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41299, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41834.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42371.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42917.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43468.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44000.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44479.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44871.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45148.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45288.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45274, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45086.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44707.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44127.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43353.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42410.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41345.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40216.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39083, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 37995.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 36994.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36112.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35371.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34374, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34118, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33999.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35377.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35375.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35475, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35658.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35920.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36271.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36723.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37281.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37937.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38669.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39449, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40244.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41029.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42457.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 43031, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43451.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43675.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43416.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42930.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42244.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41411.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40498.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39580, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38728.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 38002.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37437.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37042, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36804.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36704.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36725.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36862.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37110.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37463, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37898.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38383.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39374.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39853.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40334, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40836.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41374.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41942.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42523, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43096, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43651.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44196, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45303.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45872.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46429.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46940.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47370.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47690.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47871.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47890.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47718.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47330.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46710.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45862.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44816.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43625.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42358.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41083.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39861.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38740.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37752.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36924.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36272.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35802.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35510.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35377.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37232.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37211.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37324.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37553.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37892.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38343.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38908.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39583.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40355.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41199.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42083.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42978.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43854.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44682.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45431.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46060.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46783.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46799.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46559.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46072, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45370.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44508.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43556.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42593.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41691.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40910.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40283.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39819, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39505.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39327.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39271.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39336.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39521.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39821.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40215.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40671.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41155.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41640.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42120, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42604.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43109.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43647.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44217, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44804, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45394, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 45980.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46568.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47168.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47786.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48416.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49034.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49607.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50100, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50476.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50706.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50758.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50601.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50207.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49560.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48665, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47553.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44924, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43551.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41014.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39938.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39027.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38298.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37759.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37408.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37232.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39532.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39480.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39587.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39842, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40235.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40761.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41412, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42174.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43026.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43940.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44886, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45831, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46746.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47604.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48372.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 49013.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49487.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49752.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49777.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49548.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49070.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48375.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47515, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46557.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45579.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44651.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43829.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42618.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41979.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41850.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41844.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41960.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42194.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42931.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43372.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43825.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44282.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44748, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45235.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45756, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46313.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46902.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47515.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48804.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49485.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50190.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50905.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51605.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52255.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52816.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53252.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53609.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53465.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53072, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52415.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51505, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50373.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49077.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47687.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46277.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44913.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43648.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42521.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41555.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40768.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40168.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39758.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39532.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42226, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42239.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42501.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42921.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43487.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44183.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44987.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45872.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46808.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47762.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48705, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49607.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50441.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51179.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51787.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52230.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52473.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52262.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51801.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51132, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50300.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49368.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48405, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47474.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45316.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44533.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44248.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44288.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44444, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44698.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45027.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45403.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45804.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46221, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46654.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47114.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47614.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48161.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48757.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49401.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50091.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50824, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51595.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52395, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53201.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 53984, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55813.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56123.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56228.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56097.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55713.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55068.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54177, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53072.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51808.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50451.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49070.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47728.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46475.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45349.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44373.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43565.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42935.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42488.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42226, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45114.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45195, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45446.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45860.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46421.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47109.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47898.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48757.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49656.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50563.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51448.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52285.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53048.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53712.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54248, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54626.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54821.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54809.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54580.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54140.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53510.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52730.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51852.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50932.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50027.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49185.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48437.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47801.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47286.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46891, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46614.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46456.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46415.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46647.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46889.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47187.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47523.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47889.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48286.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48722.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49208.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49754, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50365.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51044.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51789.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52592.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53443.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54322.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55202.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56048.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56823.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57487.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58002, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58333.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58453, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57366.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56529.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55497.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54320.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53057.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51769.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50513.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49334.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48266.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47333.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46552.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45933.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45484.2, 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.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48216.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48280.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48504.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48877.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49385.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 50008.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52293.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53096, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53872.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54598, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55249.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55805, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56240.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56534.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56665.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56617.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56384.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55970.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55393.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54684.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53883.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53035.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52185.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51374.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50631.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49424, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48638.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48410.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48290.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48272.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48346.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48499.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48716.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 48987, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49303.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49667.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50084.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50565, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51116.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52456.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53241.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54092.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 54991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55914.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56830.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57704.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58497.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59172.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59694.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60032.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60162.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60068.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59745.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59200.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58452.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57534.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56492.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55375.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54235.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53119.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52067.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51109.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50268.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49558.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48990.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48573.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48314.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51207.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51250, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51425.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51727, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52140.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52649.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53231.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53861.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54515.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55166.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55792.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56371.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56883.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57632, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57832.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57814.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57203.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56691.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56069.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55365.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54615.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52403.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51766.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51207.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50737.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50360.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50080.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49806.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49803.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50239.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50513, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51253.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51730.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52287.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52927, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53648.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54444.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55303.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57120.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58022.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58876.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59646.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60298.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61132.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61272.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60946.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60491.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59865.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59098.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58227.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57294.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55404.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54517.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53707, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 52990.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52383.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51894.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51532.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53916.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53833.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53946, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54153.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54447, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54811.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55231.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55688.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56163.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56635.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57087.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57501.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57861, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58151, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58357.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58467.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58472.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58364, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58140.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57806.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57370.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56258, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55625, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54972.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54324.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53701.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52598.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52142.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51762.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51462.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51244.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51109, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51054.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51077, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51174.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51343.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51584.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51897.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52285.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53921.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54621.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55386.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56202.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57049.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57903.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58737.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59520.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60223.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60819.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61595.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61744.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61723.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61537.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61194.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59446.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58719, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57972, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57234.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56532, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55885, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55309.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54817.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54417.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54115.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53916.7, 145 + 500);
}