[{ s =
   (DirectiveStmt
      { d = (ImportAll (_, (FileName ("<fstream>", _)), _)); d_attrs = [] });
   s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("<string>", _)), _)); d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("<vector>", _)), _)); d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("hdf5.h", _)), _)); d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("hdf5_hl.h", _)), _)); d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("stdint.h", _)), _)); d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d =
         (ImportAll (_, (FileName ("caffe/layers/hdf5_data_layer.hpp", _)), _
            ));
         d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("caffe/util/hdf5.hpp", _)), _));
         d_attrs = [] });
    s_range = None };
  { s = (DirectiveStmt { d = (Package (_, [("caffe", _)])); d_attrs = [] });
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("~HDF5DataLayer", _), None);
                  name_middle =
                  (Some (QDots
                           [(("HDF5DataLayer", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("Dtype", _),
                                                { 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 = [] })
                                      ],
                                    _)))
                             ]));
                  name_top = None;
                  name_info =
                  { 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 =
          (Some (_,
                 [(TP
                     { tp_id = ("Dtype", _); tp_attrs = []; tp_bounds = [];
                       tp_default = None; tp_variance = 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 = (OtherStmt (OS_Todo, [])); s_range = None }],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("LoadHDF5FileData", _), None);
                  name_middle =
                  (Some (QDots
                           [(("HDF5DataLayer", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("Dtype", _),
                                                { 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 = [] })
                                      ],
                                    _)))
                             ]));
                  name_top = None;
                  name_info =
                  { 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 =
          (Some (_,
                 [(TP
                     { tp_id = ("Dtype", _); tp_attrs = []; tp_bounds = [];
                       tp_default = None; tp_variance = None })
                   ],
                 _))
          },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("filename", _));
                    ptype =
                    (Some { t =
                            (TyPointer (_,
                               { t =
                                 (TyN
                                    (Id (("char", _),
                                       { 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 = [(KeywordAttr (Const, _))] }
                               ));
                            t_attrs = [] });
                    pdefault = None; pattrs = [];
                    pinfo =
                    { id_resolved = ref ((Some (Parameter, _)));
                      id_resolved_alternatives = ref ([]);
                      id_type =
                      ref ((Some { t =
                                   (TyPointer (_,
                                      { t =
                                        (TyN
                                           (Id (("char", _),
                                              { 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 = [(KeywordAttr (Const, _))]
                                        }
                                      ));
                                   t_attrs = [] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    })
                ],
              _);
             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 = (Special ((Op LSL), _)); e_id = 0;
                                   e_range = None;
                                   is_implicit_return = false;
                                   facts = <opaque> },
                                 (_,
                                  [(Arg
                                      { e =
                                        (Call (
                                           { e = (Special ((Op LSL), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (Call (
                                                     { e =
                                                       (N
                                                          (Id (("DLOG", _),
                                                             { 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 =
                                                            (N
                                                               (Id (
                                                                  ("INFO", _),
                                                                  { 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>
                                                            })
                                                        ],
                                                      _)
                                                     ));
                                                  e_id = 0; e_range = None;
                                                  is_implicit_return = false;
                                                  facts = <opaque> });
                                              (Arg
                                                 { e =
                                                   (L
                                                      (String
                                                         (_,
                                                          ("Loading HDF5 file: ",
                                                           _),
                                                          _)));
                                                   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 =
                                         (N
                                            (Id (("filename", _),
                                               { id_resolved =
                                                 ref ((Some (Parameter, _)));
                                                 id_resolved_alternatives =
                                                 ref ([]);
                                                 id_type =
                                                 ref ((Some { t =
                                                              (TyPointer (_,
                                                                 { t =
                                                                   (TyN
                                                                    (Id (
                                                                    ("char",
                                                                    _),
                                                                    { 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 =
                                                                   [(KeywordAttr
                                                                    (Const, _))
                                                                    ]
                                                                   }
                                                                 ));
                                                              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> })
                                    ],
                                  _)
                                 ));
                              e_id = 0; e_range = None;
                              is_implicit_return = false; facts = <opaque> },
                            _));
                         s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("file_id", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyN
                                                        (Id (("hid_t", _),
                                                           { 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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (N
                                                   (Id (("H5Fopen", _),
                                                      { 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 =
                                                     (N
                                                        (Id (("filename", _),
                                                           { id_resolved =
                                                             ref ((Some (
                                                             Parameter, _)));
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref ((Some 
                                                             { t =
                                                               (TyPointer (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("char",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }
                                                                  ));
                                                               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 =
                                                      (N
                                                         (Id (
                                                            ("H5F_ACC_RDONLY",
                                                             _),
                                                            { 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 =
                                                      (N
                                                         (Id (
                                                            ("H5P_DEFAULT", _),
                                                            { 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>
                                                      })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (Some { t =
                                           (TyN
                                              (Id (("hid_t", _),
                                                 { 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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (If (_,
                             (Cond
                                { e =
                                  (Call (
                                     { e = (Special ((Op Lt), _)); e_id = 0;
                                       e_range = None;
                                       is_implicit_return = false;
                                       facts = <opaque> },
                                     (_,
                                      [(Arg
                                          { e =
                                            (N
                                               (Id (("file_id", _),
                                                  { id_resolved =
                                                    ref ((Some (LocalVar, _)));
                                                    id_resolved_alternatives =
                                                    ref ([]);
                                                    id_type =
                                                    ref ((Some { t =
                                                                 (TyN
                                                                    (
                                                                    Id (
                                                                    ("hid_t",
                                                                    _),
                                                                    { 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 ((Sym
                                                            { e =
                                                              (Call (
                                                                 { e =
                                                                   (N
                                                                    (Id (
                                                                    ("H5Fopen",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("filename",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("char",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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 =
                                                                    (N
                                                                    (Id (
                                                                    ("H5F_ACC_RDONLY",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("H5P_DEFAULT",
                                                                    _),
                                                                    { 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>
                                                                    })],
                                                                  _)
                                                                 ));
                                                              e_id = 0;
                                                              e_range = None;
                                                              is_implicit_return =
                                                              false;
                                                              facts =
                                                              <opaque> }));
                                                    id_flags = ref (0);
                                                    id_info_id = _ }
                                                  )));
                                            e_id = 0; e_range = None;
                                            is_implicit_return = false;
                                            facts = <opaque> });
                                        (Arg
                                           { e = (L (Int ((Some 0L), _)));
                                             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 =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e = (Special ((Op LSL), _));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              (_,
                                               [(Arg
                                                   { e =
                                                     (Call (
                                                        { e =
                                                          (Special
                                                             ((Op LSL), _));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        (_,
                                                         [(Arg
                                                             { e =
                                                               (Call (
                                                                  { e =
                                                                    (
                                                                    N
                                                                    (Id (
                                                                    ("LOG", _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("FATAL",
                                                                    _),
                                                                    { 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>
                                                                    })],
                                                                   _)
                                                                  ));
                                                               e_id = 0;
                                                               e_range = None;
                                                               is_implicit_return =
                                                               false;
                                                               facts =
                                                               <opaque> });
                                                           (Arg
                                                              { e =
                                                                (L
                                                                   (String
                                                                    (_,
                                                                    ("Failed opening HDF5 file: ",
                                                                    _), _)));
                                                                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 =
                                                      (N
                                                         (Id (
                                                            ("filename", _),
                                                            { id_resolved =
                                                              ref ((Some (
                                                              Parameter, _)));
                                                              id_resolved_alternatives =
                                                              ref ([]);
                                                              id_type =
                                                              ref ((Some 
                                                              { t =
                                                                (TyPointer (
                                                                   _,
                                                                   { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("char",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }
                                                                   ));
                                                                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>
                                                      })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             None));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("top_size", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (DotAccess (
                                                        { e =
                                                          (DeRef (_,
                                                             { e =
                                                               (N
                                                                  (IdSpecial (
                                                                    (This, _),
                                                                    { 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> }
                                                             ));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        _,
                                                        (FN
                                                           (Id (
                                                              ("layer_param_",
                                                               _),
                                                              { 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>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("top_size", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             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> },
                                              (_, [], _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("hdf_blobs_", _),
                                               { 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> },
                                       _,
                                       (FN
                                          (Id (("resize", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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 =
                                         (N
                                            (Id (("top_size", _),
                                               { id_resolved =
                                                 ref ((Some (LocalVar, _)));
                                                 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> })
                                     ],
                                   _)
                                  ));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("MIN_DATA_DIM", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 =
                                                     [(KeywordAttr (Const, _))
                                                       ]
                                                     }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e = (L (Int ((Some 1L), _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (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 =
                                           [(KeywordAttr (Const, _))] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("MAX_DATA_DIM", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 =
                                                     [(KeywordAttr (Const, _))
                                                       ]
                                                     }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (N
                                              (Id (("INT_MAX", _),
                                                 { 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> });
                                   vtype =
                                   (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 =
                                           [(KeywordAttr (Const, _))] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (For (_,
                             (ForClassic (
                                [(ForInitVar (
                                    { name =
                                      (EN
                                         (Id (("i", _),
                                            { 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 },
                                    { vinit =
                                      (Some { e = (L (Int ((Some 0L), _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> });
                                      vtype =
                                      (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 = [] });
                                      vtok = None }
                                    ))
                                  ],
                                (Some { e =
                                        (Call (
                                           { e = (Special ((Op Lt), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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 =
                                                   (N
                                                      (Id (("top_size", _),
                                                         { id_resolved =
                                                           ref ((Some (
                                                           LocalVar, _)));
                                                           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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> }),
                                (Some { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((IncrDecr (Incr, Prefix)), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                )),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Assign (
                                              { e =
                                                (ArrayAccess (
                                                   { e =
                                                     (N
                                                        (Id (
                                                           ("hdf_blobs_", _),
                                                           { 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>
                                                     },
                                                   (_,
                                                    { e =
                                                      (N
                                                         (Id (("i", _),
                                                            { 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>
                                                      },
                                                    _)
                                                   ));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              _,
                                              { e =
                                                (Call (
                                                   { e =
                                                     (N
                                                        (IdQualified
                                                           { name_last =
                                                             (("shared_ptr",
                                                               _),
                                                              (Some (
                                                              _,
                                                              [(TA
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] })
                                                                ],
                                                              _)));
                                                             name_middle =
                                                             None;
                                                             name_top = None;
                                                             name_info =
                                                             { 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 =
                                                          (New (_,
                                                             { t =
                                                               (TyN
                                                                  (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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_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> })
                                                      ],
                                                    _)
                                                   ));
                                                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 =
                                       (ExprStmt (
                                          { e =
                                            (Call (
                                               { e =
                                                 (N
                                                    (Id (
                                                       ("hdf5_load_nd_dataset",
                                                        _),
                                                       { 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 =
                                                      (N
                                                         (Id (("file_id", _),
                                                            { id_resolved =
                                                              ref ((Some (
                                                              LocalVar, _)));
                                                              id_resolved_alternatives =
                                                              ref ([]);
                                                              id_type =
                                                              ref ((Some 
                                                              { t =
                                                                (TyN
                                                                   (Id (
                                                                    ("hid_t",
                                                                    _),
                                                                    { 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 =
                                                       (Call (
                                                          { e =
                                                            (DotAccess (
                                                               { e =
                                                                 (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("top", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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>
                                                                    })], _)));
                                                                 e_id = 0;
                                                                 e_range =
                                                                 None;
                                                                 is_implicit_return =
                                                                 false;
                                                                 facts =
                                                                 <opaque> },
                                                               _,
                                                               (FN
                                                                  (Id (
                                                                    ("c_str",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                            },
                                                          (_, [], _)));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> });
                                                  (Arg
                                                     { e =
                                                       (N
                                                          (Id (
                                                             ("MIN_DATA_DIM",
                                                              _),
                                                             { id_resolved =
                                                               ref ((Some (
                                                               LocalVar, _)));
                                                               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 =
                                                                 [(KeywordAttr
                                                                    (Const, _))
                                                                   ]
                                                                 }));
                                                               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 =
                                                       (N
                                                          (Id (
                                                             ("MAX_DATA_DIM",
                                                              _),
                                                             { id_resolved =
                                                               ref ((Some (
                                                               LocalVar, _)));
                                                               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 =
                                                                 [(KeywordAttr
                                                                    (Const, _))
                                                                   ]
                                                                 }));
                                                               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 =
                                                            (DotAccess (
                                                               { e =
                                                                 (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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>
                                                                    }, _)));
                                                                 e_id = 0;
                                                                 e_range =
                                                                 None;
                                                                 is_implicit_return =
                                                                 false;
                                                                 facts =
                                                                 <opaque> },
                                                               _,
                                                               (FN
                                                                  (Id (
                                                                    ("get", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                            },
                                                          (_, [], _)));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> });
                                                  (Arg
                                                     { e =
                                                       (L (Bool (true, _)));
                                                       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 };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("status", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyN
                                                        (Id (("herr_t", _),
                                                           { 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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (N
                                                   (Id (("H5Fclose", _),
                                                      { 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 =
                                                     (N
                                                        (Id (("file_id", _),
                                                           { id_resolved =
                                                             ref ((Some (
                                                             LocalVar, _)));
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref ((Some 
                                                             { t =
                                                               (TyN
                                                                  (Id (
                                                                    ("hid_t",
                                                                    _),
                                                                    { 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>
                                                     })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (Some { t =
                                           (TyN
                                              (Id (("herr_t", _),
                                                 { 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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e = (Special ((Op LSL), _)); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  (_,
                                   [(Arg
                                       { e =
                                         (Call (
                                            { e = (Special ((Op LSL), _));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> },
                                            (_,
                                             [(Arg
                                                 { e =
                                                   (Call (
                                                      { e =
                                                        (N
                                                           (Id (
                                                              ("CHECK_GE", _),
                                                              { 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 =
                                                             (N
                                                                (Id (
                                                                   ("status",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("herr_t",
                                                                    _),
                                                                    { 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 ((
                                                                    Sym
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("H5Fclose",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("file_id",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("hid_t",
                                                                    _),
                                                                    { 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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ }
                                                                   )));
                                                             e_id = 0;
                                                             e_range = None;
                                                             is_implicit_return =
                                                             false;
                                                             facts = <opaque>
                                                             });
                                                         (Arg
                                                            { e =
                                                              (L
                                                                 (Int
                                                                    (
                                                                    (Some 0L),
                                                                    _)));
                                                              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 =
                                                    (L
                                                       (String
                                                          (_,
                                                           ("Failed to close HDF5 file: ",
                                                            _),
                                                           _)));
                                                    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 =
                                          (N
                                             (Id (("filename", _),
                                                { id_resolved =
                                                  ref ((Some (Parameter, _)));
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyPointer (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("char",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }
                                                                  ));
                                                               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> })
                                     ],
                                   _)
                                  ));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e = (Special ((Op LSL), _)); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  (_,
                                   [(Arg
                                       { e =
                                         (Call (
                                            { e =
                                              (N
                                                 (Id (("CHECK_GE", _),
                                                    { 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 =
                                                        (DotAccess (
                                                           { e =
                                                             (DeRef (_,
                                                                { e =
                                                                  (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    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>
                                                             },
                                                           _,
                                                           (FN
                                                              (Id (
                                                                 ("num_axes",
                                                                  _),
                                                                 { id_resolved =
                                                                   ref (None);
                                                                   id_resolved_alternatives =
                                                                   ref (
                                                                   []);
                                                                   id_type =
                                                                   ref ((Some 
                                                                   { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                      (_, [], _)));
                                                   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> });
                                     (Arg
                                        { e =
                                          (L
                                             (String
                                                (_,
                                                 ("Input must have at least 1 axis.",
                                                  _),
                                                 _)));
                                          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 (("num", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 =
                                                     [(KeywordAttr (Const, _))
                                                       ]
                                                     }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (DeRef (_,
                                                        { e =
                                                          (ArrayAccess (
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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> },
                                                             (_,
                                                              { e =
                                                                (L
                                                                   (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                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>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("shape", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             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 0L), _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (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 =
                                           [(KeywordAttr (Const, _))] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (For (_,
                             (ForClassic (
                                [(ForInitVar (
                                    { name =
                                      (EN
                                         (Id (("i", _),
                                            { 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 },
                                    { vinit =
                                      (Some { e = (L (Int ((Some 1L), _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> });
                                      vtype =
                                      (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 = [] });
                                      vtok = None }
                                    ))
                                  ],
                                (Some { e =
                                        (Call (
                                           { e = (Special ((Op Lt), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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 =
                                                   (N
                                                      (Id (("top_size", _),
                                                         { id_resolved =
                                                           ref ((Some (
                                                           LocalVar, _)));
                                                           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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> }),
                                (Some { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((IncrDecr (Incr, Prefix)), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                )),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e =
                                                (N
                                                   (Id (("CHECK_EQ", _),
                                                      { 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 =
                                                          (DotAccess (
                                                             { e =
                                                               (DeRef (_,
                                                                  { e =
                                                                    (
                                                                    ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }
                                                                  ));
                                                               e_id = 0;
                                                               e_range = None;
                                                               is_implicit_return =
                                                               false;
                                                               facts =
                                                               <opaque> },
                                                             _,
                                                             (FN
                                                                (Id (
                                                                   ("shape",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 0L),
                                                                    _)));
                                                               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 =
                                                      (N
                                                         (Id (("num", _),
                                                            { id_resolved =
                                                              ref ((Some (
                                                              LocalVar, _)));
                                                              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 =
                                                                [(KeywordAttr
                                                                    (
                                                                    Const, _))
                                                                  ]
                                                                }));
                                                              id_svalue =
                                                              ref (Unknown);
                                                              id_flags =
                                                              ref (0);
                                                              id_info_id = _
                                                              }
                                                            )));
                                                      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 };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("data_permutation_", _),
                                               { 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> },
                                       _,
                                       (FN
                                          (Id (("clear", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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> },
                                  (_, [], _)));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("data_permutation_", _),
                                               { 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> },
                                       _,
                                       (FN
                                          (Id (("resize", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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 =
                                         (Call (
                                            { e =
                                              (DotAccess (
                                                 { e =
                                                   (DeRef (_,
                                                      { e =
                                                        (ArrayAccess (
                                                           { e =
                                                             (N
                                                                (Id (
                                                                   ("hdf_blobs_",
                                                                    _),
                                                                   { 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>
                                                             },
                                                           (_,
                                                            { e =
                                                              (L
                                                                 (Int
                                                                    (
                                                                    (Some 0L),
                                                                    _)));
                                                              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> },
                                                 _,
                                                 (FN
                                                    (Id (("shape", _),
                                                       { id_resolved =
                                                         ref (None);
                                                         id_resolved_alternatives =
                                                         ref ([]);
                                                         id_type =
                                                         ref ((Some { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 0L), _)));
                                                   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 =
                          (For (_,
                             (ForClassic (
                                [(ForInitVar (
                                    { name =
                                      (EN
                                         (Id (("i", _),
                                            { 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 },
                                    { vinit =
                                      (Some { e = (L (Int ((Some 0L), _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> });
                                      vtype =
                                      (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 = [] });
                                      vtok = None }
                                    ))
                                  ],
                                (Some { e =
                                        (Call (
                                           { e = (Special ((Op Lt), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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 =
                                                        (DotAccess (
                                                           { e =
                                                             (DeRef (_,
                                                                { e =
                                                                  (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    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>
                                                             },
                                                           _,
                                                           (FN
                                                              (Id (
                                                                 ("shape", _),
                                                                 { id_resolved =
                                                                   ref (None);
                                                                   id_resolved_alternatives =
                                                                   ref (
                                                                   []);
                                                                   id_type =
                                                                   ref ((Some 
                                                                   { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 0L),
                                                                    _)));
                                                             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> }),
                                (Some { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((IncrDecr (Incr, Postfix)),
                                                 _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                )),
                             { s =
                               (ExprStmt (
                                  { e =
                                    (Assign (
                                       { e =
                                         (ArrayAccess (
                                            { e =
                                              (N
                                                 (Id (
                                                    ("data_permutation_", _),
                                                    { 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> },
                                            (_,
                                             { e =
                                               (N
                                                  (Id (("i", _),
                                                     { 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> },
                                             _)
                                            ));
                                         e_id = 0; e_range = None;
                                         is_implicit_return = false;
                                         facts = <opaque> },
                                       _,
                                       { e =
                                         (N
                                            (Id (("i", _),
                                               { 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> }
                                       ));
                                    e_id = 0; e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  _));
                               s_range = None }
                             ));
                          s_range = None };
                        { s =
                          (If (_,
                             (Cond
                                { e =
                                  (Call (
                                     { e =
                                       (DotAccess (
                                          { e =
                                            (Call (
                                               { e =
                                                 (DotAccess (
                                                    { e =
                                                      (DotAccess (
                                                         { e =
                                                           (DeRef (_,
                                                              { e =
                                                                (N
                                                                   (IdSpecial (
                                                                    (This, _),
                                                                    { 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> }
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         _,
                                                         (FN
                                                            (Id (
                                                               ("layer_param_",
                                                                _),
                                                               { 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>
                                                      },
                                                    _,
                                                    (FN
                                                       (Id (
                                                          ("hdf5_data_param",
                                                           _),
                                                          { id_resolved =
                                                            ref (None);
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyFun (
                                                                 [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))
                                                                   ],
                                                                 { t =
                                                                   (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                   t_attrs =
                                                                   [] }
                                                                 ));
                                                              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> },
                                               (_, [], _)));
                                            e_id = 0; e_range = None;
                                            is_implicit_return = false;
                                            facts = <opaque> },
                                          _,
                                          (FN
                                             (Id (("shuffle", _),
                                                { id_resolved = ref (None);
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyFun (
                                                                  [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))],
                                                                  { t =
                                                                    (
                                                                    OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }
                                                                  ));
                                                               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> },
                                     (_, [], _)));
                                  e_id = 0; e_range = None;
                                  is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e =
                                                (N
                                                   (IdQualified
                                                      { name_last =
                                                        (("random_shuffle", _),
                                                         None);
                                                        name_middle =
                                                        (Some (QDots
                                                                 [(("std", _),
                                                                   None)]));
                                                        name_top = None;
                                                        name_info =
                                                        { 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 =
                                                          (DotAccess (
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("data_permutation_",
                                                                    _),
                                                                    { 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> },
                                                             _,
                                                             (FN
                                                                (Id (
                                                                   ("begin",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                        (_, [], _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     });
                                                 (Arg
                                                    { e =
                                                      (Call (
                                                         { e =
                                                           (DotAccess (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("data_permutation_",
                                                                    _),
                                                                    { 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> },
                                                              _,
                                                              (FN
                                                                 (Id (
                                                                    (
                                                                    "end", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                         (_, [], _)));
                                                      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 =
                                       (ExprStmt (
                                          { e =
                                            (Call (
                                               { e = (Special ((Op LSL), _));
                                                 e_id = 0; e_range = None;
                                                 is_implicit_return = false;
                                                 facts = <opaque> },
                                               (_,
                                                [(Arg
                                                    { e =
                                                      (Call (
                                                         { e =
                                                           (Special
                                                              ((Op LSL), _));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         (_,
                                                          [(Arg
                                                              { e =
                                                                (Call (
                                                                   { e =
                                                                    (Special
                                                                    ((
                                                                    Op LSL),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                   (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("DLOG",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("INFO",
                                                                    _),
                                                                    { 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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Successfully loaded ",
                                                                    _), _)));
                                                                    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 =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("shape",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 0L),
                                                                    _)));
                                                                    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 =
                                                       (L
                                                          (String
                                                             (_,
                                                              (" rows (shuffled)",
                                                               _),
                                                              _)));
                                                       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 },
                             (Some { s =
                                     (Block
                                        (_,
                                         [{ s =
                                            (ExprStmt (
                                               { e =
                                                 (Call (
                                                    { e =
                                                      (Special ((Op LSL), _));
                                                      e_id = 0;
                                                      e_range = None;
                                                      is_implicit_return =
                                                      false; facts = <opaque>
                                                      },
                                                    (_,
                                                     [(Arg
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (Special
                                                                   ((
                                                                    Op LSL),
                                                                    _));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op LSL),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("DLOG",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("INFO",
                                                                    _),
                                                                    { 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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Successfully loaded ",
                                                                    _), _)));
                                                                    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 =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("shape",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 0L),
                                                                    _)));
                                                                    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 =
                                                            (L
                                                               (String
                                                                  (_,
                                                                   (" rows",
                                                                    _),
                                                                   _)));
                                                            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 }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("LayerSetUp", _), None);
                  name_middle =
                  (Some (QDots
                           [(("HDF5DataLayer", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("Dtype", _),
                                                { 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 = [] })
                                      ],
                                    _)))
                             ]));
                  name_top = None;
                  name_info =
                  { 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 =
          (Some (_,
                 [(TP
                     { tp_id = ("Dtype", _); tp_attrs = []; tp_bounds = [];
                       tp_default = None; tp_variance = None })
                   ],
                 _))
          },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("bottom", _));
                    ptype =
                    (Some { t =
                            (TyRef (_,
                               { t =
                                 (TyN
                                    (IdQualified
                                       { name_last =
                                         (("vector", _),
                                          (Some (_,
                                                 [(TA
                                                     { t =
                                                       (TyPointer (_,
                                                          { t =
                                                            (TyN
                                                               (IdQualified
                                                                  { name_last =
                                                                    (
                                                                    (
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = [] }
                                                          ));
                                                       t_attrs = [] })
                                                   ],
                                                 _)));
                                         name_middle = None; name_top = None;
                                         name_info =
                                         { 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 = [(KeywordAttr (Const, _))] }
                               ));
                            t_attrs = [] });
                    pdefault = None; pattrs = [];
                    pinfo =
                    { id_resolved = ref ((Some (Parameter, _)));
                      id_resolved_alternatives = ref ([]);
                      id_type =
                      ref ((Some { t =
                                   (TyRef (_,
                                      { t =
                                        (TyN
                                           (IdQualified
                                              { name_last =
                                                (("vector", _),
                                                 (Some (_,
                                                        [(TA
                                                            { t =
                                                              (TyPointer (_,
                                                                 { t =
                                                                   (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                   [] }
                                                                 ));
                                                              t_attrs = [] })
                                                          ],
                                                        _)));
                                                name_middle = None;
                                                name_top = None;
                                                name_info =
                                                { 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 = [(KeywordAttr (Const, _))]
                                        }
                                      ));
                                   t_attrs = [] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    });
                (Param
                   { pname = (Some ("top", _));
                     ptype =
                     (Some { t =
                             (TyRef (_,
                                { t =
                                  (TyN
                                     (IdQualified
                                        { name_last =
                                          (("vector", _),
                                           (Some (_,
                                                  [(TA
                                                      { t =
                                                        (TyPointer (_,
                                                           { t =
                                                             (TyN
                                                                (IdQualified
                                                                   { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = [] }
                                                           ));
                                                        t_attrs = [] })
                                                    ],
                                                  _)));
                                          name_middle = None;
                                          name_top = None;
                                          name_info =
                                          { 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 = [(KeywordAttr (Const, _))] }
                                ));
                             t_attrs = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref ((Some (Parameter, _)));
                       id_resolved_alternatives = ref ([]);
                       id_type =
                       ref ((Some { t =
                                    (TyRef (_,
                                       { t =
                                         (TyN
                                            (IdQualified
                                               { name_last =
                                                 (("vector", _),
                                                  (Some (_,
                                                         [(TA
                                                             { t =
                                                               (TyPointer (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] }
                                                                  ));
                                                               t_attrs = [] })
                                                           ],
                                                         _)));
                                                 name_middle = None;
                                                 name_top = None;
                                                 name_info =
                                                 { 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 = [(KeywordAttr (Const, _))]
                                         }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     })
                ],
              _);
             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 = (Special ((Op LSL), _)); e_id = 0;
                                   e_range = None;
                                   is_implicit_return = false;
                                   facts = <opaque> },
                                 (_,
                                  [(Arg
                                      { e =
                                        (Call (
                                           { e = (Special ((Op LSL), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (Call (
                                                     { e =
                                                       (N
                                                          (Id (("CHECK", _),
                                                             { 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 Not),
                                                                    _));
                                                                 e_id = 0;
                                                                 e_range =
                                                                 None;
                                                                 is_implicit_return =
                                                                 false;
                                                                 facts =
                                                                 <opaque> },
                                                               (_,
                                                                [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("has_transform_param",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    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 =
                                                        (DotAccess (
                                                           { e =
                                                             (DeRef (_,
                                                                { e =
                                                                  (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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> }
                                                                ));
                                                             e_id = 0;
                                                             e_range = None;
                                                             is_implicit_return =
                                                             false;
                                                             facts = <opaque>
                                                             },
                                                           _,
                                                           (FN
                                                              (Id (
                                                                 ("type", _),
                                                                 { id_resolved =
                                                                   ref (None);
                                                                   id_resolved_alternatives =
                                                                   ref (
                                                                   []);
                                                                   id_type =
                                                                   ref ((Some 
                                                                   { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                      (_, [], _)));
                                                   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 =
                                         (L
                                            (String
                                               (_,
                                                (" does not transform data.",
                                                 _),
                                                _)));
                                         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 (("source", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyRef (_,
                                                        { t =
                                                          (TyN
                                                             (Id (
                                                                ("string", _),
                                                                { 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 =
                                                          [(KeywordAttr
                                                              (Const, _))
                                                            ]
                                                          }
                                                        ));
                                                     t_attrs = [] }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (Call (
                                                        { e =
                                                          (DotAccess (
                                                             { e =
                                                               (DotAccess (
                                                                  { e =
                                                                    (
                                                                    DeRef (_,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                  _,
                                                                  (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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> },
                                                             _,
                                                             (FN
                                                                (Id (
                                                                   ("hdf5_data_param",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                        (_, [], _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("source", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             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> },
                                              (_, [], _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (Some { t =
                                           (TyRef (_,
                                              { t =
                                                (TyN
                                                   (Id (("string", _),
                                                      { 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 =
                                                [(KeywordAttr (Const, _))] }
                                              ));
                                           t_attrs = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e = (Special ((Op LSL), _)); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  (_,
                                   [(Arg
                                       { e =
                                         (Call (
                                            { e = (Special ((Op LSL), _));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> },
                                            (_,
                                             [(Arg
                                                 { e =
                                                   (Call (
                                                      { e =
                                                        (N
                                                           (Id (("LOG", _),
                                                              { 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 =
                                                             (N
                                                                (Id (
                                                                   ("INFO", _),
                                                                   { 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>
                                                             })
                                                         ],
                                                       _)
                                                      ));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> });
                                               (Arg
                                                  { e =
                                                    (L
                                                       (String
                                                          (_,
                                                           ("Loading list of HDF5 filenames from: ",
                                                            _),
                                                           _)));
                                                    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 =
                                          (N
                                             (Id (("source", _),
                                                { id_resolved =
                                                  ref ((Some (LocalVar, _)));
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyRef (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("string",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }
                                                                  ));
                                                               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> })
                                     ],
                                   _)
                                  ));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("hdf_filenames_", _),
                                               { 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> },
                                       _,
                                       (FN
                                          (Id (("clear", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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> },
                                  (_, [], _)));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("source_file", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyN
                                                        (IdQualified
                                                           { name_last =
                                                             (("ifstream", _),
                                                              None);
                                                             name_middle =
                                                             (Some (QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                             name_top = None;
                                                             name_info =
                                                             { 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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Container (Array,
                                              (_,
                                               [{ e =
                                                  (Call (
                                                     { e =
                                                       (DotAccess (
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("source",
                                                                   _),
                                                                  { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("string",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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>
                                                            },
                                                          _,
                                                          (FN
                                                             (Id (
                                                                ("c_str", _),
                                                                { id_resolved =
                                                                  ref (None);
                                                                  id_resolved_alternatives =
                                                                  ref (
                                                                  []);
                                                                  id_type =
                                                                  ref ((Some 
                                                                  { t =
                                                                    (
                                                                    TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                     (_, [], _)));
                                                  e_id = 0; e_range = None;
                                                  is_implicit_return = false;
                                                  facts = <opaque> }
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (Some { t =
                                           (TyN
                                              (IdQualified
                                                 { name_last =
                                                   (("ifstream", _), None);
                                                   name_middle =
                                                   (Some (QDots
                                                            [(("std", _),
                                                              None)]));
                                                   name_top = None;
                                                   name_info =
                                                   { 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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (If (_,
                             (Cond
                                { e =
                                  (Call (
                                     { e =
                                       (DotAccess (
                                          { e =
                                            (N
                                               (Id (("source_file", _),
                                                  { id_resolved =
                                                    ref ((Some (LocalVar, _)));
                                                    id_resolved_alternatives =
                                                    ref ([]);
                                                    id_type =
                                                    ref ((Some { t =
                                                                 (TyN
                                                                    (
                                                                    IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "ifstream",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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> },
                                          _,
                                          (FN
                                             (Id (("is_open", _),
                                                { id_resolved = ref (None);
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyFun (
                                                                  [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))],
                                                                  { t =
                                                                    (
                                                                    OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }
                                                                  ));
                                                               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> },
                                     (_, [], _)));
                                  e_id = 0; e_range = None;
                                  is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (DefStmt
                                         ({ name =
                                            (EN
                                               (Id (("line", _),
                                                  { id_resolved =
                                                    ref ((Some (LocalVar, _)));
                                                    id_resolved_alternatives =
                                                    ref ([]);
                                                    id_type =
                                                    ref ((Some { t =
                                                                 (TyN
                                                                    (
                                                                    IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "string",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = _ }
                                                  )));
                                            attrs = []; tparams = None },
                                          (VarDef
                                             { vinit = None;
                                               vtype =
                                               (Some { t =
                                                       (TyN
                                                          (IdQualified
                                                             { name_last =
                                                               (("string", _),
                                                                None);
                                                               name_middle =
                                                               (Some (
                                                               QDots
                                                                 [(("std", _),
                                                                   None)]));
                                                               name_top =
                                                               None;
                                                               name_info =
                                                               { 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 = [] });
                                               vtok = (Some _) })));
                                      s_range = None };
                                     { s =
                                       (While (_,
                                          (Cond
                                             { e =
                                               (Call (
                                                  { e =
                                                    (Special ((Op ASR), _));
                                                    e_id = 0; e_range = None;
                                                    is_implicit_return =
                                                    false; facts = <opaque> },
                                                  (_,
                                                   [(Arg
                                                       { e =
                                                         (N
                                                            (Id (
                                                               ("source_file",
                                                                _),
                                                               { id_resolved =
                                                                 ref ((Some (
                                                                 LocalVar, _)));
                                                                 id_resolved_alternatives =
                                                                 ref (
                                                                 []);
                                                                 id_type =
                                                                 ref ((Some 
                                                                 { t =
                                                                   (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "ifstream",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                          (N
                                                             (Id (
                                                                ("line", _),
                                                                { id_resolved =
                                                                  ref ((Some (
                                                                  LocalVar, _)));
                                                                  id_resolved_alternatives =
                                                                  ref (
                                                                  []);
                                                                  id_type =
                                                                  ref ((Some 
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "string",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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> })
                                                     ],
                                                   _)
                                                  ));
                                               e_id = 0; e_range = None;
                                               is_implicit_return = false;
                                               facts = <opaque> }),
                                          { s =
                                            (Block
                                               (_,
                                                [{ s =
                                                   (ExprStmt (
                                                      { e =
                                                        (Call (
                                                           { e =
                                                             (DotAccess (
                                                                { e =
                                                                  (N
                                                                    (Id (
                                                                    ("hdf_filenames_",
                                                                    _),
                                                                    { 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> },
                                                                _,
                                                                (FN
                                                                   (Id (
                                                                    ("push_back",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 =
                                                                  (N
                                                                    (Id (
                                                                    ("line",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "string",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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> })
                                                              ],
                                                            _)
                                                           ));
                                                        e_id = 0;
                                                        e_range = None;
                                                        is_implicit_return =
                                                        false;
                                                        facts = <opaque> },
                                                      _));
                                                   s_range = None }
                                                  ],
                                                _));
                                            s_range = None }
                                          ));
                                       s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (Block
                                        (_,
                                         [{ s =
                                            (ExprStmt (
                                               { e =
                                                 (Call (
                                                    { e =
                                                      (Special ((Op LSL), _));
                                                      e_id = 0;
                                                      e_range = None;
                                                      is_implicit_return =
                                                      false; facts = <opaque>
                                                      },
                                                    (_,
                                                     [(Arg
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (Special
                                                                   ((
                                                                    Op LSL),
                                                                    _));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("LOG", _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("FATAL",
                                                                    _),
                                                                    { 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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                 (Arg
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Failed to open source file: ",
                                                                    _), _)));
                                                                    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 =
                                                            (N
                                                               (Id (
                                                                  ("source",
                                                                   _),
                                                                  { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("string",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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>
                                                            })
                                                       ],
                                                     _)
                                                    ));
                                                 e_id = 0; e_range = None;
                                                 is_implicit_return = false;
                                                 facts = <opaque> },
                                               _));
                                            s_range = None }
                                           ],
                                         _));
                                     s_range = None })
                             ));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("source_file", _),
                                               { id_resolved =
                                                 ref ((Some (LocalVar, _)));
                                                 id_resolved_alternatives =
                                                 ref ([]);
                                                 id_type =
                                                 ref ((Some { t =
                                                              (TyN
                                                                 (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "ifstream",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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> },
                                       _,
                                       (FN
                                          (Id (("close", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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> },
                                  (_, [], _)));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Assign (
                                  { e =
                                    (N
                                       (Id (("num_files_", _),
                                          { 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> },
                                  _,
                                  { e =
                                    (Call (
                                       { e =
                                         (DotAccess (
                                            { e =
                                              (N
                                                 (Id (("hdf_filenames_", _),
                                                    { 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> },
                                            _,
                                            (FN
                                               (Id (("size", _),
                                                  { id_resolved = ref (None);
                                                    id_resolved_alternatives =
                                                    ref ([]);
                                                    id_type =
                                                    ref ((Some { t =
                                                                 (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                 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> },
                                       (_, [], _)));
                                    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 =
                          (ExprStmt (
                             { e =
                               (Assign (
                                  { e =
                                    (N
                                       (Id (("current_file_", _),
                                          { 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> },
                                  _,
                                  { e = (L (Int ((Some 0L), _))); 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 =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e = (Special ((Op LSL), _)); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  (_,
                                   [(Arg
                                       { e =
                                         (Call (
                                            { e = (Special ((Op LSL), _));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> },
                                            (_,
                                             [(Arg
                                                 { e =
                                                   (Call (
                                                      { e =
                                                        (N
                                                           (Id (("LOG", _),
                                                              { 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 =
                                                             (N
                                                                (Id (
                                                                   ("INFO", _),
                                                                   { 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>
                                                             })
                                                         ],
                                                       _)
                                                      ));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> });
                                               (Arg
                                                  { e =
                                                    (L
                                                       (String
                                                          (_,
                                                           ("Number of HDF5 files: ",
                                                            _),
                                                           _)));
                                                    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 =
                                          (N
                                             (Id (("num_files_", _),
                                                { id_resolved = ref (None);
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type = ref (None);
                                                  id_svalue =
                                                  ref ((Sym
                                                          { e =
                                                            (Call (
                                                               { e =
                                                                 (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_filenames_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (
                                                                    FN
                                                                    (Id (
                                                                    ("size",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                               (_, [], _)));
                                                            e_id = 0;
                                                            e_range = None;
                                                            is_implicit_return =
                                                            false;
                                                            facts = <opaque>
                                                            }));
                                                  id_flags = ref (0);
                                                  id_info_id = _ }
                                                )));
                                          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 =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e = (Special ((Op LSL), _)); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  (_,
                                   [(Arg
                                       { e =
                                         (Call (
                                            { e = (Special ((Op LSL), _));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> },
                                            (_,
                                             [(Arg
                                                 { e =
                                                   (Call (
                                                      { e =
                                                        (N
                                                           (Id (
                                                              ("CHECK_GE", _),
                                                              { 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 =
                                                             (N
                                                                (Id (
                                                                   ("num_files_",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref ((
                                                                    Sym
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_filenames_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("size",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    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> });
                                               (Arg
                                                  { e =
                                                    (L
                                                       (String
                                                          (_,
                                                           ("Must have at least 1 HDF5 filename listed in ",
                                                            _),
                                                           _)));
                                                    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 =
                                          (N
                                             (Id (("source", _),
                                                { id_resolved =
                                                  ref ((Some (LocalVar, _)));
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyRef (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("string",
                                                                    _),
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }
                                                                  ));
                                                               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> })
                                     ],
                                   _)
                                  ));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("file_permutation_", _),
                                               { 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> },
                                       _,
                                       (FN
                                          (Id (("clear", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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> },
                                  (_, [], _)));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("file_permutation_", _),
                                               { 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> },
                                       _,
                                       (FN
                                          (Id (("resize", _),
                                             { id_resolved = ref (None);
                                               id_resolved_alternatives =
                                               ref ([]);
                                               id_type =
                                               ref ((Some { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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 =
                                         (N
                                            (Id (("num_files_", _),
                                               { id_resolved = ref (None);
                                                 id_resolved_alternatives =
                                                 ref ([]);
                                                 id_type = ref (None);
                                                 id_svalue =
                                                 ref ((Sym
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (DotAccess (
                                                                   { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_filenames_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                   _,
                                                                   (FN
                                                                    (Id (
                                                                    ("size",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                              (_, [], _)));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> }));
                                                 id_flags = ref (0);
                                                 id_info_id = _ }
                                               )));
                                         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 =
                          (For (_,
                             (ForClassic (
                                [(ForInitVar (
                                    { name =
                                      (EN
                                         (Id (("i", _),
                                            { 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 },
                                    { vinit =
                                      (Some { e = (L (Int ((Some 0L), _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> });
                                      vtype =
                                      (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 = [] });
                                      vtok = None }
                                    ))
                                  ],
                                (Some { e =
                                        (Call (
                                           { e = (Special ((Op Lt), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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 =
                                                   (N
                                                      (Id (("num_files_", _),
                                                         { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> }),
                                (Some { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((IncrDecr (Incr, Postfix)),
                                                 _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                )),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Assign (
                                              { e =
                                                (ArrayAccess (
                                                   { e =
                                                     (N
                                                        (Id (
                                                           ("file_permutation_",
                                                            _),
                                                           { 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>
                                                     },
                                                   (_,
                                                    { e =
                                                      (N
                                                         (Id (("i", _),
                                                            { 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>
                                                      },
                                                    _)
                                                   ));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              _,
                                              { e =
                                                (N
                                                   (Id (("i", _),
                                                      { 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> }
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None }
                                     ],
                                   _));
                               s_range = None }
                             ));
                          s_range = None };
                        { s =
                          (If (_,
                             (Cond
                                { e =
                                  (Call (
                                     { e =
                                       (DotAccess (
                                          { e =
                                            (Call (
                                               { e =
                                                 (DotAccess (
                                                    { e =
                                                      (DotAccess (
                                                         { e =
                                                           (DeRef (_,
                                                              { e =
                                                                (N
                                                                   (IdSpecial (
                                                                    (This, _),
                                                                    { 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> }
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         _,
                                                         (FN
                                                            (Id (
                                                               ("layer_param_",
                                                                _),
                                                               { 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>
                                                      },
                                                    _,
                                                    (FN
                                                       (Id (
                                                          ("hdf5_data_param",
                                                           _),
                                                          { id_resolved =
                                                            ref (None);
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyFun (
                                                                 [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))
                                                                   ],
                                                                 { t =
                                                                   (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                   t_attrs =
                                                                   [] }
                                                                 ));
                                                              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> },
                                               (_, [], _)));
                                            e_id = 0; e_range = None;
                                            is_implicit_return = false;
                                            facts = <opaque> },
                                          _,
                                          (FN
                                             (Id (("shuffle", _),
                                                { id_resolved = ref (None);
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyFun (
                                                                  [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))],
                                                                  { t =
                                                                    (
                                                                    OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }
                                                                  ));
                                                               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> },
                                     (_, [], _)));
                                  e_id = 0; e_range = None;
                                  is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e =
                                                (N
                                                   (IdQualified
                                                      { name_last =
                                                        (("random_shuffle", _),
                                                         None);
                                                        name_middle =
                                                        (Some (QDots
                                                                 [(("std", _),
                                                                   None)]));
                                                        name_top = None;
                                                        name_info =
                                                        { 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 =
                                                          (DotAccess (
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("file_permutation_",
                                                                    _),
                                                                    { 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> },
                                                             _,
                                                             (FN
                                                                (Id (
                                                                   ("begin",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                        (_, [], _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     });
                                                 (Arg
                                                    { e =
                                                      (Call (
                                                         { e =
                                                           (DotAccess (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("file_permutation_",
                                                                    _),
                                                                    { 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> },
                                                              _,
                                                              (FN
                                                                 (Id (
                                                                    (
                                                                    "end", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                         (_, [], _)));
                                                      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 },
                             None));
                          s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (N
                                       (Id (("LoadHDF5FileData", _),
                                          { 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 =
                                              (DotAccess (
                                                 { e =
                                                   (ArrayAccess (
                                                      { e =
                                                        (N
                                                           (Id (
                                                              ("hdf_filenames_",
                                                               _),
                                                              { 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> },
                                                      (_,
                                                       { e =
                                                         (ArrayAccess (
                                                            { e =
                                                              (N
                                                                 (Id (
                                                                    (
                                                                    "file_permutation_",
                                                                    _),
                                                                    { 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> },
                                                            (_,
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("current_file_",
                                                                    _),
                                                                    { 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> },
                                                             _)
                                                            ));
                                                         e_id = 0;
                                                         e_range = None;
                                                         is_implicit_return =
                                                         false;
                                                         facts = <opaque> },
                                                       _)
                                                      ));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> },
                                                 _,
                                                 (FN
                                                    (Id (("c_str", _),
                                                       { id_resolved =
                                                         ref (None);
                                                         id_resolved_alternatives =
                                                         ref ([]);
                                                         id_type =
                                                         ref ((Some { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                            (_, [], _)));
                                         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 =
                          (ExprStmt (
                             { e =
                               (Assign (
                                  { e =
                                    (N
                                       (Id (("current_row_", _),
                                          { 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> },
                                  _,
                                  { e = (L (Int ((Some 0L), _))); 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 (("batch_size", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 =
                                                     [(KeywordAttr (Const, _))
                                                       ]
                                                     }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (Call (
                                                        { e =
                                                          (DotAccess (
                                                             { e =
                                                               (DotAccess (
                                                                  { e =
                                                                    (
                                                                    DeRef (_,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                  _,
                                                                  (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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> },
                                                             _,
                                                             (FN
                                                                (Id (
                                                                   ("hdf5_data_param",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                        (_, [], _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("batch_size", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             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> },
                                              (_, [], _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (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 =
                                           [(KeywordAttr (Const, _))] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("top_size", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 =
                                                     [(KeywordAttr (Const, _))
                                                       ]
                                                     }));
                                        id_svalue = ref (Unknown);
                                        id_flags = ref (0); id_info_id = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (DotAccess (
                                                        { e =
                                                          (DeRef (_,
                                                             { e =
                                                               (N
                                                                  (IdSpecial (
                                                                    (This, _),
                                                                    { 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> }
                                                             ));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        _,
                                                        (FN
                                                           (Id (
                                                              ("layer_param_",
                                                               _),
                                                              { 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>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("top_size", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             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> },
                                              (_, [], _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (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 =
                                           [(KeywordAttr (Const, _))] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("top_shape", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyN
                                                        (IdQualified
                                                           { name_last =
                                                             (("vector", _),
                                                              (Some (
                                                              _,
                                                              [(TA
                                                                  { 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 =
                                                                    [] })
                                                                ],
                                                              _)));
                                                             name_middle =
                                                             None;
                                                             name_top = None;
                                                             name_info =
                                                             { 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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit = None;
                                   vtype =
                                   (Some { t =
                                           (TyN
                                              (IdQualified
                                                 { name_last =
                                                   (("vector", _),
                                                    (Some (_,
                                                           [(TA
                                                               { 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 = []
                                                                 })
                                                             ],
                                                           _)));
                                                   name_middle = None;
                                                   name_top = None;
                                                   name_info =
                                                   { 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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (For (_,
                             (ForClassic (
                                [(ForInitVar (
                                    { name =
                                      (EN
                                         (Id (("i", _),
                                            { 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 },
                                    { vinit =
                                      (Some { e = (L (Int ((Some 0L), _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> });
                                      vtype =
                                      (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 = [] });
                                      vtok = None }
                                    ))
                                  ],
                                (Some { e =
                                        (Call (
                                           { e = (Special ((Op Lt), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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 =
                                                   (N
                                                      (Id (("top_size", _),
                                                         { id_resolved =
                                                           ref ((Some (
                                                           LocalVar, _)));
                                                           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 =
                                                             [(KeywordAttr
                                                                 (Const, _))
                                                               ]
                                                             }));
                                                           id_svalue =
                                                           ref (Unknown);
                                                           id_flags = ref (0);
                                                           id_info_id = _ }
                                                         )));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> }),
                                (Some { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((IncrDecr (Incr, Prefix)), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                )),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (N
                                                        (Id (
                                                           ("top_shape", _),
                                                           { id_resolved =
                                                             ref ((Some (
                                                             LocalVar, _)));
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref ((Some 
                                                             { t =
                                                               (TyN
                                                                  (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("resize", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             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 =
                                                     (Call (
                                                        { e =
                                                          (DotAccess (
                                                             { e =
                                                               (DeRef (_,
                                                                  { e =
                                                                    (
                                                                    ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }
                                                                  ));
                                                               e_id = 0;
                                                               e_range = None;
                                                               is_implicit_return =
                                                               false;
                                                               facts =
                                                               <opaque> },
                                                             _,
                                                             (FN
                                                                (Id (
                                                                   ("num_axes",
                                                                    _),
                                                                   { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                        (_, [], _)));
                                                     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 =
                                       (ExprStmt (
                                          { e =
                                            (Assign (
                                               { e =
                                                 (ArrayAccess (
                                                    { e =
                                                      (N
                                                         (Id (
                                                            ("top_shape", _),
                                                            { id_resolved =
                                                              ref ((Some (
                                                              LocalVar, _)));
                                                              id_resolved_alternatives =
                                                              ref ([]);
                                                              id_type =
                                                              ref ((Some 
                                                              { t =
                                                                (TyN
                                                                   (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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>
                                                      },
                                                    (_,
                                                     { e =
                                                       (L
                                                          (Int ((Some 0L), _)));
                                                       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 =
                                                 (N
                                                    (Id (("batch_size", _),
                                                       { id_resolved =
                                                         ref ((Some (
                                                         LocalVar, _)));
                                                         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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                         id_svalue =
                                                         ref (Unknown);
                                                         id_flags = ref (0);
                                                         id_info_id = _ }
                                                       )));
                                                 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 =
                                       (For (_,
                                          (ForClassic (
                                             [(ForInitVar (
                                                 { name =
                                                   (EN
                                                      (Id (("j", _),
                                                         { 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
                                                   },
                                                 { vinit =
                                                   (Some { e =
                                                           (L
                                                              (Int
                                                                 ((Some 1L),
                                                                  _)));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> });
                                                   vtype =
                                                   (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 = [] });
                                                   vtok = None }
                                                 ))
                                               ],
                                             (Some { e =
                                                     (Call (
                                                        { e =
                                                          (Special
                                                             ((Op Lt), _));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        (_,
                                                         [(Arg
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("j", _),
                                                                    { 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 =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("top_shape",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("size",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                   (_, [], _)
                                                                   ));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> })
                                                           ],
                                                         _)
                                                        ));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     }),
                                             (Some { e =
                                                     (Call (
                                                        { e =
                                                          (Special
                                                             ((IncrDecr
                                                                 (Incr,
                                                                  Prefix)),
                                                              _));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        (_,
                                                         [(Arg
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("j", _),
                                                                    { 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> })
                                                           ],
                                                         _)
                                                        ));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     })
                                             )),
                                          { s =
                                            (Block
                                               (_,
                                                [{ s =
                                                   (ExprStmt (
                                                      { e =
                                                        (Assign (
                                                           { e =
                                                             (ArrayAccess (
                                                                { e =
                                                                  (N
                                                                    (Id (
                                                                    ("top_shape",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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> },
                                                                (_,
                                                                 { e =
                                                                   (N
                                                                    (Id (
                                                                    ("j", _),
                                                                    { 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> },
                                                                 _)
                                                                ));
                                                             e_id = 0;
                                                             e_range = None;
                                                             is_implicit_return =
                                                             false;
                                                             facts = <opaque>
                                                             },
                                                           _,
                                                           { e =
                                                             (Call (
                                                                { e =
                                                                  (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("shape",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 =
                                                                    (N
                                                                    (Id (
                                                                    ("j", _),
                                                                    { 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>
                                                                    })
                                                                   ],
                                                                 _)
                                                                ));
                                                             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 };
                                     { s =
                                       (ExprStmt (
                                          { e =
                                            (Call (
                                               { e =
                                                 (DotAccess (
                                                    { e =
                                                      (DeRef (_,
                                                         { e =
                                                           (ArrayAccess (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("top", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] }));
                                                                    t_attrs =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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> },
                                                              (_,
                                                               { e =
                                                                 (N
                                                                    (
                                                                    Id (
                                                                    ("i", _),
                                                                    { 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> },
                                                               _)
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> }
                                                         ));
                                                      e_id = 0;
                                                      e_range = None;
                                                      is_implicit_return =
                                                      false; facts = <opaque>
                                                      },
                                                    _,
                                                    (FN
                                                       (Id (("Reshape", _),
                                                          { id_resolved =
                                                            ref (None);
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyFun (
                                                                 [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))
                                                                   ],
                                                                 { t =
                                                                   (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                   t_attrs =
                                                                   [] }
                                                                 ));
                                                              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 =
                                                      (N
                                                         (Id (
                                                            ("top_shape", _),
                                                            { id_resolved =
                                                              ref ((Some (
                                                              LocalVar, _)));
                                                              id_resolved_alternatives =
                                                              ref ([]);
                                                              id_type =
                                                              ref ((Some 
                                                              { t =
                                                                (TyN
                                                                   (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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>
                                                      })
                                                  ],
                                                _)
                                               ));
                                            e_id = 0; e_range = None;
                                            is_implicit_return = false;
                                            facts = <opaque> },
                                          _));
                                       s_range = None }
                                     ],
                                   _));
                               s_range = None }
                             ));
                          s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("Skip", _), None);
                  name_middle =
                  (Some (QDots
                           [(("HDF5DataLayer", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("Dtype", _),
                                                { 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 = [] })
                                      ],
                                    _)))
                             ]));
                  name_top = None;
                  name_info =
                  { 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 =
          (Some (_,
                 [(TP
                     { tp_id = ("Dtype", _); tp_attrs = []; tp_bounds = [];
                       tp_default = None; tp_variance = None })
                   ],
                 _))
          },
        (FuncDef
           { fkind = (Function, _); fparams = (_, [], _);
             frettype =
             (Some { t =
                     (TyN
                        (Id (("bool", _),
                           { 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 =
                         (DefStmt
                            ({ name =
                               (EN
                                  (Id (("size", _),
                                     { id_resolved =
                                       ref ((Some (LocalVar, _)));
                                       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 = _ }
                                     )));
                               attrs = []; tparams = None },
                             (VarDef
                                { vinit =
                                  (Some { e =
                                          (Call (
                                             { e =
                                               (N
                                                  (IdQualified
                                                     { name_last =
                                                       (("solver_count", _),
                                                        None);
                                                       name_middle =
                                                       (Some (QDots
                                                                [(("Caffe", _),
                                                                  None)]));
                                                       name_top = None;
                                                       name_info =
                                                       { 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> },
                                             (_, [], _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> });
                                  vtype =
                                  (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 = [] });
                                  vtok = (Some _) })));
                         s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("rank", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e =
                                                (N
                                                   (IdQualified
                                                      { name_last =
                                                        (("solver_rank", _),
                                                         None);
                                                        name_middle =
                                                        (Some (QDots
                                                                 [(("Caffe",
                                                                    _),
                                                                   None)]));
                                                        name_top = None;
                                                        name_info =
                                                        { 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> },
                                              (_, [], _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (DefStmt
                             ({ name =
                                (EN
                                   (Id (("keep", _),
                                      { id_resolved =
                                        ref ((Some (LocalVar, _)));
                                        id_resolved_alternatives = ref ([]);
                                        id_type =
                                        ref ((Some { t =
                                                     (TyN
                                                        (Id (("bool", _),
                                                           { 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 = _ }
                                      )));
                                attrs = []; tparams = None },
                              (VarDef
                                 { vinit =
                                   (Some { e =
                                           (Call (
                                              { e = (Special ((Op Or), _));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              (_,
                                               [(Arg
                                                   { e =
                                                     (Call (
                                                        { e =
                                                          (Special
                                                             ((Op Eq), _));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        (_,
                                                         [(Arg
                                                             { e =
                                                               (Call (
                                                                  { e =
                                                                    (
                                                                    Special
                                                                    ((
                                                                    Op Mod),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                  (_,
                                                                   [(Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("offset_",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("size",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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 ((
                                                                    Sym
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "solver_count",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "Caffe",
                                                                    _), None)
                                                                    ]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    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 =
                                                                (N
                                                                   (Id (
                                                                    ("rank",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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 ((
                                                                    Sym
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "solver_rank",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "Caffe",
                                                                    _), None)
                                                                    ]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                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 =
                                                           (Special
                                                              ((Op Eq), _));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         (_,
                                                          [(Arg
                                                              { e =
                                                                (Call (
                                                                   { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("phase",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                   (_, [], _)
                                                                   ));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> });
                                                            (Arg
                                                               { e =
                                                                 (N
                                                                    (
                                                                    Id (
                                                                    ("TEST",
                                                                    _),
                                                                    { 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> })
                                                            ],
                                                          _)
                                                         ));
                                                      e_id = 0;
                                                      e_range = None;
                                                      is_implicit_return =
                                                      false; facts = <opaque>
                                                      })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                   vtype =
                                   (Some { t =
                                           (TyN
                                              (Id (("bool", _),
                                                 { 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 = [] });
                                   vtok = (Some _) })));
                          s_range = None };
                        { s =
                          (Return (_,
                             (Some { e =
                                     (Call (
                                        { e = (Special ((Op Not), _));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        (_,
                                         [(Arg
                                             { e =
                                               (N
                                                  (Id (("keep", _),
                                                     { id_resolved =
                                                       ref ((Some (LocalVar,
                                                                   _)));
                                                       id_resolved_alternatives =
                                                       ref ([]);
                                                       id_type =
                                                       ref ((Some { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("bool",
                                                                    _),
                                                                    { 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> })
                                           ],
                                         _)
                                        ));
                                     e_id = 0; e_range = None;
                                     is_implicit_return = false;
                                     facts = <opaque> }),
                             _));
                          s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("Next", _), None);
                  name_middle =
                  (Some (QDots
                           [(("HDF5DataLayer", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("Dtype", _),
                                                { 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 = [] })
                                      ],
                                    _)))
                             ]));
                  name_top = None;
                  name_info =
                  { 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 =
          (Some (_,
                 [(TP
                     { tp_id = ("Dtype", _); tp_attrs = []; tp_bounds = [];
                       tp_default = None; tp_variance = 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 =
                         (If (_,
                            (Cond
                               { e =
                                 (Call (
                                    { e = (Special ((Op Eq), _)); e_id = 0;
                                      e_range = None;
                                      is_implicit_return = false;
                                      facts = <opaque> },
                                    (_,
                                     [(Arg
                                         { e =
                                           (Call (
                                              { e =
                                                (Special
                                                   ((IncrDecr (Incr, Prefix)),
                                                    _));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              (_,
                                               [(Arg
                                                   { e =
                                                     (N
                                                        (Id (
                                                           ("current_row_", _),
                                                           { 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>
                                                     })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> });
                                       (Arg
                                          { e =
                                            (Call (
                                               { e =
                                                 (DotAccess (
                                                    { e =
                                                      (DeRef (_,
                                                         { e =
                                                           (ArrayAccess (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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> },
                                                              (_,
                                                               { e =
                                                                 (L
                                                                    (
                                                                    Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                 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>
                                                      },
                                                    _,
                                                    (FN
                                                       (Id (("shape", _),
                                                          { id_resolved =
                                                            ref (None);
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyFun (
                                                                 [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))
                                                                   ],
                                                                 { t =
                                                                   (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                   t_attrs =
                                                                   [] }
                                                                 ));
                                                              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 0L), _)));
                                                      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 =
                              (Block
                                 (_,
                                  [{ s =
                                     (If (_,
                                        (Cond
                                           { e =
                                             (Call (
                                                { e = (Special ((Op Gt), _));
                                                  e_id = 0; e_range = None;
                                                  is_implicit_return = false;
                                                  facts = <opaque> },
                                                (_,
                                                 [(Arg
                                                     { e =
                                                       (N
                                                          (Id (
                                                             ("num_files_", _),
                                                             { 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 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 =
                                          (Block
                                             (_,
                                              [{ s =
                                                 (ExprStmt (
                                                    { e =
                                                      (Call (
                                                         { e =
                                                           (Special
                                                              ((IncrDecr
                                                                  (Incr,
                                                                   Prefix)),
                                                               _));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         (_,
                                                          [(Arg
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("current_file_",
                                                                    _),
                                                                    { 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> })
                                                            ],
                                                          _)
                                                         ));
                                                      e_id = 0;
                                                      e_range = None;
                                                      is_implicit_return =
                                                      false; facts = <opaque>
                                                      },
                                                    _));
                                                 s_range = None };
                                                { s =
                                                  (If (_,
                                                     (Cond
                                                        { e =
                                                          (Call (
                                                             { e =
                                                               (Special
                                                                  ((Op Eq), _));
                                                               e_id = 0;
                                                               e_range = None;
                                                               is_implicit_return =
                                                               false;
                                                               facts =
                                                               <opaque> },
                                                             (_,
                                                              [(Arg
                                                                  { e =
                                                                    (
                                                                    N
                                                                    (Id (
                                                                    ("current_file_",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("num_files_",
                                                                    _),
                                                                    { 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>
                                                                    })
                                                                ],
                                                              _)
                                                             ));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> }),
                                                     { s =
                                                       (Block
                                                          (_,
                                                           [{ s =
                                                              (ExprStmt (
                                                                 { e =
                                                                   (Assign (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("current_file_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    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 =
                                                               (If (_,
                                                                  (Cond
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("hdf5_data_param",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("shuffle",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }),
                                                                  { s =
                                                                    (
                                                                    Block
                                                                    (_,
                                                                    [{ s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "random_shuffle",
                                                                    _), None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("file_permutation_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("begin",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("file_permutation_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("end", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    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 },
                                                                  None));
                                                               s_range = None
                                                               };
                                                             { s =
                                                               (ExprStmt (
                                                                  { e =
                                                                    (
                                                                    Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op LSL),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("DLOG",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("INFO",
                                                                    _),
                                                                    { 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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Looping around to first file.",
                                                                    _), _)));
                                                                    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 },
                                                     None));
                                                  s_range = None };
                                                { s =
                                                  (ExprStmt (
                                                     { e =
                                                       (Call (
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("LoadHDF5FileData",
                                                                   _),
                                                                  { 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 =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_filenames_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("file_permutation_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("current_file_",
                                                                    _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("c_str",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (
                                                                    _, [], _)
                                                                    ));
                                                                 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 },
                                        None));
                                     s_range = None };
                                    { s =
                                      (ExprStmt (
                                         { e =
                                           (Assign (
                                              { e =
                                                (N
                                                   (Id (("current_row_", _),
                                                      { 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> },
                                              _,
                                              { e = (L (Int ((Some 0L), _)));
                                                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 =
                                      (If (_,
                                         (Cond
                                            { e =
                                              (Call (
                                                 { e =
                                                   (DotAccess (
                                                      { e =
                                                        (Call (
                                                           { e =
                                                             (DotAccess (
                                                                { e =
                                                                  (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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> },
                                                                _,
                                                                (FN
                                                                   (Id (
                                                                    ("hdf5_data_param",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                             },
                                                           (_, [], _)));
                                                        e_id = 0;
                                                        e_range = None;
                                                        is_implicit_return =
                                                        false;
                                                        facts = <opaque> },
                                                      _,
                                                      (FN
                                                         (Id (("shuffle", _),
                                                            { id_resolved =
                                                              ref (None);
                                                              id_resolved_alternatives =
                                                              ref ([]);
                                                              id_type =
                                                              ref ((Some 
                                                              { t =
                                                                (TyFun (
                                                                   [(OtherParam (
                                                                    ("TODO",
                                                                    _), 
                                                                    []))],
                                                                   { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }
                                                                   ));
                                                                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> },
                                                 (_, [], _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> }),
                                         { s =
                                           (ExprStmt (
                                              { e =
                                                (Call (
                                                   { e =
                                                     (N
                                                        (IdQualified
                                                           { name_last =
                                                             (("random_shuffle",
                                                               _),
                                                              None);
                                                             name_middle =
                                                             (Some (QDots
                                                                    [((
                                                                    "std", _),
                                                                    None)]));
                                                             name_top = None;
                                                             name_info =
                                                             { 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 =
                                                               (DotAccess (
                                                                  { e =
                                                                    (
                                                                    N
                                                                    (Id (
                                                                    ("data_permutation_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                  _,
                                                                  (FN
                                                                    (Id (
                                                                    ("begin",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                             (_, [], _)));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> });
                                                      (Arg
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (DotAccess (
                                                                   { e =
                                                                    (N
                                                                    (Id (
                                                                    ("data_permutation_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                   _,
                                                                   (FN
                                                                    (Id (
                                                                    ("end", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                              (_, [], _)));
                                                           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 },
                                         None));
                                      s_range = None }
                                    ],
                                  _));
                              s_range = None },
                            None));
                         s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (Special ((IncrDecr (Incr, Postfix)), _));
                                    e_id = 0; e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  (_,
                                   [(Arg
                                       { e =
                                         (N
                                            (Id (("offset_", _),
                                               { 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> })
                                     ],
                                   _)
                                  ));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("Forward_cpu", _), None);
                  name_middle =
                  (Some (QDots
                           [(("HDF5DataLayer", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("Dtype", _),
                                                { 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 = [] })
                                      ],
                                    _)))
                             ]));
                  name_top = None;
                  name_info =
                  { 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 =
          (Some (_,
                 [(TP
                     { tp_id = ("Dtype", _); tp_attrs = []; tp_bounds = [];
                       tp_default = None; tp_variance = None })
                   ],
                 _))
          },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("bottom", _));
                    ptype =
                    (Some { t =
                            (TyRef (_,
                               { t =
                                 (TyN
                                    (IdQualified
                                       { name_last =
                                         (("vector", _),
                                          (Some (_,
                                                 [(TA
                                                     { t =
                                                       (TyPointer (_,
                                                          { t =
                                                            (TyN
                                                               (IdQualified
                                                                  { name_last =
                                                                    (
                                                                    (
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = [] }
                                                          ));
                                                       t_attrs = [] })
                                                   ],
                                                 _)));
                                         name_middle = None; name_top = None;
                                         name_info =
                                         { 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 = [(KeywordAttr (Const, _))] }
                               ));
                            t_attrs = [] });
                    pdefault = None; pattrs = [];
                    pinfo =
                    { id_resolved = ref ((Some (Parameter, _)));
                      id_resolved_alternatives = ref ([]);
                      id_type =
                      ref ((Some { t =
                                   (TyRef (_,
                                      { t =
                                        (TyN
                                           (IdQualified
                                              { name_last =
                                                (("vector", _),
                                                 (Some (_,
                                                        [(TA
                                                            { t =
                                                              (TyPointer (_,
                                                                 { t =
                                                                   (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                   [] }
                                                                 ));
                                                              t_attrs = [] })
                                                          ],
                                                        _)));
                                                name_middle = None;
                                                name_top = None;
                                                name_info =
                                                { 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 = [(KeywordAttr (Const, _))]
                                        }
                                      ));
                                   t_attrs = [] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    });
                (Param
                   { pname = (Some ("top", _));
                     ptype =
                     (Some { t =
                             (TyRef (_,
                                { t =
                                  (TyN
                                     (IdQualified
                                        { name_last =
                                          (("vector", _),
                                           (Some (_,
                                                  [(TA
                                                      { t =
                                                        (TyPointer (_,
                                                           { t =
                                                             (TyN
                                                                (IdQualified
                                                                   { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = [] }
                                                           ));
                                                        t_attrs = [] })
                                                    ],
                                                  _)));
                                          name_middle = None;
                                          name_top = None;
                                          name_info =
                                          { 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 = [(KeywordAttr (Const, _))] }
                                ));
                             t_attrs = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref ((Some (Parameter, _)));
                       id_resolved_alternatives = ref ([]);
                       id_type =
                       ref ((Some { t =
                                    (TyRef (_,
                                       { t =
                                         (TyN
                                            (IdQualified
                                               { name_last =
                                                 (("vector", _),
                                                  (Some (_,
                                                         [(TA
                                                             { t =
                                                               (TyPointer (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] }
                                                                  ));
                                                               t_attrs = [] })
                                                           ],
                                                         _)));
                                                 name_middle = None;
                                                 name_top = None;
                                                 name_info =
                                                 { 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 = [(KeywordAttr (Const, _))]
                                         }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     })
                ],
              _);
             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 =
                         (DefStmt
                            ({ name =
                               (EN
                                  (Id (("batch_size", _),
                                     { id_resolved =
                                       ref ((Some (LocalVar, _)));
                                       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 =
                                                    [(KeywordAttr (Const, _))
                                                      ]
                                                    }));
                                       id_svalue = ref (Unknown);
                                       id_flags = ref (0); id_info_id = _ }
                                     )));
                               attrs = []; tparams = None },
                             (VarDef
                                { vinit =
                                  (Some { e =
                                          (Call (
                                             { e =
                                               (DotAccess (
                                                  { e =
                                                    (Call (
                                                       { e =
                                                         (DotAccess (
                                                            { e =
                                                              (DotAccess (
                                                                 { e =
                                                                   (DeRef (_,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                   e_id = 0;
                                                                   e_range =
                                                                   None;
                                                                   is_implicit_return =
                                                                   false;
                                                                   facts =
                                                                   <opaque> },
                                                                 _,
                                                                 (FN
                                                                    (
                                                                    Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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> },
                                                            _,
                                                            (FN
                                                               (Id (
                                                                  ("hdf5_data_param",
                                                                   _),
                                                                  { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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> },
                                                       (_, [], _)));
                                                    e_id = 0; e_range = None;
                                                    is_implicit_return =
                                                    false; facts = <opaque> },
                                                  _,
                                                  (FN
                                                     (Id (("batch_size", _),
                                                        { id_resolved =
                                                          ref (None);
                                                          id_resolved_alternatives =
                                                          ref ([]);
                                                          id_type =
                                                          ref ((Some 
                                                          { t =
                                                            (TyFun (
                                                               [(OtherParam (
                                                                   ("TODO", _),
                                                                   []))
                                                                 ],
                                                               { t =
                                                                 (OtherType (
                                                                    (
                                                                    "TODO", _),
                                                                    []));
                                                                 t_attrs = []
                                                                 }
                                                               ));
                                                            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> },
                                             (_, [], _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> });
                                  vtype =
                                  (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 =
                                          [(KeywordAttr (Const, _))] });
                                  vtok = (Some _) })));
                         s_range = None };
                        { s =
                          (For (_,
                             (ForClassic (
                                [(ForInitVar (
                                    { name =
                                      (EN
                                         (Id (("i", _),
                                            { 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 },
                                    { vinit =
                                      (Some { e = (L (Int ((Some 0L), _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> });
                                      vtype =
                                      (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 = [] });
                                      vtok = None }
                                    ))
                                  ],
                                (Some { e =
                                        (Call (
                                           { e = (Special ((Op Lt), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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 =
                                                   (N
                                                      (Id (("batch_size", _),
                                                         { id_resolved =
                                                           ref ((Some (
                                                           LocalVar, _)));
                                                           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 =
                                                             [(KeywordAttr
                                                                 (Const, _))
                                                               ]
                                                             }));
                                                           id_svalue =
                                                           ref (Unknown);
                                                           id_flags = ref (0);
                                                           id_info_id = _ }
                                                         )));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> }),
                                (Some { e =
                                        (Call (
                                           { e =
                                             (Special
                                                ((IncrDecr (Incr, Prefix)), _));
                                             e_id = 0; e_range = None;
                                             is_implicit_return = false;
                                             facts = <opaque> },
                                           (_,
                                            [(Arg
                                                { e =
                                                  (N
                                                     (Id (("i", _),
                                                        { 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> })
                                              ],
                                            _)
                                           ));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> })
                                )),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (While (_,
                                         (Cond
                                            { e =
                                              (Call (
                                                 { e =
                                                   (N
                                                      (Id (("Skip", _),
                                                         { 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> },
                                                 (_, [], _)));
                                              e_id = 0; e_range = None;
                                              is_implicit_return = false;
                                              facts = <opaque> }),
                                         { s =
                                           (Block
                                              (_,
                                               [{ s =
                                                  (ExprStmt (
                                                     { e =
                                                       (Call (
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("Next", _),
                                                                  { 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>
                                                            },
                                                          (_, [], _)));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> },
                                                     _));
                                                  s_range = None }
                                                 ],
                                               _));
                                           s_range = None }
                                         ));
                                      s_range = None };
                                     { s =
                                       (For (_,
                                          (ForClassic (
                                             [(ForInitVar (
                                                 { name =
                                                   (EN
                                                      (Id (("j", _),
                                                         { 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
                                                   },
                                                 { vinit =
                                                   (Some { e =
                                                           (L
                                                              (Int
                                                                 ((Some 0L),
                                                                  _)));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> });
                                                   vtype =
                                                   (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 = [] });
                                                   vtok = None }
                                                 ))
                                               ],
                                             (Some { e =
                                                     (Call (
                                                        { e =
                                                          (Special
                                                             ((Op Lt), _));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        (_,
                                                         [(Arg
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("j", _),
                                                                    { 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 =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (N
                                                                    (IdSpecial (
                                                                    (This, _),
                                                                    { 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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("layer_param_",
                                                                    _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("top_size",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                   (_, [], _)
                                                                   ));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> })
                                                           ],
                                                         _)
                                                        ));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     }),
                                             (Some { e =
                                                     (Call (
                                                        { e =
                                                          (Special
                                                             ((IncrDecr
                                                                 (Incr,
                                                                  Prefix)),
                                                              _));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        (_,
                                                         [(Arg
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("j", _),
                                                                    { 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> })
                                                           ],
                                                         _)
                                                        ));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     })
                                             )),
                                          { s =
                                            (Block
                                               (_,
                                                [{ s =
                                                   (DefStmt
                                                      ({ name =
                                                         (EN
                                                            (Id (
                                                               ("data_dim", _),
                                                               { id_resolved =
                                                                 ref ((Some (
                                                                 LocalVar, _)));
                                                                 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 =
                                                                 _ }
                                                               )));
                                                         attrs = [];
                                                         tparams = None },
                                                       (VarDef
                                                          { vinit =
                                                            (Some { e =
                                                                    (
                                                                    Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op Div),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("top", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] }));
                                                                    t_attrs =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("j", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("count",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("top", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] }));
                                                                    t_attrs =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("j", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("shape",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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 0L),
                                                                    _)));
                                                                    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>
                                                                    });
                                                            vtype =
                                                            (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 =
                                                                    [] });
                                                            vtok = (Some _) })));
                                                   s_range = None };
                                                  { s =
                                                    (ExprStmt (
                                                       { e =
                                                         (Call (
                                                            { e =
                                                              (N
                                                                 (Id (
                                                                    (
                                                                    "caffe_copy",
                                                                    _),
                                                                    { 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 =
                                                                   (N
                                                                    (Id (
                                                                    ("data_dim",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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 =
                                                                    (
                                                                    Ref (_,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("hdf_blobs_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("j", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("cpu_data",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op Mult),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("data_permutation_",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("current_row_",
                                                                    _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("data_dim",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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>
                                                                    })], _)));
                                                                    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 =
                                                                    (
                                                                    Ref (_,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DeRef (
                                                                    _,
                                                                    { e =
                                                                    (ArrayAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("top", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Blob", _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Dtype",
                                                                    _),
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [] }));
                                                                    t_attrs =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    [(KeywordAttr
                                                                    (Const, _))
                                                                    ] }));
                                                                    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>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("j", _),
                                                                    { 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>
                                                                    }, _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("mutable_cpu_data",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [(OtherParam (
                                                                    ("TODO",
                                                                    _), []))],
                                                                    { t =
                                                                    (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                    t_attrs =
                                                                    [] }));
                                                                    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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op Mult),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("data_dim",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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>
                                                                    })], _)));
                                                                    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 };
                                     { s =
                                       (ExprStmt (
                                          { e =
                                            (Call (
                                               { e =
                                                 (N
                                                    (Id (("Next", _),
                                                       { 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> },
                                               (_, [], _)));
                                            e_id = 0; e_range = None;
                                            is_implicit_return = false;
                                            facts = <opaque> },
                                          _));
                                       s_range = None }
                                     ],
                                   _));
                               s_range = None }
                             ));
                          s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (N
                 (Id (("STUB_GPU_FORWARD", _),
                    { 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 =
                   (N
                      (Id (("HDF5DataLayer", _),
                         { 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 =
                    (N
                       (Id (("Forward", _),
                          { 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> })
               ],
             _)
            ));
         e_id = 0; e_range = None; is_implicit_return = false;
         facts = <opaque> },
       _));
    s_range = None };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (N
                 (Id (("INSTANTIATE_CLASS", _),
                    { 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 =
                   (N
                      (Id (("HDF5DataLayer", _),
                         { 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> })
               ],
             _)
            ));
         e_id = 0; e_range = None; is_implicit_return = false;
         facts = <opaque> },
       _));
    s_range = None };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (N
                 (Id (("REGISTER_LAYER_CLASS", _),
                    { 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 =
                   (N
                      (Id (("HDF5Data", _),
                         { 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> })
               ],
             _)
            ));
         e_id = 0; e_range = None; is_implicit_return = false;
         facts = <opaque> },
       _));
    s_range = None };
  { s = (DirectiveStmt { d = (PackageEnd _); d_attrs = [] }); s_range = None
    }
  ]