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