-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathVenus.java
1919 lines (1849 loc) · 117 KB
/
Venus.java
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
/*
VENUS - VSOP87 Series Version B
HELIOCENTRIC DYNAMICAL ECLIPTIC AND EQUINOX J2000
Spherical (L,B,R) Coordinates
Series Validity Span: 2000 BC < Date < 6000 AD
Theoretical accuracy over span: ±1 arc sec
L = Longitude in radians
B = Latitude in radians
R = Radius vector in AU (Astronomical Units)
t = (JD - 2451545) / 365250
Java Programming Language
VSOP87 Functions Source Code
Generated By The VSOP87 Source Code Generator Tool
(c) Jay Tanner 2018
Ref:
Planetary Theories in Rectangular and Spherical Variables
VSOP87 Solutions
Pierre Bretagnon, Gerard Francou
Journal of Astronomy & Astrophysics
vol. 202, p309-p315
1988
Source code provided under the provisions of the
GNU Affero General Public License, version 3.
http://www.gnu.org/licenses/agpl.html
*/
package theleo.sevensky.vsop87;
import theleo.sevensky.core.SphericalPosition;
public class Venus implements SphericalPosition {
public static final float RADIUS_KM = 6052;
public static final Venus instance = new Venus();
public double getLon(double t) {
return longitude(t);
}
public double getLat(double t) {
return latitude(t);
}
public double getRad(double t) {
return radius(t);
}
public static double longitude(double t) {
return Venus_L0(t)+Venus_L1(t)+Venus_L2(t)+Venus_L3(t)+Venus_L4(t)+Venus_L5(t);
}
public static double latitude(double t) {
return Venus_B0(t)+Venus_B1(t)+Venus_B2(t)+Venus_B3(t)+Venus_B4(t)+Venus_B5(t);
}
public static double radius(double t) {
return Venus_R0(t)+Venus_R1(t)+Venus_R2(t)+Venus_R3(t)+Venus_R4(t)+Venus_R5(t);
}
static double Venus_L0 (double t) // 416 terms of order 0
{
double L0 = 0;
L0 += 3.17614666774;
L0 += 0.01353968419*Math.cos(5.59313319619 + 10213.285546211*t);
L0 += 0.00089891645*Math.cos(5.30650047764 + 20426.571092422*t);
L0 += 0.00005477194*Math.cos(4.41630661466 + 7860.4193924392*t);
L0 += 0.00003455741*Math.cos(2.69964447820 + 11790.6290886588*t);
L0 += 0.00002372061*Math.cos(2.99377542079 + 3930.2096962196*t);
L0 += 0.00001317168*Math.cos(5.18668228402 + 26.2983197998*t);
L0 += 0.00001664146*Math.cos(4.25018630147 + 1577.3435424478*t);
L0 += 0.00001438387*Math.cos(4.15745084182 + 9683.5945811164*t);
L0 += 0.00001200521*Math.cos(6.15357116043 + 30639.856638633*t);
L0 += 0.00000761380*Math.cos(1.95014701047 + 529.6909650946*t);
L0 += 0.00000707676*Math.cos(1.06466702668 + 775.522611324*t);
L0 += 0.00000584836*Math.cos(3.99839888230 + 191.4482661116*t);
L0 += 0.00000769314*Math.cos(0.81629615196 + 9437.762934887*t);
L0 += 0.00000499915*Math.cos(4.12340212820 + 15720.8387848784*t);
L0 += 0.00000326221*Math.cos(4.59056477038 + 10404.7338123226*t);
L0 += 0.00000429498*Math.cos(3.58642858577 + 19367.1891622328*t);
L0 += 0.00000326967*Math.cos(5.67736584311 + 5507.5532386674*t);
L0 += 0.00000231937*Math.cos(3.16251059356 + 9153.9036160218*t);
L0 += 0.00000179695*Math.cos(4.65337908917 + 1109.3785520934*t);
L0 += 0.00000128263*Math.cos(4.22604490814 + 20.7753954924*t);
L0 += 0.00000155464*Math.cos(5.57043891690 + 19651.048481098*t);
L0 += 0.00000127907*Math.cos(0.96209781904 + 5661.3320491522*t);
L0 += 0.00000105547*Math.cos(1.53721203088 + 801.8209311238*t);
L0 += 0.00000085722*Math.cos(0.35589247720 + 3154.6870848956*t);
L0 += 0.00000099121*Math.cos(0.83288208931 + 213.299095438*t);
L0 += 0.00000098804*Math.cos(5.39389623302 + 13367.9726311066*t);
L0 += 0.00000082094*Math.cos(3.21597037872 + 18837.49819713819*t);
L0 += 0.00000088031*Math.cos(3.88868864136 + 9999.986450773*t);
L0 += 0.00000071577*Math.cos(0.11145736657 + 11015.1064773348*t);
L0 += 0.00000056122*Math.cos(4.24039842051 + 7.1135470008*t);
L0 += 0.00000070239*Math.cos(0.67458825333 + 23581.2581773176*t);
L0 += 0.00000050796*Math.cos(0.24531639097 + 11322.6640983044*t);
L0 += 0.00000046111*Math.cos(5.31576442737 + 18073.7049386502*t);
L0 += 0.00000044576*Math.cos(6.06281108312 + 40853.142184844*t);
L0 += 0.00000042594*Math.cos(5.32873395426 + 2352.8661537718*t);
L0 += 0.00000042635*Math.cos(1.79955442721 + 7084.8967811152*t);
L0 += 0.00000041177*Math.cos(0.36241012200 + 382.8965322232*t);
L0 += 0.00000035749*Math.cos(2.70448479527 + 10206.1719992102*t);
L0 += 0.00000033893*Math.cos(2.02347385644 + 6283.0758499914*t);
L0 += 0.00000029170*Math.cos(3.59117396909 + 22003.9146348698*t);
L0 += 0.00000028479*Math.cos(2.22375430133 + 1059.3819301892*t);
L0 += 0.00000029850*Math.cos(4.02177029338 + 10239.5838660108*t);
L0 += 0.00000033252*Math.cos(2.10025580495 + 27511.4678735372*t);
L0 += 0.00000030172*Math.cos(4.94191918273 + 13745.3462390224*t);
L0 += 0.00000029252*Math.cos(3.51392387787 + 283.8593188652*t);
L0 += 0.00000024424*Math.cos(2.70177487840 + 8624.2126509272*t);
L0 += 0.00000020274*Math.cos(3.79493777545 + 14143.4952424306*t);
L0 += 0.00000024322*Math.cos(4.27814493315 + 5.5229243074*t);
L0 += 0.00000026260*Math.cos(0.54067510171 + 17298.1823273262*t);
L0 += 0.00000020492*Math.cos(0.58547075036 + 38.0276726358*t);
L0 += 0.00000018988*Math.cos(4.13811517967 + 4551.9534970588*t);
L0 += 0.00000023739*Math.cos(4.82870820701 + 6872.6731195112*t);
L0 += 0.00000015953*Math.cos(1.50376176156 + 8635.9420037632*t);
L0 += 0.00000019069*Math.cos(6.12025555817 + 29050.7837433492*t);
L0 += 0.00000018269*Math.cos(3.04740409161 + 19999.97290154599*t);
L0 += 0.00000013656*Math.cos(4.41336264990 + 3532.0606928114*t);
L0 += 0.00000017118*Math.cos(3.51922693724 + 31441.6775697568*t);
L0 += 0.00000010955*Math.cos(2.84562940868 + 18307.8072320436*t);
L0 += 0.00000011048*Math.cos(2.58361219121 + 9786.687355335*t);
L0 += 0.00000009904*Math.cos(1.08737985358 + 7064.1213856228*t);
L0 += 0.00000010576*Math.cos(0.85419798194 + 10596.1820784342*t);
L0 += 0.00000009235*Math.cos(5.52461085424 + 12566.1516999828*t);
L0 += 0.00000011599*Math.cos(5.81007484555 + 19896.8801273274*t);
L0 += 0.00000011807*Math.cos(1.91250004145 + 21228.3920235458*t);
L0 += 0.00000010105*Math.cos(2.34270729521 + 10742.9765113056*t);
L0 += 0.00000008154*Math.cos(1.92331359797 + 15.252471185*t);
L0 += 0.00000008893*Math.cos(1.97291419659 + 10186.9872264112*t);
L0 += 0.00000009352*Math.cos(4.94508838657 + 35371.8872659764*t);
L0 += 0.00000006821*Math.cos(4.39733528050 + 8662.240323563*t);
L0 += 0.00000006688*Math.cos(1.55309955053 + 14945.3161735544*t);
L0 += 0.00000006413*Math.cos(2.17677578364 + 10988.808157535*t);
L0 += 0.00000005802*Math.cos(1.93461898145 + 3340.6124266998*t);
L0 += 0.00000005950*Math.cos(2.96578177047 + 4732.0306273434*t);
L0 += 0.00000005275*Math.cos(5.01875399411 + 28286.9904848612*t);
L0 += 0.00000007047*Math.cos(1.00111452053 + 632.7837393132*t);
L0 += 0.00000005048*Math.cos(4.27886655804 + 29580.4747084438*t);
L0 += 0.00000006305*Math.cos(0.35506330531 + 103.0927742186*t);
L0 += 0.00000005959*Math.cos(5.04792949123 + 245.8316462294*t);
L0 += 0.00000004651*Math.cos(0.85216995524 + 6770.7106012456*t);
L0 += 0.00000005580*Math.cos(0.48723420248 + 522.5774180938*t);
L0 += 0.00000005327*Math.cos(3.03115799765 + 10021.8372800994*t);
L0 += 0.00000005010*Math.cos(5.77374296245 + 28521.0927782546*t);
L0 += 0.00000004608*Math.cos(1.93302031704 + 4705.7323075436*t);
L0 += 0.00000005526*Math.cos(3.36797150122 + 25158.6017197654*t);
L0 += 0.00000003863*Math.cos(4.89351765621 + 25934.1243310894*t);
L0 += 0.00000005303*Math.cos(0.08161035601 + 39302.096962196*t);
L0 += 0.00000004254*Math.cos(5.36046525146 + 21535.9496445154*t);
L0 += 0.00000003763*Math.cos(1.05304597315 + 19.66976089979*t);
L0 += 0.00000004407*Math.cos(4.02575372996 + 74.7815985673*t);
L0 += 0.00000004145*Math.cos(1.14356412295 + 9676.4810341156*t);
L0 += 0.00000004318*Math.cos(4.38289970585 + 316.3918696566*t);
L0 += 0.00000003642*Math.cos(6.11733531450 + 3128.3887650958*t);
L0 += 0.00000003238*Math.cos(5.39551036769 + 419.4846438752*t);
L0 += 0.00000003909*Math.cos(4.05263635330 + 9690.7081281172*t);
L0 += 0.00000003173*Math.cos(0.74132026653 + 16496.3613962024*t);
L0 += 0.00000003496*Math.cos(0.72415151509 + 3723.508958923*t);
L0 += 0.00000003755*Math.cos(3.80208523566 + 19786.67380610799*t);
L0 += 0.00000003016*Math.cos(1.57249073681 + 17277.4069318338*t);
L0 += 0.00000002858*Math.cos(3.31246198673 + 32217.2001810808*t);
L0 += 0.00000003825*Math.cos(0.19612307327 + 426.598190876*t);
L0 += 0.00000003798*Math.cos(0.45524571743 + 10316.3783204296*t);
L0 += 0.00000002570*Math.cos(1.20813798183 + 13936.794505134*t);
L0 += 0.00000002796*Math.cos(3.65128969074 + 206.1855484372*t);
L0 += 0.00000002466*Math.cos(3.61988425580 + 1551.045222648*t);
L0 += 0.00000003108*Math.cos(1.50324979041 + 43232.3066584156*t);
L0 += 0.00000002976*Math.cos(4.79414174980 + 29088.811415985*t);
L0 += 0.00000002196*Math.cos(3.57357339264 + 24356.7807886416*t);
L0 += 0.00000002227*Math.cos(4.96059090976 + 536.8045120954*t);
L0 += 0.00000002397*Math.cos(3.45249688427 + 19374.3027092336*t);
L0 += 0.00000002462*Math.cos(0.53295346740 + 19360.07561523199*t);
L0 += 0.00000002205*Math.cos(2.70398708223 + 12592.4500197826*t);
L0 += 0.00000002230*Math.cos(3.01413989795 + 18875.525869774*t);
L0 += 0.00000001858*Math.cos(4.06129093893 + 2379.1644735716*t);
L0 += 0.00000001807*Math.cos(3.15086244011 + 9573.388259897*t);
L0 += 0.00000002238*Math.cos(5.52216925076 + 10138.5039476437*t);
L0 += 0.00000002195*Math.cos(2.32046407873 + 8094.5216858326*t);
L0 += 0.00000002101*Math.cos(2.90421302974 + 9967.4538999816*t);
L0 += 0.00000001916*Math.cos(4.56513913980 + 2218.7571041868*t);
L0 += 0.00000001467*Math.cos(2.42640162464 + 10234.0609417034*t);
L0 += 0.00000001726*Math.cos(5.59790615295 + 20452.8694122218*t);
L0 += 0.00000001455*Math.cos(2.44757225671 + 1589.0728952838*t);
L0 += 0.00000001991*Math.cos(4.04623282256 + 31749.2351907264*t);
L0 += 0.00000001406*Math.cos(2.71737807375 + 16983.9961474566*t);
L0 += 0.00000001658*Math.cos(0.11252373292 + 153.7788104848*t);
L0 += 0.00000001851*Math.cos(2.92897863746 + 47162.5163546352*t);
L0 += 0.00000001492*Math.cos(1.07515446511 + 9103.9069941176*t);
L0 += 0.00000001247*Math.cos(2.48433636140 + 17778.11626694899*t);
L0 += 0.00000001549*Math.cos(4.20555105766 + 3442.5749449654*t);
L0 += 0.00000001243*Math.cos(3.95452438599 + 170.6728706192*t);
L0 += 0.00000001694*Math.cos(6.20691533902 + 33019.0211122046*t);
L0 += 0.00000001221*Math.cos(4.77932060567 + 30110.1656735384*t);
L0 += 0.00000001206*Math.cos(0.30531254531 + 29864.334027309*t);
L0 += 0.00000001238*Math.cos(5.05581030425 + 20213.271996984*t);
L0 += 0.00000001152*Math.cos(3.26229919481 + 11.729352836*t);
L0 += 0.00000001179*Math.cos(1.69491078238 + 20400.2727726222*t);
L0 += 0.00000001165*Math.cos(2.88995128147 + 574.3447983348*t);
L0 += 0.00000001306*Math.cos(0.14519568603 + 9146.790069021*t);
L0 += 0.00000001113*Math.cos(1.52599723495 + 10426.584641649*t);
L0 += 0.00000001045*Math.cos(0.57538516899 + 15874.6175953632*t);
L0 += 0.00000001105*Math.cos(2.54593760294 + 18849.2275499742*t);
L0 += 0.00000001360*Math.cos(2.41974967161 + 38734.3783244656*t);
L0 += 0.00000000981*Math.cos(4.37930757970 + 110.2063212194*t);
L0 += 0.00000001146*Math.cos(4.54241415687 + 10220.3990932118*t);
L0 += 0.00000001091*Math.cos(0.48630333703 + 51066.427731055*t);
L0 += 0.00000000981*Math.cos(1.65915064734 + 10103.0792249916*t);
L0 += 0.00000001270*Math.cos(4.69374306132 + 9050.8108418032*t);
L0 += 0.00000001065*Math.cos(4.41646204804 + 22805.7355659936*t);
L0 += 0.00000000854*Math.cos(2.34437927295 + 6681.2248533996*t);
L0 += 0.00000001104*Math.cos(0.49781459714 + 1.4844727083*t);
L0 += 0.00000001075*Math.cos(1.09857593161 + 377.3736079158*t);
L0 += 0.00000001114*Math.cos(4.35024212108 + 51092.7260508548*t);
L0 += 0.00000000829*Math.cos(5.41196376472 + 27991.40181316*t);
L0 += 0.00000000900*Math.cos(2.74195213638 + 41962.5207369374*t);
L0 += 0.00000001010*Math.cos(2.96092073452 + 135.62532501*t);
L0 += 0.00000000768*Math.cos(3.98260860494 + 18844.61174413899*t);
L0 += 0.00000001018*Math.cos(1.36889990282 + 36949.2308084242*t);
L0 += 0.00000000725*Math.cos(1.67729445754 + 21202.093703746*t);
L0 += 0.00000000727*Math.cos(0.89048212541 + 467.9649903544*t);
L0 += 0.00000000869*Math.cos(2.93235455158 + 10192.5101507186*t);
L0 += 0.00000000696*Math.cos(5.35698039414 + 10063.7223490764*t);
L0 += 0.00000000920*Math.cos(4.17128923588 + 18734.4054229196*t);
L0 += 0.00000000691*Math.cos(1.50594847085 + 27197.2816936676*t);
L0 += 0.00000000835*Math.cos(0.48049677664 + 20618.0193585336*t);
L0 += 0.00000000711*Math.cos(0.19750098222 + 18830.38465013739*t);
L0 += 0.00000000811*Math.cos(0.16685071959 + 12432.0426503978*t);
L0 += 0.00000000756*Math.cos(3.79022449760 + 9161.0171630226*t);
L0 += 0.00000000622*Math.cos(5.33660452826 + 9411.4646150872*t);
L0 += 0.00000000862*Math.cos(5.72705356405 + 10175.1525105732*t);
L0 += 0.00000000853*Math.cos(0.10404194066 + 2107.0345075424*t);
L0 += 0.00000000742*Math.cos(3.96365892051 + 813.5502839598*t);
L0 += 0.00000000705*Math.cos(0.71229660616 + 220.4126424388*t);
L0 += 0.00000000584*Math.cos(1.71900692700 + 36.0278666774*t);
L0 += 0.00000000612*Math.cos(0.36418385449 + 949.1756089698*t);
L0 += 0.00000000587*Math.cos(1.58648949290 + 6.62855890001*t);
L0 += 0.00000000581*Math.cos(5.49288908804 + 6309.3741697912*t);
L0 += 0.00000000581*Math.cos(4.80362317972 + 24150.080051345*t);
L0 += 0.00000000516*Math.cos(6.07328802561 + 38.1330356378*t);
L0 += 0.00000000627*Math.cos(5.47281424955 + 9580.5018068978*t);
L0 += 0.00000000601*Math.cos(1.40500080384 + 1162.4747044078*t);
L0 += 0.00000000620*Math.cos(4.00681042667 + 9992.8729037722*t);
L0 += 0.00000000611*Math.cos(3.62010998629 + 7255.5696517344*t);
L0 += 0.00000000697*Math.cos(2.22359630727 + 348.924420448*t);
L0 += 0.00000000569*Math.cos(0.23482601786 + 37410.5672398786*t);
L0 += 0.00000000693*Math.cos(5.77432072851 + 55022.9357470744*t);
L0 += 0.00000000494*Math.cos(0.29762226375 + 7058.5984613154*t);
L0 += 0.00000000487*Math.cos(5.86917216517 + 10137.0194749354*t);
L0 += 0.00000000493*Math.cos(2.04534833854 + 735.8765135318*t);
L0 += 0.00000000636*Math.cos(2.79707415908 + 40879.4405046438*t);
L0 += 0.00000000519*Math.cos(4.13931655130 + 16522.6597160022*t);
L0 += 0.00000000535*Math.cos(4.60569597820 + 19573.37471066999*t);
L0 += 0.00000000555*Math.cos(5.88120469821 + 26735.9452622132*t);
L0 += 0.00000000440*Math.cos(5.61490952812 + 23958.6317852334*t);
L0 += 0.00000000541*Math.cos(0.62494922735 + 10007.0999977738*t);
L0 += 0.00000000427*Math.cos(4.02335620501 + 14.2270940016*t);
L0 += 0.00000000434*Math.cos(0.29028429049 + 9264.1099372412*t);
L0 += 0.00000000451*Math.cos(1.66321968415 + 26087.9031415742*t);
L0 += 0.00000000422*Math.cos(3.38413582674 + 10787.6303445458*t);
L0 += 0.00000000568*Math.cos(5.14001584538 + 27490.6924780448*t);
L0 += 0.00000000421*Math.cos(4.23407420790 + 39793.7602546548*t);
L0 += 0.00000000458*Math.cos(5.28786368820 + 49.7570254718*t);
L0 += 0.00000000418*Math.cos(5.69090817000 + 14765.2390432698*t);
L0 += 0.00000000475*Math.cos(0.97544690438 + 1052.2683831884*t);
L0 += 0.00000000387*Math.cos(4.41665162999 + 21.8508293264*t);
L0 += 0.00000000523*Math.cos(2.90512729055 + 20235.1228263104*t);
L0 += 0.00000000506*Math.cos(5.26999240626 + 29999.959352319*t);
L0 += 0.00000000530*Math.cos(0.71374608018 + 33794.5437235286*t);
L0 += 0.00000000434*Math.cos(2.49892103222 + 20956.2620575166*t);
L0 += 0.00000000382*Math.cos(1.92119365480 + 3.9321532631*t);
L0 += 0.00000000365*Math.cos(3.81713155389 + 20419.45754542119*t);
L0 += 0.00000000426*Math.cos(2.06384189772 + 38204.687359371*t);
L0 += 0.00000000496*Math.cos(0.44077356179 + 9835.9119382952*t);
L0 += 0.00000000410*Math.cos(4.93346330078 + 19264.0963880142*t);
L0 += 0.00000000380*Math.cos(3.79573339943 + 8521.1198767086*t);
L0 += 0.00000000334*Math.cos(5.51158557800 + 10251.3132188468*t);
L0 += 0.00000000412*Math.cos(2.56129670728 + 77.673770428*t);
L0 += 0.00000000418*Math.cos(2.37865963521 + 32.5325507914*t);
L0 += 0.00000000325*Math.cos(6.03020523465 + 18947.7045183576*t);
L0 += 0.00000000400*Math.cos(0.91999360201 + 227.476132789*t);
L0 += 0.00000000437*Math.cos(0.91420135162 + 58953.145443294*t);
L0 += 0.00000000360*Math.cos(0.82477639126 + 22.7752014508*t);
L0 += 0.00000000413*Math.cos(4.22381925464 + 44809.6502008634*t);
L0 += 0.00000000375*Math.cos(3.15657291896 + 19992.85935454519*t);
L0 += 0.00000000371*Math.cos(6.05370874275 + 20007.0864485468*t);
L0 += 0.00000000361*Math.cos(5.44371227904 + 19470.28193645139*t);
L0 += 0.00000000386*Math.cos(5.28104804025 + 47623.8527860896*t);
L0 += 0.00000000389*Math.cos(0.73216672240 + 19050.7972925762*t);
L0 += 0.00000000320*Math.cos(2.84811591194 + 10199.0584522094*t);
L0 += 0.00000000386*Math.cos(3.88754165531 + 1975.492545856*t);
L0 += 0.00000000279*Math.cos(0.50274101065 + 9830.3890139878*t);
L0 += 0.00000000276*Math.cos(4.33978638152 + 20809.4676246452*t);
L0 += 0.00000000309*Math.cos(3.79299100668 + 18204.71445782499*t);
L0 += 0.00000000377*Math.cos(0.73768790585 + 11506.7697697936*t);
L0 += 0.00000000322*Math.cos(0.96113438814 + 30666.1549584328*t);
L0 += 0.00000000363*Math.cos(1.30472406690 + 9367.2027114598*t);
L0 += 0.00000000366*Math.cos(2.79974205585 + 11272.6674764002*t);
L0 += 0.00000000271*Math.cos(4.66141338193 + 846.0828347512*t);
L0 += 0.00000000259*Math.cos(0.42024142711 + 39264.0692895602*t);
L0 += 0.00000000285*Math.cos(0.40546033634 + 30.914125635*t);
L0 += 0.00000000247*Math.cos(4.80676152850 + 36147.4098773004*t);
L0 += 0.00000000264*Math.cos(2.71608177583 + 11.0457002639*t);
L0 += 0.00000000233*Math.cos(2.76423842887 + 187.9251477626*t);
L0 += 0.00000000248*Math.cos(1.60765612335 + 10497.1448650762*t);
L0 += 0.00000000271*Math.cos(0.82348919630 + 19793.7873531088*t);
L0 += 0.00000000225*Math.cos(3.80080911298 + 8631.326197928*t);
L0 += 0.00000000263*Math.cos(1.92319161528 + 37724.7534197482*t);
L0 += 0.00000000214*Math.cos(5.01663561403 + 639.897286314*t);
L0 += 0.00000000289*Math.cos(0.12342601246 + 20277.0078952874*t);
L0 += 0.00000000210*Math.cos(0.12771800254 + 29.8214381488*t);
L0 += 0.00000000227*Math.cos(4.18036609801 + 17468.8551979454*t);
L0 += 0.00000000200*Math.cos(3.67516531895 + 30213.258447757*t);
L0 += 0.00000000274*Math.cos(2.34929343000 + 62883.3551395136*t);
L0 += 0.00000000260*Math.cos(5.65254501655 + 48739.859897083*t);
L0 += 0.00000000271*Math.cos(4.95325404028 + 4214.0690150848*t);
L0 += 0.00000000219*Math.cos(2.08775228014 + 194.9713844606*t);
L0 += 0.00000000191*Math.cos(2.49267248333 + 568.8218740274*t);
L0 += 0.00000000231*Math.cos(0.85116556400 + 52670.0695933026*t);
L0 += 0.00000000250*Math.cos(1.52909737354 + 6037.244203762*t);
L0 += 0.00000000231*Math.cos(5.23674429498 + 491.6632924588*t);
L0 += 0.00000000182*Math.cos(4.98046042571 + 18418.01355326299*t);
L0 += 0.00000000188*Math.cos(2.82273639603 + 1385.8952763362*t);
L0 += 0.00000000204*Math.cos(4.09938646222 + 14919.0178537546*t);
L0 += 0.00000000176*Math.cos(3.82400982460 + 9360.089164459*t);
L0 += 0.00000000198*Math.cos(2.76491873243 + 10217.2176994741*t);
L0 += 0.00000000168*Math.cos(5.19268690225 + 1066.49547719*t);
L0 += 0.00000000199*Math.cos(1.95274291865 + 7564.830720738*t);
L0 += 0.00000000172*Math.cos(5.29332134227 + 11764.330768859*t);
L0 += 0.00000000164*Math.cos(3.25435371801 + 3914.9572250346*t);
L0 += 0.00000000200*Math.cos(3.82443218090 + 18314.9207790444*t);
L0 += 0.00000000203*Math.cos(5.93253927885 + 8617.0991039264*t);
L0 += 0.00000000169*Math.cos(1.78341902846 + 31022.7531708562*t);
L0 += 0.00000000160*Math.cos(2.84901702400 + 10207.7626219036*t);
L0 += 0.00000000159*Math.cos(2.09236390117 + 17248.4253018544*t);
L0 += 0.00000000179*Math.cos(0.90840065587 + 7880.08915333899*t);
L0 += 0.00000000163*Math.cos(2.79665037814 + 41.5507909848*t);
L0 += 0.00000000153*Math.cos(0.07463240782 + 28528.2063252554*t);
L0 += 0.00000000199*Math.cos(2.48348609726 + 34596.3646546524*t);
L0 += 0.00000000149*Math.cos(2.59213969874 + 43071.8992890308*t);
L0 += 0.00000000149*Math.cos(2.17259986337 + 9929.4262273458*t);
L0 += 0.00000000156*Math.cos(5.20953676299 + 22645.32819660879*t);
L0 += 0.00000000148*Math.cos(2.94331271107 + 41654.9631159678*t);
L0 += 0.00000000149*Math.cos(4.49800344900 + 30831.3049047446*t);
L0 += 0.00000000159*Math.cos(2.11138069179 + 19317.1925403286*t);
L0 += 0.00000000154*Math.cos(2.76536164654 + 28513.97923125379*t);
L0 += 0.00000000140*Math.cos(4.94595038686 + 9256.9963902404*t);
L0 += 0.00000000141*Math.cos(2.57248608474 + 13553.8979729108*t);
L0 += 0.00000000137*Math.cos(1.66482327575 + 2636.725472637*t);
L0 += 0.00000000136*Math.cos(4.14497573316 + 2333.196392872*t);
L0 += 0.00000000133*Math.cos(3.91457156721 + 32858.61374281979*t);
L0 += 0.00000000140*Math.cos(2.90644630691 + 48947.6638706766*t);
L0 += 0.00000000156*Math.cos(6.01143377008 + 29057.89729034999*t);
L0 += 0.00000000134*Math.cos(5.75241675118 + 68050.42387851159*t);
L0 += 0.00000000154*Math.cos(3.66827363753 + 276.7457718644*t);
L0 += 0.00000000176*Math.cos(3.77298381177 + 66813.5648357332*t);
L0 += 0.00000000126*Math.cos(5.00217740223 + 27461.7108480654*t);
L0 += 0.00000000135*Math.cos(1.34807013920 + 53285.1848352418*t);
L0 += 0.00000000150*Math.cos(0.25029475344 + 290.972865866*t);
L0 += 0.00000000152*Math.cos(3.13035647340 + 29043.67019634839*t);
L0 += 0.00000000169*Math.cos(5.04348109430 + 73.297125859*t);
L0 += 0.00000000166*Math.cos(5.39219948035 + 41236.0387170672*t);
L0 += 0.00000000115*Math.cos(2.02657557658 + 37674.9963942764*t);
L0 += 0.00000000163*Math.cos(5.59796070948 + 7576.560073574*t);
L0 += 0.00000000126*Math.cos(0.77391784606 + 49.9966219042*t);
L0 += 0.00000000163*Math.cos(0.44241846674 + 20350.3050211464*t);
L0 += 0.00000000136*Math.cos(3.09066368912 + 418.9243989006*t);
L0 += 0.00000000154*Math.cos(0.47086190960 + 28418.000004036*t);
L0 += 0.00000000125*Math.cos(5.46344374133 + 22779.4372461938*t);
L0 += 0.00000000136*Math.cos(4.17495174196 + 42430.4857272918*t);
L0 += 0.00000000120*Math.cos(0.88537349448 + 29573.361161443*t);
L0 += 0.00000000132*Math.cos(1.48003093721 + 17085.9586657222*t);
L0 += 0.00000000126*Math.cos(1.39497760964 + 966.9708774356*t);
L0 += 0.00000000126*Math.cos(0.16302255819 + 67589.08744705719*t);
L0 += 0.00000000111*Math.cos(2.50223464050 + 20405.7956969296*t);
L0 += 0.00000000143*Math.cos(3.84026797958 + 14128.2427712456*t);
L0 += 0.00000000108*Math.cos(4.57687521213 + 30426.557543195*t);
L0 += 0.00000000147*Math.cos(2.11609860260 + 34363.365597556*t);
L0 += 0.00000000133*Math.cos(1.07792835035 + 20639.87018786*t);
L0 += 0.00000000106*Math.cos(1.43873202489 + 27682.1407441564*t);
L0 += 0.00000000149*Math.cos(0.09286508794 + 8144.2787113044*t);
L0 += 0.00000000103*Math.cos(0.01992041470 + 18300.69368504279*t);
L0 += 0.00000000116*Math.cos(5.27605692179 + 8734.4189721466*t);
L0 += 0.00000000121*Math.cos(3.57602835443 + 45.1412196366*t);
L0 += 0.00000000125*Math.cos(0.11630302078 + 149.5631971346*t);
L0 += 0.00000000108*Math.cos(5.23732413902 + 14169.7935622304*t);
L0 += 0.00000000113*Math.cos(4.57267032764 + 20447.3464879144*t);
L0 += 0.00000000099*Math.cos(1.51324741656 + 10419.4710946482*t);
L0 += 0.00000000105*Math.cos(1.70350302928 + 19580.4882576708*t);
L0 += 0.00000000133*Math.cos(3.02183293676 + 76251.32777062019*t);
L0 += 0.00000000136*Math.cos(4.17517197268 + 3646.3503773544*t);
L0 += 0.00000000097*Math.cos(6.25332492425 + 10198.033075026*t);
L0 += 0.00000000123*Math.cos(0.44045588682 + 515.463871093*t);
L0 += 0.00000000129*Math.cos(3.95296865191 + 38526.574350872*t);
L0 += 0.00000000113*Math.cos(5.69261397722 + 10110.1927719924*t);
L0 += 0.00000000098*Math.cos(6.23797900467 + 202.2533951741*t);
L0 += 0.00000000099*Math.cos(3.75627530197 + 59728.668054618*t);
L0 += 0.00000000101*Math.cos(4.62832512136 + 65236.2212932854*t);
L0 += 0.00000000111*Math.cos(1.25947267592 + 10846.0692855242*t);
L0 += 0.00000000126*Math.cos(4.45075374981 + 80181.53746683979*t);
L0 += 0.00000000110*Math.cos(5.87454529350 + 38500.2760310722*t);
L0 += 0.00000000093*Math.cos(0.03768705119 + 90695.75207512038*t);
L0 += 0.00000000128*Math.cos(6.01024562160 + 90394.82301305079*t);
L0 += 0.00000000091*Math.cos(1.77665981007 + 1539.315869812*t);
L0 += 0.00000000092*Math.cos(0.99804571578 + 95.9792272178*t);
L0 += 0.00000000117*Math.cos(2.24143299549 + 56600.2792895222*t);
L0 += 0.00000000118*Math.cos(6.09121325940 + 29786.660256881*t);
L0 += 0.00000000098*Math.cos(4.60938156207 + 11787.1059703098*t);
L0 += 0.00000000097*Math.cos(3.92727733144 + 11794.1522070078*t);
L0 += 0.00000000085*Math.cos(5.30575031807 + 19624.7501612982*t);
L0 += 0.00000000106*Math.cos(0.82812501368 + 24383.0791084414*t);
L0 += 0.00000000085*Math.cos(5.69642646462 + 37703.9780242558*t);
L0 += 0.00000000114*Math.cos(5.19676285428 + 70743.77453195279*t);
L0 += 0.00000000081*Math.cos(5.51324815184 + 412.3710968744*t);
L0 += 0.00000000080*Math.cos(5.77520799089 + 10632.7701900862*t);
L0 += 0.00000000089*Math.cos(2.13409771828 + 44768.0994098786*t);
L0 += 0.00000000094*Math.cos(2.18120919704 + 28313.288804661*t);
L0 += 0.00000000088*Math.cos(0.57046254096 + 3956.5080160194*t);
L0 += 0.00000000078*Math.cos(4.47358603432 + 114.43928868521*t);
L0 += 0.00000000104*Math.cos(4.94045302010 + 45585.1728121874*t);
L0 += 0.00000000097*Math.cos(4.02223363553 + 10218.8084705184*t);
L0 += 0.00000000094*Math.cos(5.81137122373 + 69166.430989505*t);
L0 += 0.00000000076*Math.cos(0.78247116213 + 9793.8009023358*t);
L0 += 0.00000000079*Math.cos(4.73339536112 + 24978.5245894808*t);
L0 += 0.00000000101*Math.cos(4.81437377872 + 58177.62283197*t);
L0 += 0.00000000097*Math.cos(3.61746670975 + 60530.4889857418*t);
L0 += 0.00000000088*Math.cos(4.87010387338 + 63658.8777508376*t);
L0 += 0.00000000088*Math.cos(5.17408120336 + 48417.97290558199*t);
L0 += 0.00000000078*Math.cos(5.81927313665 + 567.7186377304*t);
L0 += 0.00000000077*Math.cos(6.16012067704 + 1573.8204240988*t);
L0 += 0.00000000084*Math.cos(0.62512782571 + 18100.00325845*t);
L0 += 0.00000000076*Math.cos(5.12867208321 + 49515.382508407*t);
L0 += 0.00000000067*Math.cos(0.24541021814 + 17271.8840075264*t);
L0 += 0.00000000069*Math.cos(0.29569499496 + 10175.2578735752*t);
L0 += 0.00000000088*Math.cos(5.43871184563 + 42456.7840470916*t);
L0 += 0.00000000079*Math.cos(0.30211728530 + 63498.47038145279*t);
L0 += 0.00000000080*Math.cos(2.69571879625 + 3149.1641605882*t);
L0 += 0.00000000061*Math.cos(4.80385228047 + 19889.76658032659*t);
L0 += 0.00000000084*Math.cos(0.22956807093 + 88817.47947060299*t);
L0 += 0.00000000060*Math.cos(0.46406912136 + 36301.18868778519*t);
L0 += 0.00000000071*Math.cos(0.76007659495 + 57837.1383323006*t);
L0 += 0.00000000081*Math.cos(5.24314123043 + 36173.7081971002*t);
L0 += 0.00000000057*Math.cos(3.07470109636 + 2118.7638603784*t);
L0 += 0.00000000075*Math.cos(0.66947402578 + 10735.8629643048*t);
L0 += 0.00000000058*Math.cos(4.94877232192 + 47888.2819404874*t);
L0 += 0.00000000068*Math.cos(0.96147256965 + 24341.5283174566*t);
L0 += 0.00000000076*Math.cos(0.15485592669 + 68390.90837818099*t);
L0 += 0.00000000064*Math.cos(3.61826420613 + 32243.4985008806*t);
L0 += 0.00000000062*Math.cos(1.59487827272 + 39999.945803092*t);
L0 += 0.00000000063*Math.cos(0.16823121009 + 53445.5922046266*t);
L0 += 0.00000000052*Math.cos(2.85553976522 + 10323.4918674304*t);
L0 += 0.00000000058*Math.cos(1.07613515145 + 11692.1521202754*t);
L0 += 0.00000000052*Math.cos(2.34807495268 + 26709.6469424134*t);
L0 += 0.00000000062*Math.cos(4.09802218900 + 34554.8138636676*t);
L0 += 0.00000000048*Math.cos(0.76057327599 + 44783.3518810636*t);
L0 += 0.00000000067*Math.cos(0.07870600216 + 47964.337285759*t);
L0 += 0.00000000048*Math.cos(5.30855519348 + 48733.23133818299*t);
L0 += 0.00000000047*Math.cos(3.09314000663 + 70269.18098269838*t);
L0 += 0.00000000053*Math.cos(5.53372176617 + 19903.99367432819*t);
L0 += 0.00000000057*Math.cos(2.43412854215 + 10228.538017396*t);
L0 += 0.00000000043*Math.cos(6.00071261364 + 47938.0389659592*t);
L0 += 0.00000000058*Math.cos(1.23233304711 + 59754.9663744178*t);
L0 += 0.00000000055*Math.cos(0.99068063794 + 21000.9158907568*t);
L0 += 0.00000000060*Math.cos(5.94539126752 + 69968.2519206288*t);
L0 += 0.00000000049*Math.cos(3.83996757537 + 38631.285550247*t);
L0 += 0.00000000042*Math.cos(4.73460925987 + 37895.4262903674*t);
L0 += 0.00000000044*Math.cos(1.75905995399 + 71519.2971432768*t);
L0 += 0.00000000043*Math.cos(6.08746206685 + 2957.7158944766*t);
L0 += 0.00000000040*Math.cos(1.31794872194 + 20529.66386664059*t);
L0 += 0.00000000046*Math.cos(4.41749158726 + 34570.0663348526*t);
L0 += 0.00000000045*Math.cos(2.60413561993 + 58101.5674866984*t);
L0 += 0.00000000037*Math.cos(4.69673401538 + 44007.8292697396*t);
L0 += 0.00000000039*Math.cos(2.32823034676 + 55798.4583583984*t);
L0 += 0.00000000051*Math.cos(1.76846419002 + 78604.19392439199*t);
L0 += 0.00000000038*Math.cos(1.28879356308 + 73096.64068572459*t);
L0 += 0.00000000048*Math.cos(1.18664500846 + 28306.66024576099*t);
L0 += 0.00000000036*Math.cos(0.64770877031 + 1478.8665740644*t);
L0 += 0.00000000048*Math.cos(0.40666475573 + 40103.9178933198*t);
return L0;
}
static double Venus_L1 (double t) // 235 terms of order 1
{
double L1 = 0;
L1 += 10213.28554621638;
L1 += 0.00095617813*Math.cos(2.46406511110 + 10213.285546211*t);
L1 += 0.00007787201*Math.cos(0.62478482220 + 20426.571092422*t);
L1 += 0.00000151666*Math.cos(6.10638559291 + 1577.3435424478*t);
L1 += 0.00000141694*Math.cos(2.12362986036 + 30639.856638633*t);
L1 += 0.00000173908*Math.cos(2.65539499463 + 26.2983197998*t);
L1 += 0.00000082235*Math.cos(5.70231469551 + 191.4482661116*t);
L1 += 0.00000069732*Math.cos(2.68128549229 + 9437.762934887*t);
L1 += 0.00000052292*Math.cos(3.60270736876 + 775.522611324*t);
L1 += 0.00000038313*Math.cos(1.03371309443 + 529.6909650946*t);
L1 += 0.00000029630*Math.cos(1.25050823203 + 5507.5532386674*t);
L1 += 0.00000025056*Math.cos(6.10650638660 + 10404.7338123226*t);
L1 += 0.00000017772*Math.cos(6.19369679929 + 1109.3785520934*t);
L1 += 0.00000016510*Math.cos(2.64360813203 + 7.1135470008*t);
L1 += 0.00000014231*Math.cos(5.45125927817 + 9153.9036160218*t);
L1 += 0.00000011627*Math.cos(4.97604433638 + 213.299095438*t);
L1 += 0.00000012563*Math.cos(1.88122194951 + 382.8965322232*t);
L1 += 0.00000008877*Math.cos(0.95245393457 + 13367.9726311066*t);
L1 += 0.00000007374*Math.cos(4.39476352550 + 10206.1719992102*t);
L1 += 0.00000006550*Math.cos(2.28168331756 + 2352.8661537718*t);
L1 += 0.00000006444*Math.cos(1.41156299643 + 40853.142184844*t);
L1 += 0.00000006269*Math.cos(4.08365791523 + 3154.6870848956*t);
L1 += 0.00000006702*Math.cos(5.05916048534 + 801.8209311238*t);
L1 += 0.00000004099*Math.cos(4.12235848112 + 18837.49819713819*t);
L1 += 0.00000004883*Math.cos(3.44513438224 + 11015.1064773348*t);
L1 += 0.00000003549*Math.cos(6.19934345402 + 5.5229243074*t);
L1 += 0.00000003448*Math.cos(1.77404222413 + 11322.6640983044*t);
L1 += 0.00000004290*Math.cos(0.08136342862 + 6283.0758499914*t);
L1 += 0.00000003699*Math.cos(2.48455675849 + 5661.3320491522*t);
L1 += 0.00000003671*Math.cos(1.48751015918 + 1059.3819301892*t);
L1 += 0.00000003018*Math.cos(2.23849523296 + 18073.7049386502*t);
L1 += 0.00000003000*Math.cos(0.39169917698 + 15.252471185*t);
L1 += 0.00000002776*Math.cos(1.45644767378 + 10239.5838660108*t);
L1 += 0.00000002463*Math.cos(0.36768007007 + 22003.9146348698*t);
L1 += 0.00000002954*Math.cos(5.34806371393 + 7084.8967811152*t);
L1 += 0.00000002350*Math.cos(2.36543900882 + 17298.1823273262*t);
L1 += 0.00000002405*Math.cos(2.36085521516 + 10596.1820784342*t);
L1 += 0.00000002471*Math.cos(2.11327686375 + 8635.9420037632*t);
L1 += 0.00000001717*Math.cos(4.72125604095 + 10186.9872264112*t);
L1 += 0.00000002135*Math.cos(4.46350370275 + 8624.2126509272*t);
L1 += 0.00000001626*Math.cos(0.86147271429 + 12566.1516999828*t);
L1 += 0.00000001523*Math.cos(0.67189933187 + 14143.4952424306*t);
L1 += 0.00000001473*Math.cos(2.59350470099 + 7064.1213856228*t);
L1 += 0.00000001474*Math.cos(5.92233777117 + 9786.687355335*t);
L1 += 0.00000001237*Math.cos(2.59741927942 + 4551.9534970588*t);
L1 += 0.00000001219*Math.cos(2.83617320089 + 9676.4810341156*t);
L1 += 0.00000001242*Math.cos(0.82080840456 + 10742.9765113056*t);
L1 += 0.00000001007*Math.cos(4.25205211647 + 426.598190876*t);
L1 += 0.00000001097*Math.cos(3.84455455465 + 21228.3920235458*t);
L1 += 0.00000001150*Math.cos(2.35531987378 + 9690.7081281172*t);
L1 += 0.00000001219*Math.cos(2.27326005102 + 522.5774180938*t);
L1 += 0.00000001101*Math.cos(3.74248862749 + 18307.8072320436*t);
L1 += 0.00000001031*Math.cos(2.03889374176 + 38.0276726358*t);
L1 += 0.00000000971*Math.cos(6.10589743884 + 3532.0606928114*t);
L1 += 0.00000000887*Math.cos(4.72636674421 + 10988.808157535*t);
L1 += 0.00000000927*Math.cos(1.05402087347 + 10021.8372800994*t);
L1 += 0.00000000821*Math.cos(2.60456032773 + 19.66976089979*t);
L1 += 0.00000000780*Math.cos(0.18364413336 + 4705.7323075436*t);
L1 += 0.00000000810*Math.cos(1.32033186808 + 19896.8801273274*t);
L1 += 0.00000000744*Math.cos(3.33129743110 + 536.8045120954*t);
L1 += 0.00000000797*Math.cos(2.23891817601 + 3723.508958923*t);
L1 += 0.00000000709*Math.cos(5.95126881058 + 20.7753954924*t);
L1 += 0.00000000894*Math.cos(1.08522968560 + 11790.6290886588*t);
L1 += 0.00000000660*Math.cos(0.29717009501 + 7860.4193924392*t);
L1 += 0.00000000733*Math.cos(2.22147883292 + 19360.07561523199*t);
L1 += 0.00000000702*Math.cos(1.76206343944 + 19374.3027092336*t);
L1 += 0.00000000633*Math.cos(2.15202166788 + 16496.3613962024*t);
L1 += 0.00000000575*Math.cos(2.38792087791 + 6770.7106012456*t);
L1 += 0.00000000532*Math.cos(4.41576130890 + 574.3447983348*t);
L1 += 0.00000000518*Math.cos(1.52546538858 + 25934.1243310894*t);
L1 += 0.00000000479*Math.cos(0.30473233584 + 28286.9904848612*t);
L1 += 0.00000000576*Math.cos(5.41170044566 + 206.1855484372*t);
L1 += 0.00000000482*Math.cos(0.40816741074 + 3340.6124266998*t);
L1 += 0.00000000537*Math.cos(0.22055767322 + 19367.1891622328*t);
L1 += 0.00000000574*Math.cos(4.07672246337 + 19651.048481098*t);
L1 += 0.00000000501*Math.cos(3.08578363577 + 245.8316462294*t);
L1 += 0.00000000488*Math.cos(5.22318430105 + 25158.6017197654*t);
L1 += 0.00000000450*Math.cos(0.21279844600 + 11.729352836*t);
L1 += 0.00000000432*Math.cos(1.32004964493 + 103.0927742186*t);
L1 += 0.00000000434*Math.cos(5.91094755233 + 19786.67380610799*t);
L1 += 0.00000000421*Math.cos(2.71057839701 + 13936.794505134*t);
L1 += 0.00000000564*Math.cos(6.13266504618 + 3930.2096962196*t);
L1 += 0.00000000478*Math.cos(4.70225377704 + 14945.3161735544*t);
L1 += 0.00000000408*Math.cos(2.93857115699 + 10220.3990932118*t);
L1 += 0.00000000359*Math.cos(0.72354778897 + 419.4846438752*t);
L1 += 0.00000000449*Math.cos(1.44520508753 + 8662.240323563*t);
L1 += 0.00000000353*Math.cos(2.85616596224 + 29864.334027309*t);
L1 += 0.00000000333*Math.cos(1.41991315364 + 29580.4747084438*t);
L1 += 0.00000000443*Math.cos(1.93864343247 + 9146.790069021*t);
L1 += 0.00000000310*Math.cos(1.08363376581 + 20618.0193585336*t);
L1 += 0.00000000324*Math.cos(1.80146948625 + 18830.38465013739*t);
L1 += 0.00000000370*Math.cos(6.16895004656 + 2218.7571041868*t);
L1 += 0.00000000278*Math.cos(2.20429108375 + 18844.61174413899*t);
L1 += 0.00000000286*Math.cos(3.08458231517 + 17277.4069318338*t);
L1 += 0.00000000383*Math.cos(0.13900678695 + 4732.0306273434*t);
L1 += 0.00000000292*Math.cos(0.43530118043 + 29088.811415985*t);
L1 += 0.00000000273*Math.cos(5.84415383782 + 9573.388259897*t);
L1 += 0.00000000324*Math.cos(2.14135439540 + 9999.986450773*t);
L1 += 0.00000000264*Math.cos(5.20407029554 + 220.4126424388*t);
L1 += 0.00000000254*Math.cos(0.34417665274 + 28521.0927782546*t);
L1 += 0.00000000300*Math.cos(3.76015126903 + 8094.5216858326*t);
L1 += 0.00000000303*Math.cos(1.85088655195 + 1589.0728952838*t);
L1 += 0.00000000206*Math.cos(2.49682541324 + 51066.427731055*t);
L1 += 0.00000000206*Math.cos(0.97144383633 + 10234.0609417034*t);
L1 += 0.00000000212*Math.cos(0.24173677600 + 36.0278666774*t);
L1 += 0.00000000208*Math.cos(5.19345603406 + 24356.7807886416*t);
L1 += 0.00000000216*Math.cos(5.88607943223 + 18875.525869774*t);
L1 += 0.00000000258*Math.cos(6.27611237676 + 1551.045222648*t);
L1 += 0.00000000200*Math.cos(2.09314510849 + 9683.5945811164*t);
L1 += 0.00000000217*Math.cos(5.79530885159 + 9103.9069941176*t);
L1 += 0.00000000188*Math.cos(0.39123199129 + 19573.37471066999*t);
L1 += 0.00000000187*Math.cos(5.49670351645 + 170.6728706192*t);
L1 += 0.00000000233*Math.cos(3.85755192539 + 20400.2727726222*t);
L1 += 0.00000000178*Math.cos(4.90042854659 + 10787.6303445458*t);
L1 += 0.00000000188*Math.cos(1.62614657498 + 9161.0171630226*t);
L1 += 0.00000000177*Math.cos(1.88170417337 + 33019.0211122046*t);
L1 += 0.00000000209*Math.cos(2.66033526608 + 3442.5749449654*t);
L1 += 0.00000000164*Math.cos(5.04773317971 + 32217.2001810808*t);
L1 += 0.00000000162*Math.cos(4.92736966968 + 10426.584641649*t);
L1 += 0.00000000186*Math.cos(5.13678812068 + 7255.5696517344*t);
L1 += 0.00000000177*Math.cos(5.70206821967 + 9992.8729037722*t);
L1 += 0.00000000177*Math.cos(2.40042123486 + 20452.8694122218*t);
L1 += 0.00000000212*Math.cos(2.73881400176 + 3128.3887650958*t);
L1 += 0.00000000208*Math.cos(3.38876526854 + 17778.11626694899*t);
L1 += 0.00000000173*Math.cos(4.09215943674 + 33794.5437235286*t);
L1 += 0.00000000147*Math.cos(4.25008910034 + 16983.9961474566*t);
L1 += 0.00000000189*Math.cos(1.43553862242 + 2379.1644735716*t);
L1 += 0.00000000139*Math.cos(2.99154379541 + 110.2063212194*t);
L1 += 0.00000000159*Math.cos(5.23851679605 + 10007.0999977738*t);
L1 += 0.00000000169*Math.cos(2.67970563071 + 15720.8387848784*t);
L1 += 0.00000000136*Math.cos(0.88942869764 + 22805.7355659936*t);
L1 += 0.00000000155*Math.cos(5.90500835975 + 12592.4500197826*t);
L1 += 0.00000000151*Math.cos(0.03422618975 + 27991.40181316*t);
L1 += 0.00000000111*Math.cos(0.77661072477 + 6681.2248533996*t);
L1 += 0.00000000109*Math.cos(2.25388616761 + 26735.9452622132*t);
L1 += 0.00000000122*Math.cos(4.84805105466 + 19992.85935454519*t);
L1 += 0.00000000112*Math.cos(3.31796669604 + 36949.2308084242*t);
L1 += 0.00000000106*Math.cos(3.34507236765 + 10103.0792249916*t);
L1 += 0.00000000114*Math.cos(4.36384000196 + 20007.0864485468*t);
L1 += 0.00000000121*Math.cos(5.42385293514 + 37724.7534197482*t);
L1 += 0.00000000100*Math.cos(0.05731448574 + 30110.1656735384*t);
L1 += 0.00000000098*Math.cos(5.07711736751 + 135.62532501*t);
L1 += 0.00000000109*Math.cos(0.54849921587 + 21535.9496445154*t);
L1 += 0.00000000104*Math.cos(3.67555714699 + 21202.093703746*t);
L1 += 0.00000000103*Math.cos(2.65873403125 + 20213.271996984*t);
L1 += 0.00000000087*Math.cos(5.04316754485 + 9830.3890139878*t);
L1 += 0.00000000103*Math.cos(2.01542881355 + 45585.1728121874*t);
L1 += 0.00000000088*Math.cos(2.62613816931 + 21.8508293264*t);
L1 += 0.00000000084*Math.cos(3.50355880173 + 639.897286314*t);
L1 += 0.00000000099*Math.cos(0.61072730211 + 41654.9631159678*t);
L1 += 0.00000000081*Math.cos(0.46468679835 + 77.673770428*t);
L1 += 0.00000000092*Math.cos(4.82530051729 + 29043.67019634839*t);
L1 += 0.00000000090*Math.cos(4.34075776744 + 29057.89729034999*t);
L1 += 0.00000000081*Math.cos(0.01915973453 + 24150.080051345*t);
L1 += 0.00000000095*Math.cos(2.42613786510 + 23581.2581773176*t);
L1 += 0.00000000101*Math.cos(4.27032438869 + 15874.6175953632*t);
L1 += 0.00000000093*Math.cos(1.79250830018 + 12432.0426503978*t);
L1 += 0.00000000087*Math.cos(5.25157021446 + 14128.2427712456*t);
L1 += 0.00000000089*Math.cos(5.65756996753 + 377.3736079158*t);
L1 += 0.00000000076*Math.cos(1.32618111784 + 18300.69368504279*t);
L1 += 0.00000000097*Math.cos(5.67942873241 + 227.476132789*t);
L1 += 0.00000000076*Math.cos(2.93363913259 + 38204.687359371*t);
L1 += 0.00000000091*Math.cos(2.60544242067 + 1052.2683831884*t);
L1 += 0.00000000084*Math.cos(5.65355105405 + 17468.8551979454*t);
L1 += 0.00000000082*Math.cos(0.14972353998 + 29050.7837433492*t);
L1 += 0.00000000086*Math.cos(1.42751065635 + 11272.6674764002*t);
L1 += 0.00000000073*Math.cos(4.75280755154 + 40879.4405046438*t);
L1 += 0.00000000068*Math.cos(3.56578829793 + 30666.1549584328*t);
L1 += 0.00000000068*Math.cos(5.80655405181 + 20809.4676246452*t);
L1 += 0.00000000079*Math.cos(3.84440385450 + 27511.4678735372*t);
L1 += 0.00000000067*Math.cos(3.74236733721 + 49515.382508407*t);
L1 += 0.00000000064*Math.cos(4.24772678145 + 153.7788104848*t);
L1 += 0.00000000064*Math.cos(2.99454749109 + 27197.2816936676*t);
L1 += 0.00000000070*Math.cos(4.03868009742 + 56600.2792895222*t);
L1 += 0.00000000069*Math.cos(1.73648747605 + 37410.5672398786*t);
L1 += 0.00000000065*Math.cos(1.08206062736 + 68050.42387851159*t);
L1 += 0.00000000062*Math.cos(4.77698454650 + 3914.9572250346*t);
L1 += 0.00000000068*Math.cos(4.28465793234 + 39264.0692895602*t);
L1 += 0.00000000061*Math.cos(4.96121014691 + 34596.3646546524*t);
L1 += 0.00000000058*Math.cos(3.74010494151 + 1066.49547719*t);
L1 += 0.00000000063*Math.cos(0.15331622244 + 57375.8019008462*t);
L1 += 0.00000000057*Math.cos(5.42590958930 + 20419.45754542119*t);
L1 += 0.00000000057*Math.cos(3.59399518494 + 735.8765135318*t);
L1 += 0.00000000065*Math.cos(2.10322000074 + 74.7815985673*t);
L1 += 0.00000000065*Math.cos(4.21150522641 + 49.7570254718*t);
L1 += 0.00000000052*Math.cos(0.03409255574 + 18849.2275499742*t);
L1 += 0.00000000052*Math.cos(1.95168272115 + 18314.9207790444*t);
L1 += 0.00000000055*Math.cos(2.63906959481 + 52670.0695933026*t);
L1 += 0.00000000057*Math.cos(1.25081330234 + 10218.8084705184*t);
L1 += 0.00000000053*Math.cos(2.14346912907 + 13745.3462390224*t);
L1 += 0.00000000049*Math.cos(0.77417108584 + 35371.8872659764*t);
L1 += 0.00000000048*Math.cos(6.00565977593 + 283.8593188652*t);
L1 += 0.00000000050*Math.cos(4.45949921607 + 40077.61957352*t);
L1 += 0.00000000047*Math.cos(2.63299859494 + 51868.2486621788*t);
L1 += 0.00000000046*Math.cos(0.05105081843 + 38526.574350872*t);
L1 += 0.00000000050*Math.cos(4.37549274002 + 28513.97923125379*t);
L1 += 0.00000000046*Math.cos(2.93422086586 + 27682.1407441564*t);
L1 += 0.00000000062*Math.cos(0.41777498261 + 30831.3049047446*t);
L1 += 0.00000000053*Math.cos(1.55276873128 + 36301.18868778519*t);
L1 += 0.00000000051*Math.cos(5.45979584751 + 60530.4889857418*t);
L1 += 0.00000000051*Math.cos(2.02307685593 + 59728.668054618*t);
L1 += 0.00000000045*Math.cos(5.59492908223 + 467.9649903544*t);
L1 += 0.00000000046*Math.cos(5.16141298965 + 53445.5922046266*t);
L1 += 0.00000000045*Math.cos(5.79863400674 + 39793.7602546548*t);
L1 += 0.00000000044*Math.cos(2.35499883188 + 9411.4646150872*t);
L1 += 0.00000000043*Math.cos(5.62725673544 + 14.2270940016*t);
L1 += 0.00000000047*Math.cos(3.73567275749 + 64460.6986819614*t);
L1 += 0.00000000041*Math.cos(4.11417818861 + 14765.2390432698*t);
L1 += 0.00000000039*Math.cos(0.99375127466 + 94138.32702008578*t);
L1 += 0.00000000040*Math.cos(3.06358586355 + 813.5502839598*t);
L1 += 0.00000000039*Math.cos(6.21378797479 + 44809.6502008634*t);
L1 += 0.00000000038*Math.cos(5.90441887648 + 14919.0178537546*t);
L1 += 0.00000000037*Math.cos(1.08711907413 + 17085.9586657222*t);
L1 += 0.00000000039*Math.cos(1.31034025695 + 48739.859897083*t);
L1 += 0.00000000047*Math.cos(1.46478876042 + 38500.2760310722*t);
L1 += 0.00000000045*Math.cos(5.84053368365 + 37674.9963942764*t);
L1 += 0.00000000036*Math.cos(1.43280677914 + 42456.7840470916*t);
L1 += 0.00000000039*Math.cos(0.94257393865 + 16522.6597160022*t);
L1 += 0.00000000035*Math.cos(3.00235738584 + 36147.4098773004*t);
L1 += 0.00000000031*Math.cos(1.04908493403 + 20235.1228263104*t);
L1 += 0.00000000029*Math.cos(2.40482238520 + 22779.4372461938*t);
L1 += 0.00000000032*Math.cos(0.41152109043 + 10207.7626219036*t);
L1 += 0.00000000028*Math.cos(4.55982574192 + 69166.430989505*t);
L1 += 0.00000000026*Math.cos(5.74236795898 + 31441.6775697568*t);
L1 += 0.00000000027*Math.cos(0.29541194003 + 19999.97290154599*t);
L1 += 0.00000000033*Math.cos(4.76470012256 + 32858.61374281979*t);
L1 += 0.00000000032*Math.cos(2.73060531796 + 42430.4857272918*t);
L1 += 0.00000000031*Math.cos(6.16859793641 + 10192.5101507186*t);
L1 += 0.00000000022*Math.cos(5.00575021321 + 38741.4918714664*t);
L1 += 0.00000000023*Math.cos(1.31610007722 + 41962.5207369374*t);
L1 += 0.00000000025*Math.cos(3.71847476472 + 55798.4583583984*t);
L1 += 0.00000000020*Math.cos(3.45607652624 + 51092.7260508548*t);
L1 += 0.00000000022*Math.cos(4.07064236572 + 77026.8503819442*t);
L1 += 0.00000000020*Math.cos(3.00992711288 + 24383.0791084414*t);
L1 += 0.00000000023*Math.cos(2.62973172963 + 17248.4253018544*t);
return L1*t;
}
static double Venus_L2 (double t) // 72 terms of order 2
{
double L2 = 0;
L2 += 0.00003894209*Math.cos(0.34823650721 + 10213.285546211*t);
L2 += 0.00000595403*Math.cos(2.01456107998 + 20426.571092422*t);
L2 += 0.00000287868;
L2 += 0.00000023838*Math.cos(2.04588223604 + 26.2983197998*t);
L2 += 0.00000009964*Math.cos(3.97089333901 + 775.522611324*t);
L2 += 0.00000007196*Math.cos(3.65730119531 + 30639.856638633*t);
L2 += 0.00000007043*Math.cos(1.52107808192 + 1577.3435424478*t);
L2 += 0.00000006014*Math.cos(1.00039990357 + 191.4482661116*t);
L2 += 0.00000003167*Math.cos(4.36138169912 + 9437.762934887*t);
L2 += 0.00000001934*Math.cos(3.39260216059 + 382.8965322232*t);
L2 += 0.00000001459*Math.cos(6.05311371882 + 529.6909650946*t);
L2 += 0.00000001345*Math.cos(2.94746266562 + 5507.5532386674*t);
L2 += 0.00000001024*Math.cos(1.40825326249 + 10404.7338123226*t);
L2 += 0.00000001224*Math.cos(3.73276078401 + 3154.6870848956*t);
L2 += 0.00000001033*Math.cos(3.52850062173 + 11015.1064773348*t);
L2 += 0.00000000767*Math.cos(2.69606070058 + 40853.142184844*t);
L2 += 0.00000000954*Math.cos(5.11160150203 + 801.8209311238*t);
L2 += 0.00000000742*Math.cos(1.49195106907 + 1109.3785520934*t);
L2 += 0.00000000525*Math.cos(3.31953730020 + 213.299095438*t);
L2 += 0.00000000574*Math.cos(0.92286899335 + 10239.5838660108*t);
L2 += 0.00000000602*Math.cos(5.19233174414 + 7084.8967811152*t);
L2 += 0.00000000430*Math.cos(2.67149013569 + 13367.9726311066*t);
L2 += 0.00000000414*Math.cos(4.12761290944 + 8635.9420037632*t);
L2 += 0.00000000354*Math.cos(1.12184896586 + 9153.9036160218*t);
L2 += 0.00000000301*Math.cos(3.90093359463 + 10596.1820784342*t);
L2 += 0.00000000212*Math.cos(5.32697962605 + 18837.49819713819*t);
L2 += 0.00000000260*Math.cos(0.22263894789 + 2352.8661537718*t);
L2 += 0.00000000238*Math.cos(4.67681098719 + 6283.0758499914*t);
L2 += 0.00000000201*Math.cos(4.08110855678 + 11790.6290886588*t);
L2 += 0.00000000194*Math.cos(6.02724392286 + 7860.4193924392*t);
L2 += 0.00000000142*Math.cos(2.26680009846 + 12566.1516999828*t);
L2 += 0.00000000134*Math.cos(4.10542992676 + 17298.1823273262*t);
L2 += 0.00000000132*Math.cos(4.94076356419 + 14143.4952424306*t);
L2 += 0.00000000120*Math.cos(3.39720208207 + 11322.6640983044*t);
L2 += 0.00000000122*Math.cos(5.92478855457 + 574.3447983348*t);
L2 += 0.00000000123*Math.cos(0.09583563880 + 18073.7049386502*t);
L2 += 0.00000000093*Math.cos(0.40064005550 + 1059.3819301892*t);
L2 += 0.00000000092*Math.cos(5.49232517605 + 10021.8372800994*t);
L2 += 0.00000000084*Math.cos(4.89826807621 + 18307.8072320436*t);
L2 += 0.00000000074*Math.cos(2.35249523388 + 426.598190876*t);
L2 += 0.00000000093*Math.cos(4.99308589840 + 14945.3161735544*t);
L2 += 0.00000000082*Math.cos(5.40423993574 + 10186.9872264112*t);
L2 += 0.00000000077*Math.cos(3.75197709593 + 3723.508958923*t);
L2 += 0.00000000073*Math.cos(4.51758491759 + 22003.9146348698*t);
L2 += 0.00000000063*Math.cos(5.40172448808 + 21228.3920235458*t);
L2 += 0.00000000056*Math.cos(4.11553639116 + 7064.1213856228*t);
L2 += 0.00000000060*Math.cos(4.93370008569 + 19367.1891622328*t);
L2 += 0.00000000049*Math.cos(3.25379905760 + 4705.7323075436*t);
L2 += 0.00000000050*Math.cos(3.77184609210 + 16496.3613962024*t);
L2 += 0.00000000046*Math.cos(3.47336429841 + 24356.7807886416*t);
L2 += 0.00000000039*Math.cos(4.90344944830 + 10988.808157535*t);
L2 += 0.00000000043*Math.cos(5.95093813100 + 15720.8387848784*t);
L2 += 0.00000000046*Math.cos(0.17122496786 + 18875.525869774*t);
L2 += 0.00000000036*Math.cos(0.01596424782 + 32217.2001810808*t);
L2 += 0.00000000034*Math.cos(4.09532663146 + 51066.427731055*t);
L2 += 0.00000000035*Math.cos(5.21393402819 + 29088.811415985*t);
L2 += 0.00000000038*Math.cos(5.09836948659 + 20400.2727726222*t);
L2 += 0.00000000031*Math.cos(4.74821153380 + 28521.0927782546*t);
L2 += 0.00000000034*Math.cos(0.23500259595 + 1551.045222648*t);
L2 += 0.00000000028*Math.cos(6.22734256170 + 19896.8801273274*t);
L2 += 0.00000000027*Math.cos(2.91232520372 + 20452.8694122218*t);
L2 += 0.00000000024*Math.cos(0.49535690639 + 21202.093703746*t);
L2 += 0.00000000022*Math.cos(0.66358494216 + 25158.6017197654*t);
L2 += 0.00000000021*Math.cos(4.95420122738 + 28286.9904848612*t);
L2 += 0.00000000023*Math.cos(2.15949646745 + 20618.0193585336*t);
L2 += 0.00000000017*Math.cos(5.75476455324 + 19651.048481098*t);
L2 += 0.00000000014*Math.cos(4.88424354153 + 10742.9765113056*t);
L2 += 0.00000000016*Math.cos(1.22245134655 + 9683.5945811164*t);
L2 += 0.00000000012*Math.cos(3.40005378661 + 9830.3890139878*t);
L2 += 0.00000000012*Math.cos(6.06704683094 + 25934.1243310894*t);
L2 += 0.00000000011*Math.cos(3.73596829532 + 4732.0306273434*t);
L2 += 0.00000000010*Math.cos(5.50483756065 + 29580.4747084438*t);
return L2*t*t;
}
static double Venus_L3 (double t) // 7 terms of order 3
{
double L3 = 0;
L3 += 0.00000136328*Math.cos(4.79698723753 + 10213.285546211*t);
L3 += 0.00000030661*Math.cos(3.71663788064 + 20426.571092422*t);
L3 -= 0.00000003041;
L3 += 0.00000000506*Math.cos(5.34186957078 + 30639.856638633*t);
L3 += 0.00000000071*Math.cos(4.27707588774 + 40853.142184844*t);
L3 += 0.00000000008*Math.cos(1.76653383282 + 10186.9872264112*t);
L3 += 0.00000000006*Math.cos(5.61707828538 + 10239.5838660108*t);
return L3*t*t*t;
}
static double Venus_L4 (double t) // 4 terms of order 4
{
double L4 = 0;
L4 += 0.00000001636*Math.cos(2.50540811485 + 10213.285546211*t);
L4 += 0.00000001080*Math.cos(5.10106236574 + 20426.571092422*t);
L4 += 0.00000000018*Math.cos(0.88315856739 + 30639.856638633*t);
L4 += 0.00000000005*Math.cos(5.76650226003 + 40853.142184844*t);
return L4*t*t*t*t;
}
static double Venus_L5 (double t) // 2 terms of order 5
{
double L5 = 0;
L5 += 0.00000000122*Math.cos(1.88711724630 + 10213.285546211*t);
L5 += 0.00000000043*Math.cos(0.42125909290 + 20426.571092422*t);
return L5*t*t*t*t*t;
}
static double Venus_B0 (double t) // 210 terms of order 0
{
double B0 = 0;
B0 += 0.05923638472*Math.cos(0.26702775812 + 10213.285546211*t);
B0 += 0.00040107978*Math.cos(1.14737178112 + 20426.571092422*t);
B0 -= 0.00032814918;
B0 += 0.00001011392*Math.cos(1.08946119730 + 30639.856638633*t);
B0 += 0.00000149458*Math.cos(6.25390268112 + 18073.7049386502*t);
B0 += 0.00000137788*Math.cos(0.86020095586 + 1577.3435424478*t);
B0 += 0.00000129973*Math.cos(3.67152480061 + 9437.762934887*t);
B0 += 0.00000119507*Math.cos(3.70468787104 + 2352.8661537718*t);
B0 += 0.00000107971*Math.cos(4.53903678347 + 22003.9146348698*t);
B0 += 0.00000092029*Math.cos(1.53954519783 + 9153.9036160218*t);
B0 += 0.00000052982*Math.cos(2.28138198002 + 5507.5532386674*t);
B0 += 0.00000045617*Math.cos(0.72319646289 + 10239.5838660108*t);
B0 += 0.00000038855*Math.cos(2.93437865147 + 10186.9872264112*t);
B0 += 0.00000043491*Math.cos(6.14015779106 + 11790.6290886588*t);
B0 += 0.00000041700*Math.cos(5.99126840013 + 19896.8801273274*t);
B0 += 0.00000039644*Math.cos(3.86842103668 + 8635.9420037632*t);
B0 += 0.00000039175*Math.cos(3.94960158566 + 529.6909650946*t);
B0 += 0.00000033320*Math.cos(4.83194901518 + 14143.4952424306*t);
B0 += 0.00000023711*Math.cos(2.90647469167 + 10988.808157535*t);
B0 += 0.00000023501*Math.cos(2.00771051056 + 13367.9726311066*t);
B0 += 0.00000021809*Math.cos(2.69701690731 + 19651.048481098*t);
B0 += 0.00000020653*Math.cos(0.98666980431 + 775.522611324*t);
B0 += 0.00000016976*Math.cos(4.13711781587 + 10021.8372800994*t);
B0 += 0.00000017835*Math.cos(5.96267283261 + 25934.1243310894*t);
B0 += 0.00000014949*Math.cos(5.61073907363 + 10404.7338123226*t);
B0 += 0.00000018579*Math.cos(1.80529274878 + 40853.142184844*t);
B0 += 0.00000015408*Math.cos(3.29564350192 + 11015.1064773348*t);
B0 += 0.00000012936*Math.cos(5.42651380854 + 29580.4747084438*t);
B0 += 0.00000011961*Math.cos(3.57602108535 + 10742.9765113056*t);
B0 += 0.00000011827*Math.cos(1.19069755007 + 8624.2126509272*t);
B0 += 0.00000011466*Math.cos(5.12780356163 + 6283.0758499914*t);
B0 += 0.00000009485*Math.cos(2.75168410372 + 191.4482661116*t);
B0 += 0.00000013129*Math.cos(5.70734244216 + 9683.5945811164*t);
B0 += 0.00000008583*Math.cos(0.43182249198 + 9786.687355335*t);
B0 += 0.00000009762*Math.cos(0.14614751233 + 20618.0193585336*t);
B0 += 0.00000008149*Math.cos(1.30548940012 + 15720.8387848784*t);
B0 += 0.00000006050*Math.cos(6.26541666310 + 11322.6640983044*t);
B0 += 0.00000005955*Math.cos(4.92234246004 + 1059.3819301892*t);
B0 += 0.00000006983*Math.cos(3.44922389028 + 17298.1823273262*t);
B0 += 0.00000006228*Math.cos(1.13312066423 + 29864.334027309*t);
B0 += 0.00000006186*Math.cos(4.92496803755 + 19367.1891622328*t);
B0 += 0.00000006155*Math.cos(2.42413936688 + 4705.7323075436*t);
B0 += 0.00000005204*Math.cos(3.42528894645 + 9103.9069941176*t);
B0 += 0.00000006000*Math.cos(3.57638441137 + 3154.6870848956*t);
B0 += 0.00000004795*Math.cos(3.86669268805 + 7860.4193924392*t);
B0 += 0.00000005290*Math.cos(4.99182440452 + 7084.8967811152*t);
B0 += 0.00000004070*Math.cos(5.58794939725 + 12566.1516999828*t);
B0 += 0.00000003942*Math.cos(5.68758787835 + 10206.1719992102*t);
B0 += 0.00000003797*Math.cos(3.89520601076 + 10192.5101507186*t);
B0 += 0.00000003798*Math.cos(6.06410995916 + 10234.0609417034*t);
B0 += 0.00000003579*Math.cos(0.73789669232 + 4551.9534970588*t);
B0 += 0.00000003641*Math.cos(2.61501257209 + 15874.6175953632*t);
B0 += 0.00000003266*Math.cos(0.97519046577 + 23581.2581773176*t);
B0 += 0.00000002813*Math.cos(0.29952168976 + 9411.4646150872*t);
B0 += 0.00000003048*Math.cos(2.51084795752 + 33794.5437235286*t);
B0 += 0.00000002559*Math.cos(4.58049120677 + 801.8209311238*t);
B0 += 0.00000002462*Math.cos(5.05797190589 + 29050.7837433492*t);
B0 += 0.00000002593*Math.cos(5.73113176750 + 20213.271996984*t);
B0 += 0.00000002625*Math.cos(4.24272906572 + 213.299095438*t);
B0 += 0.00000002246*Math.cos(0.82114581737 + 28286.9904848612*t);
B0 += 0.00000002229*Math.cos(2.22457598233 + 10426.584641649*t);
B0 += 0.00000001742*Math.cos(1.48397982399 + 7058.5984613154*t);
B0 += 0.00000001660*Math.cos(5.42775872173 + 32217.2001810808*t);
B0 += 0.00000001491*Math.cos(4.64880136152 + 1109.3785520934*t);
B0 += 0.00000002010*Math.cos(0.75702888130 + 9999.986450773*t);
B0 += 0.00000001563*Math.cos(3.93962296253 + 37724.7534197482*t);
B0 += 0.00000001538*Math.cos(2.17314207854 + 21535.9496445154*t);
B0 += 0.00000001546*Math.cos(4.70759129230 + 14945.3161735544*t);
B0 += 0.00000001200*Math.cos(1.48266337604 + 9830.3890139878*t);
B0 += 0.00000001224*Math.cos(5.55090394425 + 5661.3320491522*t);
B0 += 0.00000001111*Math.cos(1.20281402179 + 9573.388259897*t);
B0 += 0.00000001064*Math.cos(1.98891375551 + 26.2983197998*t);
B0 += 0.00000001041*Math.cos(5.38535116069 + 7.1135470008*t);
B0 += 0.00000001036*Math.cos(1.16727012915 + 8662.240323563*t);
B0 += 0.00000001143*Math.cos(3.20596958339 + 3532.0606928114*t);
B0 += 0.00000001201*Math.cos(0.81922498884 + 8094.5216858326*t);
B0 += 0.00000001005*Math.cos(2.38430401606 + 27511.4678735372*t);
B0 += 0.00000001047*Math.cos(4.56525030764 + 20419.45754542119*t);
B0 += 0.00000000968*Math.cos(6.18496285828 + 25158.6017197654*t);
B0 += 0.00000001044*Math.cos(1.98033274400 + 10596.1820784342*t);
B0 += 0.00000000962*Math.cos(0.48573513747 + 23958.6317852334*t);
B0 += 0.00000000846*Math.cos(0.01577122167 + 3128.3887650958*t);
B0 += 0.00000000792*Math.cos(5.39683788914 + 24356.7807886416*t);
B0 += 0.00000000858*Math.cos(5.34721623594 + 41654.9631159678*t);
B0 += 0.00000000758*Math.cos(6.25923864937 + 20452.8694122218*t);
B0 += 0.00000000801*Math.cos(4.62406152514 + 9929.4262273458*t);
B0 += 0.00000000802*Math.cos(5.37234892520 + 10497.1448650762*t);
B0 += 0.00000000750*Math.cos(3.85221291360 + 21228.3920235458*t);
B0 += 0.00000000701*Math.cos(1.98087454891 + 3930.2096962196*t);
B0 += 0.00000000719*Math.cos(6.11596800207 + 10218.8084705184*t);
B0 += 0.00000000672*Math.cos(6.23429601211 + 14765.2390432698*t);
B0 += 0.00000000639*Math.cos(5.37595576896 + 1589.0728952838*t);
B0 += 0.00000000605*Math.cos(2.42330391120 + 10251.3132188468*t);
B0 += 0.00000000726*Math.cos(6.16679714176 + 18875.525869774*t);
B0 += 0.00000000613*Math.cos(5.99731180692 + 4732.0306273434*t);
B0 += 0.00000000720*Math.cos(3.84286345199 + 10207.7626219036*t);
B0 += 0.00000000637*Math.cos(6.17053891151 + 10220.3990932118*t);
B0 += 0.00000000515*Math.cos(1.03004255543 + 22779.4372461938*t);
B0 += 0.00000000574*Math.cos(0.43826866390 + 17085.9586657222*t);
B0 += 0.00000000510*Math.cos(1.41066951048 + 9161.0171630226*t);
B0 += 0.00000000569*Math.cos(3.34606383399 + 3340.6124266998*t);
B0 += 0.00000000608*Math.cos(1.25236241968 + 10175.2578735752*t);
B0 += 0.00000000524*Math.cos(2.39794248664 + 26087.9031415742*t);
B0 += 0.00000000543*Math.cos(1.34669062643 + 29088.811415985*t);
B0 += 0.00000000527*Math.cos(4.02005650673 + 18849.2275499742*t);
B0 += 0.00000000568*Math.cos(1.65449906239 + 39264.0692895602*t);
B0 += 0.00000000518*Math.cos(4.96996115441 + 30213.258447757*t);
B0 += 0.00000000515*Math.cos(5.78424359731 + 12592.4500197826*t);
B0 += 0.00000000538*Math.cos(4.56198503482 + 10063.7223490764*t);
B0 += 0.00000000484*Math.cos(4.18570967634 + 14919.0178537546*t);
B0 += 0.00000000493*Math.cos(4.79953014808 + 9146.790069021*t);
B0 += 0.00000000427*Math.cos(3.76882042266 + 11272.6674764002*t);
B0 += 0.00000000495*Math.cos(0.49176119118 + 45585.1728121874*t);
B0 += 0.00000000495*Math.cos(3.74294537743 + 31441.6775697568*t);
B0 += 0.00000000524*Math.cos(0.97969838972 + 30110.1656735384*t);
B0 += 0.00000000483*Math.cos(1.87898083461 + 51066.427731055*t);
B0 += 0.00000000505*Math.cos(3.70047474052 + 20400.2727726222*t);
B0 += 0.00000000351*Math.cos(4.34026574490 + 10137.0194749354*t);
B0 += 0.00000000356*Math.cos(5.56743301907 + 18837.49819713819*t);
B0 += 0.00000000328*Math.cos(3.78427378911 + 6681.2248533996*t);
B0 += 0.00000000349*Math.cos(4.20513745358 + 20956.2620575166*t);
B0 += 0.00000000333*Math.cos(4.44934899983 + 28521.0927782546*t);
B0 += 0.00000000296*Math.cos(2.83205515647 + 17277.4069318338*t);
B0 += 0.00000000311*Math.cos(2.57313811169 + 20809.4676246452*t);
B0 += 0.00000000294*Math.cos(0.75089224483 + 3149.1641605882*t);
B0 += 0.00000000377*Math.cos(3.98143310344 + 21202.093703746*t);
B0 += 0.00000000272*Math.cos(5.56146064111 + 16496.3613962024*t);
B0 += 0.00000000314*Math.cos(0.02584607106 + 13745.3462390224*t);
B0 += 0.00000000263*Math.cos(0.55359290511 + 36147.4098773004*t);
B0 += 0.00000000286*Math.cos(5.16408902152 + 426.598190876*t);
B0 += 0.00000000279*Math.cos(4.29871616015 + 19999.97290154599*t);
B0 += 0.00000000280*Math.cos(1.92923790310 + 49515.382508407*t);
B0 += 0.00000000265*Math.cos(4.81161712090 + 20235.1228263104*t);
B0 += 0.00000000273*Math.cos(5.12739677980 + 35371.8872659764*t);
B0 += 0.00000000307*Math.cos(5.28914601501 + 382.8965322232*t);
B0 += 0.00000000223*Math.cos(2.50591295336 + 26709.6469424134*t);
B0 += 0.00000000235*Math.cos(5.96522395118 + 10198.033075026*t);
B0 += 0.00000000234*Math.cos(3.52866583267 + 10228.538017396*t);
B0 += 0.00000000224*Math.cos(6.24561979791 + 7064.1213856228*t);
B0 += 0.00000000251*Math.cos(2.84752569358 + 33019.0211122046*t);
B0 += 0.00000000196*Math.cos(1.50610823821 + 31749.2351907264*t);
B0 += 0.00000000192*Math.cos(1.69322019350 + 13341.6743113068*t);
B0 += 0.00000000180*Math.cos(6.19353102835 + 39793.7602546548*t);
B0 += 0.00000000199*Math.cos(1.16466425386 + 22805.7355659936*t);
B0 += 0.00000000180*Math.cos(3.72630445822 + 1551.045222648*t);
B0 += 0.00000000172*Math.cos(3.35254224852 + 53445.5922046266*t);
B0 += 0.00000000195*Math.cos(1.51901264133 + 43232.3066584156*t);
B0 += 0.00000000174*Math.cos(2.84049662693 + 9967.4538999816*t);
B0 += 0.00000000163*Math.cos(4.29008955007 + 36949.2308084242*t);