[{ s =
   (DefStmt
      ({ name =
         (EN
            (Id (("fib", _),
               { id_resolved = ref (None);
                 id_resolved_alternatives = ref ([]); id_type = ref (None);
                 id_svalue = ref (Unknown); id_flags = ref (0);
                 id_info_id = _ }
               )));
         attrs = []; tparams = None },
       (FuncDef
          { fkind = (Function, _);
            fparams =
            (_,
             [(Param
                 { pname = (Some ("n", _));
                   ptype =
                   (Some { t =
                           (TyN
                              (Id (("int", _),
                                 { id_resolved = ref (None);
                                   id_resolved_alternatives = ref ([]);
                                   id_type = ref (None);
                                   id_svalue = ref (Unknown);
                                   id_flags = ref (0); id_info_id = _ }
                                 )));
                           t_attrs = [] });
                   pdefault = None; pattrs = [];
                   pinfo =
                   { id_resolved = ref ((Some (Parameter, _)));
                     id_resolved_alternatives = ref ([]);
                     id_type =
                     ref ((Some { t =
                                  (TyN
                                     (Id (("int", _),
                                        { id_resolved = ref (None);
                                          id_resolved_alternatives = ref ([]);
                                          id_type = ref (None);
                                          id_svalue = ref (Unknown);
                                          id_flags = ref (0); id_info_id = _
                                          }
                                        )));
                                  t_attrs = [] }));
                     id_svalue = ref (Unknown); id_flags = ref (0);
                     id_info_id = _ }
                   })
               ],
             _);
            frettype =
            (Some { t =
                    (TyN
                       (Id (("int", _),
                          { id_resolved = ref (None);
                            id_resolved_alternatives = ref ([]);
                            id_type = ref (None); id_svalue = ref (Unknown);
                            id_flags = ref (0); id_info_id = _ }
                          )));
                    t_attrs = [] });
            fbody =
            (FBExpr
               { e =
                 (Conditional (
                    { e =
                      (Call (
                         { e = (Special ((Op Gt), _)); e_id = 0;
                           e_range = None; is_implicit_return = false;
                           facts = <opaque> },
                         (_,
                          [(Arg
                              { e =
                                (N
                                   (Id (("n", _),
                                      { id_resolved =
                                        ref ((Some (Parameter, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyN
                                                        (Id (("int", _),
                                                           { id_resolved =
                                                             ref (None);
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref (None);
                                                             id_svalue =
                                                             ref (Unknown);
                                                             id_flags =
                                                             ref (0);
                                                             id_info_id = _ }
                                                           )));
                                                     t_attrs = [] }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                e_id = 0; e_range = None;
                                is_implicit_return = false; facts = <opaque>
                                });
                            (Arg
                               { e = (L (Int ((Some 2L), _))); e_id = 0;
                                 e_range = None; is_implicit_return = false;
                                 facts = <opaque> })
                            ],
                          _)
                         ));
                      e_id = 0; e_range = (Some (_, _));
                      is_implicit_return = false; facts = <opaque> },
                    { e =
                      (Call (
                         { e = (Special ((Op Plus), _)); e_id = 0;
                           e_range = None; is_implicit_return = false;
                           facts = <opaque> },
                         (_,
                          [(Arg
                              { e =
                                (Call (
                                   { e =
                                     (N
                                        (Id (("fib", _),
                                           { id_resolved = ref (None);
                                             id_resolved_alternatives =
                                             ref ([]); id_type = ref (None);
                                             id_svalue = ref (Unknown);
                                             id_flags = ref (0);
                                             id_info_id = _ }
                                           )));
                                     e_id = 0; e_range = None;
                                     is_implicit_return = false;
                                     facts = <opaque> },
                                   (_,
                                    [(Arg
                                        { e =
                                          (Call (
                                             { e = (Special ((Op Minus), _));
                                               e_id = 0; e_range = None;
                                               is_implicit_return = false;
                                               facts = <opaque> },
                                             (_,
                                              [(Arg
                                                  { e =
                                                    (N
                                                       (Id (("n", _),
                                                          { id_resolved =
                                                            ref ((Some (
                                                            Parameter, _)));
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyN
                                                                 (Id (
                                                                    (
                                                                    "int", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                              t_attrs = [] }));
                                                            id_svalue =
                                                            ref (Unknown);
                                                            id_flags =
                                                            ref (0);
                                                            id_info_id = _ }
                                                          )));
                                                    e_id = 0; e_range = None;
                                                    is_implicit_return =
                                                    false; facts = <opaque> });
                                                (Arg
                                                   { e =
                                                     (L (Int ((Some 1L), _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     })
                                                ],
                                              _)
                                             ));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> })
                                      ],
                                    _)
                                   ));
                                e_id = 0; e_range = None;
                                is_implicit_return = false; facts = <opaque>
                                });
                            (Arg
                               { e =
                                 (Call (
                                    { e =
                                      (N
                                         (Id (("fib", _),
                                            { id_resolved = ref (None);
                                              id_resolved_alternatives =
                                              ref ([]); id_type = ref (None);
                                              id_svalue = ref (Unknown);
                                              id_flags = ref (0);
                                              id_info_id = _ }
                                            )));
                                      e_id = 0; e_range = None;
                                      is_implicit_return = false;
                                      facts = <opaque> },
                                    (_,
                                     [(Arg
                                         { e =
                                           (Call (
                                              { e = (Special ((Op Minus), _));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              (_,
                                               [(Arg
                                                   { e =
                                                     (N
                                                        (Id (("n", _),
                                                           { id_resolved =
                                                             ref ((Some (
                                                             Parameter, _)));
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref ((Some 
                                                             { t =
                                                               (TyN
                                                                  (Id (
                                                                    ("int", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                               t_attrs = [] }));
                                                             id_svalue =
                                                             ref (Unknown);
                                                             id_flags =
                                                             ref (0);
                                                             id_info_id = _ }
                                                           )));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     });
                                                 (Arg
                                                    { e =
                                                      (L (Int ((Some 2L), _)));
                                                      e_id = 0;
                                                      e_range = None;
                                                      is_implicit_return =
                                                      false; facts = <opaque>
                                                      })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> })
                                       ],
                                     _)
                                    ));
                                 e_id = 0; e_range = None;
                                 is_implicit_return = false; facts = <opaque>
                                 })
                            ],
                          _)
                         ));
                      e_id = 0; e_range = (Some (_, _));
                      is_implicit_return = false; facts = <opaque> },
                    { e = (L (Int ((Some 1L), _))); e_id = 0; e_range = None;
                      is_implicit_return = false; facts = <opaque> }
                    ));
                 e_id = 0; e_range = None; is_implicit_return = false;
                 facts = <opaque> })
            })));
   s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("main", _),
                { id_resolved = ref (None);
                  id_resolved_alternatives = ref ([]); id_type = ref (None);
                  id_svalue = ref (Unknown); id_flags = ref (0);
                  id_info_id = _ }
                )));
          attrs = []; tparams = None },
        (FuncDef
           { fkind = (Function, _); fparams = (_, [], _);
             frettype =
             (Some { t =
                     (TyN
                        (Id (("void", _),
                           { id_resolved = ref (None);
                             id_resolved_alternatives = ref ([]);
                             id_type = ref (None); id_svalue = ref (Unknown);
                             id_flags = ref (0); id_info_id = _ }
                           )));
                     t_attrs = [] });
             fbody =
             (FBStmt
                { s =
                  (Block
                     (_,
                      [{ s =
                         (ExprStmt (
                            { e =
                              (Call (
                                 { e =
                                   (N
                                      (Id (("print", _),
                                         { id_resolved = ref (None);
                                           id_resolved_alternatives =
                                           ref ([]); id_type = ref (None);
                                           id_svalue = ref (Unknown);
                                           id_flags = ref (0); id_info_id = _
                                           }
                                         )));
                                   e_id = 0; e_range = None;
                                   is_implicit_return = false;
                                   facts = <opaque> },
                                 (_,
                                  [(Arg
                                      { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((ConcatString
                                                    InterpolatedConcat),
                                                 _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (L
                                                     (String
                                                        (_,
                                                         ("fib(20) = ", _), _)));
                                                  e_id = 0; e_range = None;
                                                  is_implicit_return = false;
                                                  facts = <opaque> });
                                              (Arg
                                                 { e =
                                                   (Call (
                                                      { e =
                                                        (N
                                                           (Id (("fib", _),
                                                              { id_resolved =
                                                                ref (None);
                                                                id_resolved_alternatives =
                                                                ref (
                                                                []);
                                                                id_type =
                                                                ref (None);
                                                                id_svalue =
                                                                ref (Unknown);
                                                                id_flags =
                                                                ref (0);
                                                                id_info_id =
                                                                _ }
                                                              )));
                                                        e_id = 0;
                                                        e_range = None;
                                                        is_implicit_return =
                                                        false;
                                                        facts = <opaque> },
                                                      (_,
                                                       [(Arg
                                                           { e =
                                                             (L
                                                                (Int
                                                                   ((Some 20L),
                                                                    _)));
                                                             e_id = 0;
                                                             e_range = None;
                                                             is_implicit_return =
                                                             false;
                                                             facts = <opaque>
                                                             })
                                                         ],
                                                       _)
                                                      ));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                    ],
                                  _)
                                 ));
                              e_id = 0; e_range = None;
                              is_implicit_return = false; facts = <opaque> },
                            _));
                         s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None }
  ]