[{ s =
   (DirectiveStmt
      { d = (ImportAll (_, (FileName ("caffe2/operators/relu_op.h", _)), _));
        d_attrs = [] });
   s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("<algorithm>", _)), _)); d_attrs = []
         });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("<functional>", _)), _)); d_attrs = []
         });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("<string>", _)), _)); d_attrs = [] });
    s_range = None };
  { s =
    (DirectiveStmt
       { d = (ImportAll (_, (FileName ("caffe2/utils/eigen_utils.h", _)), _));
         d_attrs = [] });
    s_range = None };
  { s = (DirectiveStmt { d = (Package (_, [("caffe2", _)])); d_attrs = [] });
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (IdQualified
                { name_last = (("()", _), None);
                  name_middle =
                  (Some (QDots
                           [(("ReluFunctor", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("CPUContext", _),
                                                { 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 (_, [], _)) },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("N", _));
                    ptype =
                    (Some { t =
                            (TyN
                               (Id (("int", _),
                                  { id_resolved = ref (None);
                                    id_resolved_alternatives = ref ([]);
                                    id_type = ref (None);
                                    id_svalue = ref (Unknown);
                                    id_flags = ref (0); id_info_id = _ }
                                  )));
                            t_attrs = [(KeywordAttr (Const, _))] });
                    pdefault = None; pattrs = [];
                    pinfo =
                    { id_resolved = ref ((Some (Parameter, _)));
                      id_resolved_alternatives = ref ([]);
                      id_type =
                      ref ((Some { t =
                                   (TyN
                                      (Id (("int", _),
                                         { id_resolved = ref (None);
                                           id_resolved_alternatives =
                                           ref ([]); id_type = ref (None);
                                           id_svalue = ref (Unknown);
                                           id_flags = ref (0); id_info_id = _
                                           }
                                         )));
                                   t_attrs = [(KeywordAttr (Const, _))] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    });
                (Param
                   { pname = (Some ("X", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("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 = [(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 (("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 = [(KeywordAttr (Const, _))]
                                         }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     });
                (Param
                   { pname = (Some ("Y", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("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 = [] }
                                ));
                             t_attrs = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref ((Some (Parameter, _)));
                       id_resolved_alternatives = ref ([]);
                       id_type =
                       ref ((Some { t =
                                    (TyPointer (_,
                                       { t =
                                         (TyN
                                            (Id (("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 = [] }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     });
                (Param
                   { pname = None;
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("CPUContext", _),
                                        { 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 = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref (None);
                       id_resolved_alternatives = ref ([]);
                       id_type = ref (None); id_svalue = ref (Unknown);
                       id_flags = ref (0); id_info_id = _ }
                     })
                ],
              _);
             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 =
                         (ExprStmt (
                            { e =
                              (Assign (
                                 { e =
                                   (Call (
                                      { e =
                                        (N
                                           (IdQualified
                                              { name_last =
                                                (("EigenVectorMap", _),
                                                 (Some (_,
                                                        [(TA
                                                            { t =
                                                              (TyN
                                                                 (Id (
                                                                    (
                                                                    "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 = [] })
                                                          ],
                                                        _)));
                                                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 =
                                             (N
                                                (Id (("Y", _),
                                                   { id_resolved =
                                                     ref ((Some (Parameter, _)));
                                                     id_resolved_alternatives =
                                                     ref ([]);
                                                     id_type =
                                                     ref ((Some { t =
                                                                  (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [] }));
                                                                  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 (("N", _),
                                                    { id_resolved =
                                                      ref ((Some (Parameter,
                                                                  _)));
                                                      id_resolved_alternatives =
                                                      ref ([]);
                                                      id_type =
                                                      ref ((Some { t =
                                                                   (TyN
                                                                    (Id (
                                                                    ("int", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                   t_attrs =
                                                                   [(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> },
                                 _,
                                 { e =
                                   (Call (
                                      { e =
                                        (DotAccess (
                                           { e =
                                             (Call (
                                                { e =
                                                  (N
                                                     (IdQualified
                                                        { name_last =
                                                          (("ConstEigenVectorMap",
                                                            _),
                                                           (Some (_,
                                                                  [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("float",
                                                                    _),
                                                                    { 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 =
                                                       (N
                                                          (Id (("X", _),
                                                             { id_resolved =
                                                               ref ((Some (
                                                               Parameter, _)));
                                                               id_resolved_alternatives =
                                                               ref ([]);
                                                               id_type =
                                                               ref ((Some 
                                                               { t =
                                                                 (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [(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 (("N", _),
                                                              { id_resolved =
                                                                ref ((Some (
                                                                Parameter, _)));
                                                                id_resolved_alternatives =
                                                                ref (
                                                                []);
                                                                id_type =
                                                                ref ((Some 
                                                                { t =
                                                                  (TyN
                                                                    (Id (
                                                                    ("int", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                  t_attrs =
                                                                  [(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> },
                                           _,
                                           (FN
                                              (Id (("cwiseMax", _),
                                                 { 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 =
                                                  (N
                                                     (Id (("T", _),
                                                        { 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 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> }
                                 ));
                              e_id = 0; e_range = None;
                              is_implicit_return = false; facts = <opaque> },
                            _));
                         s_range = None };
                        { s =
                          (Return (_,
                             (Some { e = (L (Bool (true, _))); 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 = (("()", _), None);
                  name_middle =
                  (Some (QDots
                           [(("ReluFunctor", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("CPUContext", _),
                                                { 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 (_, [], _)) },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("N", _));
                    ptype =
                    (Some { t =
                            (TyN
                               (Id (("int", _),
                                  { id_resolved = ref (None);
                                    id_resolved_alternatives = ref ([]);
                                    id_type = ref (None);
                                    id_svalue = ref (Unknown);
                                    id_flags = ref (0); id_info_id = _ }
                                  )));
                            t_attrs = [(KeywordAttr (Const, _))] });
                    pdefault = None; pattrs = [];
                    pinfo =
                    { id_resolved = ref ((Some (Parameter, _)));
                      id_resolved_alternatives = ref ([]);
                      id_type =
                      ref ((Some { t =
                                   (TyN
                                      (Id (("int", _),
                                         { id_resolved = ref (None);
                                           id_resolved_alternatives =
                                           ref ([]); id_type = ref (None);
                                           id_svalue = ref (Unknown);
                                           id_flags = ref (0); id_info_id = _
                                           }
                                         )));
                                   t_attrs = [(KeywordAttr (Const, _))] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    });
                (Param
                   { pname = (Some ("X", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("float", _),
                                        { 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 (("float", _),
                                               { 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 ("Y", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("float", _),
                                        { 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 = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref ((Some (Parameter, _)));
                       id_resolved_alternatives = ref ([]);
                       id_type =
                       ref ((Some { t =
                                    (TyPointer (_,
                                       { t =
                                         (TyN
                                            (Id (("float", _),
                                               { 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 = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     });
                (Param
                   { pname = None;
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("CPUContext", _),
                                        { 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 = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref (None);
                       id_resolved_alternatives = ref ([]);
                       id_type = ref (None); id_svalue = ref (Unknown);
                       id_flags = ref (0); id_info_id = _ }
                     })
                ],
              _);
             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 (("zero", _),
                                     { id_resolved =
                                       ref ((Some (LocalVar, _)));
                                       id_resolved_alternatives = ref ([]);
                                       id_type =
                                       ref ((Some { t =
                                                    (TyN
                                                       (Id (("float", _),
                                                          { 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 (None, _))); e_id = 0;
                                          e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> });
                                  vtype =
                                  (Some { t =
                                          (TyN
                                             (Id (("float", _),
                                                { 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 =
                          (ExprStmt (
                             { e =
                               (Call (
                                  { e =
                                    (N
                                       (Id (("vDSP_vthres", _),
                                          { 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 (("X", _),
                                               { id_resolved =
                                                 ref ((Some (Parameter, _)));
                                                 id_resolved_alternatives =
                                                 ref ([]);
                                                 id_type =
                                                 ref ((Some { t =
                                                              (TyPointer (_,
                                                                 { t =
                                                                   (TyN
                                                                    (Id (
                                                                    ("float",
                                                                    _),
                                                                    { 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 = (L (Int ((Some 1L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> });
                                     (Arg
                                        { e =
                                          (Ref (_,
                                             { e =
                                               (N
                                                  (Id (("zero", _),
                                                     { id_resolved =
                                                       ref ((Some (LocalVar,
                                                                   _)));
                                                       id_resolved_alternatives =
                                                       ref ([]);
                                                       id_type =
                                                       ref ((Some { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("float",
                                                                    _),
                                                                    { 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 ((Lit
                                                               (Int (None, _))));
                                                       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 (("Y", _),
                                                { id_resolved =
                                                  ref ((Some (Parameter, _)));
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyPointer (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("float",
                                                                    _),
                                                                    { 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 = [] }));
                                                  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> });
                                     (Arg
                                        { e =
                                          (N
                                             (Id (("N", _),
                                                { id_resolved =
                                                  ref ((Some (Parameter, _)));
                                                  id_resolved_alternatives =
                                                  ref ([]);
                                                  id_type =
                                                  ref ((Some { t =
                                                               (TyN
                                                                  (Id (
                                                                    ("int", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                               t_attrs =
                                                               [(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 =
                          (Return (_,
                             (Some { e = (L (Bool (true, _))); 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", _), None);
                  name_middle =
                  (Some (QDots
                           [(("ReluGradientFunctor", _),
                             (Some (_,
                                    [(TA
                                        { t =
                                          (TyN
                                             (Id (("CPUContext", _),
                                                { 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 (_, [], _)) },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("Y_dims", _));
                    ptype =
                    (Some { t =
                            (TyRef (_,
                               { 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 =
                                         (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 = [(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 =
                                                              (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 =
                                                (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 = [(KeywordAttr (Const, _))]
                                        }
                                      ));
                                   t_attrs = [] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    });
                (Param
                   { pname = None;
                     ptype =
                     (Some { t =
                             (TyRef (_,
                                { 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 =
                                          (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 = [(KeywordAttr (Const, _))] }
                                ));
                             t_attrs = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref (None);
                       id_resolved_alternatives = ref ([]);
                       id_type = ref (None); id_svalue = ref (Unknown);
                       id_flags = ref (0); id_info_id = _ }
                     });
                (Param
                   { pname = (Some ("Y", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("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 = [(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 (("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 = [(KeywordAttr (Const, _))]
                                         }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     });
                (Param
                   { pname = (Some ("dY", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("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 = [(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 (("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 = [(KeywordAttr (Const, _))]
                                         }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     });
                (Param
                   { pname = (Some ("dX", _));
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("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 = [] }
                                ));
                             t_attrs = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref ((Some (Parameter, _)));
                       id_resolved_alternatives = ref ([]);
                       id_type =
                       ref ((Some { t =
                                    (TyPointer (_,
                                       { t =
                                         (TyN
                                            (Id (("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 = [] }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     });
                (Param
                   { pname = None;
                     ptype =
                     (Some { t =
                             (TyPointer (_,
                                { t =
                                  (TyN
                                     (Id (("CPUContext", _),
                                        { 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 = [] });
                     pdefault = None; pattrs = [];
                     pinfo =
                     { id_resolved = ref (None);
                       id_resolved_alternatives = ref ([]);
                       id_type = ref (None); id_svalue = ref (Unknown);
                       id_flags = ref (0); id_info_id = _ }
                     })
                ],
              _);
             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 =
                                                    [(KeywordAttr (Const, _))
                                                      ]
                                                    }));
                                       id_svalue = ref (Unknown);
                                       id_flags = ref (0); id_info_id = _ }
                                     )));
                               attrs = []; tparams = None },
                             (VarDef
                                { vinit =
                                  (Some { e =
                                          (Call (
                                             { e =
                                               (N
                                                  (IdQualified
                                                     { name_last =
                                                       (("accumulate", _),
                                                        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 (
                                                                    (
                                                                    "Y_dims",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { 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 =
                                                                    (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 =
                                                                    [(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 (
                                                                  ("cbegin",
                                                                   _),
                                                                  { 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 (
                                                                    ("Y_dims",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { 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 =
                                                                    (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 =
                                                                    [(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 (
                                                                   ("cend", _),
                                                                   { 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>
                                                     });
                                                (Arg
                                                   { e =
                                                     (Call (
                                                        { e =
                                                          (N
                                                             (IdQualified
                                                                { name_last =
                                                                  (("multiplies",
                                                                    _),
                                                                   (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 =
                                                                  (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> },
                                                        (_, [], _)));
                                                     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 =
                          (ExprStmt (
                             { e =
                               (Assign (
                                  { e =
                                    (Call (
                                       { e =
                                         (N
                                            (IdQualified
                                               { name_last =
                                                 (("EigenVectorArrayMap", _),
                                                  (Some (_,
                                                         [(TA
                                                             { t =
                                                               (TyN
                                                                  (Id (
                                                                    ("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 = [] })
                                                           ],
                                                         _)));
                                                 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 =
                                              (N
                                                 (Id (("dX", _),
                                                    { id_resolved =
                                                      ref ((Some (Parameter,
                                                                  _)));
                                                      id_resolved_alternatives =
                                                      ref ([]);
                                                      id_type =
                                                      ref ((Some { t =
                                                                   (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [] }));
                                                                   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 (("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> },
                                  _,
                                  { e =
                                    (Call (
                                       { e =
                                         (DotAccess (
                                            { e =
                                              (Call (
                                                 { e = (Special ((Op Gt), _));
                                                   e_id = 0; e_range = None;
                                                   is_implicit_return = false;
                                                   facts = <opaque> },
                                                 (_,
                                                  [(Arg
                                                      { e =
                                                        (Call (
                                                           { e =
                                                             (N
                                                                (IdQualified
                                                                   { name_last =
                                                                    ((
                                                                    "ConstEigenVectorArrayMap",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [] })], _)));
                                                                    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 =
                                                                  (N
                                                                    (Id (
                                                                    ("Y", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [(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 (
                                                                    ("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 ((
                                                                    Sym
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "accumulate",
                                                                    _), 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 (
                                                                    ("Y_dims",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { 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 =
                                                                    (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 =
                                                                    [(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 (
                                                                    ("cbegin",
                                                                    _),
                                                                    { 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 (
                                                                    ("Y_dims",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { 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 =
                                                                    (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 =
                                                                    [(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 (
                                                                    ("cend",
                                                                    _),
                                                                    { 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>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "multiplies",
                                                                    _),
                                                                    (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 =
                                                                    (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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    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 =
                                                              (N
                                                                 (Id (
                                                                    (
                                                                    "T", _),
                                                                    { 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 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 (("select", _),
                                                  { 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 =
                                                   (N
                                                      (IdQualified
                                                         { name_last =
                                                           (("ConstEigenVectorArrayMap",
                                                             _),
                                                            (Some (_,
                                                                   [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [] })],
                                                                   _)));
                                                           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 =
                                                        (N
                                                           (Id (("dY", _),
                                                              { id_resolved =
                                                                ref ((Some (
                                                                Parameter, _)));
                                                                id_resolved_alternatives =
                                                                ref (
                                                                []);
                                                                id_type =
                                                                ref ((Some 
                                                                { t =
                                                                  (TyPointer (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("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 =
                                                                    [(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 (("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 ((
                                                                 Sym
                                                                   { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "accumulate",
                                                                    _), 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 (
                                                                    ("Y_dims",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { 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 =
                                                                    (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 =
                                                                    [(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 (
                                                                    ("cbegin",
                                                                    _),
                                                                    { 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 (
                                                                    ("Y_dims",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { 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 =
                                                                    (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 =
                                                                    [(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 (
                                                                    ("cend",
                                                                    _),
                                                                    { 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>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "multiplies",
                                                                    _),
                                                                    (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 =
                                                                    (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>
                                                                    },
                                                                    (_, [], _)
                                                                    ));
                                                                    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 =
                                                    (N
                                                       (Id (("T", _),
                                                          { 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 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> }
                                  ));
                               e_id = 0; e_range = None;
                               is_implicit_return = false; facts = <opaque> },
                             _));
                          s_range = None };
                        { s =
                          (Return (_,
                             (Some { e = (L (Bool (true, _))); e_id = 0;
                                     e_range = None;
                                     is_implicit_return = false;
                                     facts = <opaque> }),
                             _));
                          s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s = (DirectiveStmt { d = (Package (_, [])); d_attrs = [] });
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("CostInferenceForRelu", _),
                { id_resolved = ref (None);
                  id_resolved_alternatives = ref ([]); id_type = ref (None);
                  id_svalue = ref (Unknown); id_flags = ref (0);
                  id_info_id = _ }
                )));
          attrs = []; tparams = None },
        (FuncDef
           { fkind = (Function, _);
             fparams =
             (_,
              [(Param
                  { pname = (Some ("def", _));
                    ptype =
                    (Some { t =
                            (TyRef (_,
                               { t =
                                 (TyN
                                    (Id (("OperatorDef", _),
                                       { 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
                                           (Id (("OperatorDef", _),
                                              { 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 ("in", _));
                     ptype =
                     (Some { t =
                             (TyRef (_,
                                { t =
                                  (TyN
                                     (IdQualified
                                        { name_last =
                                          (("vector", _),
                                           (Some (_,
                                                  [(TA
                                                      { t =
                                                        (TyN
                                                           (Id (
                                                              ("TensorShape",
                                                               _),
                                                              { 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 = [(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 =
                                                               (TyN
                                                                  (Id (
                                                                    ("TensorShape",
                                                                    _),
                                                                    { 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 = [(KeywordAttr (Const, _))]
                                         }
                                       ));
                                    t_attrs = [] }));
                       id_svalue = ref (Unknown); id_flags = ref (0);
                       id_info_id = _ }
                     })
                ],
              _);
             frettype =
             (Some { t =
                     (TyN
                        (IdQualified
                           { name_last = (("Cost", _), None);
                             name_middle =
                             (Some (QDots [(("OpSchema", _), 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 = [] });
             fbody =
             (FBStmt
                { s =
                  (Block
                     (_,
                      [{ s =
                         (DefStmt
                            ({ name =
                               (EN
                                  (Id (("cost", _),
                                     { id_resolved =
                                       ref ((Some (LocalVar, _)));
                                       id_resolved_alternatives = ref ([]);
                                       id_type =
                                       ref ((Some { t =
                                                    (OtherType (
                                                       ("struct", _),
                                                       [(T
                                                           { t =
                                                             (TyN
                                                                (IdQualified
                                                                   { name_last =
                                                                    ((
                                                                    "Cost", _),
                                                                    None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "OpSchema",
                                                                    _), 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 = [] }));
                                       id_svalue = ref (Unknown);
                                       id_flags = ref (0); id_info_id = _ }
                                     )));
                               attrs = []; tparams = None },
                             (VarDef
                                { vinit =
                                  (Some { e =
                                          (Call (
                                             { e =
                                               (N
                                                  (IdQualified
                                                     { name_last =
                                                       (("PointwiseCostInference",
                                                         _),
                                                        (Some (_,
                                                               [(TAExpr
                                                                   { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                 ],
                                                               _)));
                                                       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 =
                                                    (N
                                                       (Id (("def", _),
                                                          { id_resolved =
                                                            ref ((Some (
                                                            Parameter, _)));
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyRef (_,
                                                                 { t =
                                                                   (TyN
                                                                    (Id (
                                                                    ("OperatorDef",
                                                                    _),
                                                                    { 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 (("in", _),
                                                           { id_resolved =
                                                             ref ((Some (
                                                             Parameter, _)));
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref ((Some 
                                                             { t =
                                                               (TyRef (_,
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("TensorShape",
                                                                    _),
                                                                    { 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 =
                                                                    [(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> });
                                  vtype =
                                  (Some { t =
                                          (OtherType (("struct", _),
                                             [(T
                                                 { t =
                                                   (TyN
                                                      (IdQualified
                                                         { name_last =
                                                           (("Cost", _), None);
                                                           name_middle =
                                                           (Some (QDots
                                                                    [((
                                                                    "OpSchema",
                                                                    _), 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 = [] });
                                  vtok = (Some _) })));
                         s_range = None };
                        { s =
                          (ExprStmt (
                             { e =
                               (Assign (
                                  { e =
                                    (DotAccess (
                                       { e =
                                         (N
                                            (Id (("cost", _),
                                               { id_resolved =
                                                 ref ((Some (LocalVar, _)));
                                                 id_resolved_alternatives =
                                                 ref ([]);
                                                 id_type =
                                                 ref ((Some { t =
                                                              (OtherType (
                                                                 ("struct", _),
                                                                 [(T
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Cost", _),
                                                                    None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "OpSchema",
                                                                    _), 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 = [] }));
                                                 id_svalue =
                                                 ref ((Sym
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (N
                                                                   (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "PointwiseCostInference",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TAExpr
                                                                    { e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })], _)));
                                                                    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 =
                                                                    (N
                                                                    (Id (
                                                                    ("def", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("OperatorDef",
                                                                    _),
                                                                    { 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 (
                                                                    ("in", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyRef (
                                                                    _,
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("TensorShape",
                                                                    _),
                                                                    { 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 =
                                                                    [(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> }));
                                                 id_flags = ref (0);
                                                 id_info_id = _ }
                                               )));
                                         e_id = 0; e_range = None;
                                         is_implicit_return = false;
                                         facts = <opaque> },
                                       _,
                                       (FN
                                          (Id (("params_bytes", _),
                                             { 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 =
                          (Return (_,
                             (Some { e =
                                     (N
                                        (Id (("cost", _),
                                           { id_resolved =
                                             ref ((Some (LocalVar, _)));
                                             id_resolved_alternatives =
                                             ref ([]);
                                             id_type =
                                             ref ((Some { t =
                                                          (OtherType (
                                                             ("struct", _),
                                                             [(T
                                                                 { t =
                                                                   (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "Cost", _),
                                                                    None);
                                                                    name_middle =
                                                                    (Some (
                                                                    QDots
                                                                    [((
                                                                    "OpSchema",
                                                                    _), 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 = [] }));
                                             id_svalue = ref (Unknown);
                                             id_flags = ref (0);
                                             id_info_id = _ }
                                           )));
                                     e_id = 0; e_range = None;
                                     is_implicit_return = false;
                                     facts = <opaque> }),
                             _));
                          s_range = None }
                        ],
                      _));
                  s_range = None })
             })));
    s_range = None };
  { s = (DirectiveStmt { d = (PackageEnd _); d_attrs = [] }); s_range = None
    };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (N
                 (Id (("REGISTER_CPU_OPERATOR", _),
                    { 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 (("Relu", _),
                         { 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
                       (IdQualified
                          { name_last =
                            (("UnaryElementwiseOp", _),
                             (Some (_,
                                    [(TAExpr
                                        { e =
                                          (N
                                             (IdQualified
                                                { name_last =
                                                  (("TensorTypes", _),
                                                   (Some (_,
                                                          [(TA
                                                              { t =
                                                                (TyN
                                                                   (Id (
                                                                    ("float",
                                                                    _),
                                                                    { 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> });
                                      (TA
                                         { t =
                                           (TyN
                                              (Id (("CPUContext", _),
                                                 { 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 = [] });
                                      (TA
                                         { t =
                                           (TyN
                                              (IdQualified
                                                 { name_last =
                                                   (("ReluFunctor", _),
                                                    (Some (_,
                                                           [(TA
                                                               { t =
                                                                 (TyN
                                                                    (
                                                                    Id (
                                                                    ("CPUContext",
                                                                    _),
                                                                    { 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> })
               ],
             _)
            ));
         e_id = 0; e_range = None; is_implicit_return = false;
         facts = <opaque> },
       _));
    s_range = None };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (N
                 (Id (("REGISTER_CPU_GRADIENT_OPERATOR", _),
                    { 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 (("ReluGradient", _),
                         { 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
                       (IdQualified
                          { name_last =
                            (("BinaryElementwiseOp", _),
                             (Some (_,
                                    [(TAExpr
                                        { e =
                                          (N
                                             (IdQualified
                                                { name_last =
                                                  (("TensorTypes", _),
                                                   (Some (_,
                                                          [(TA
                                                              { t =
                                                                (TyN
                                                                   (Id (
                                                                    ("float",
                                                                    _),
                                                                    { 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> });
                                      (TA
                                         { t =
                                           (TyN
                                              (Id (("CPUContext", _),
                                                 { 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 = [] });
                                      (TA
                                         { t =
                                           (TyN
                                              (IdQualified
                                                 { name_last =
                                                   (("ReluGradientFunctor", _),
                                                    (Some (_,
                                                           [(TA
                                                               { t =
                                                                 (TyN
                                                                    (
                                                                    Id (
                                                                    ("CPUContext",
                                                                    _),
                                                                    { 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> })
               ],
             _)
            ));
         e_id = 0; e_range = None; is_implicit_return = false;
         facts = <opaque> },
       _));
    s_range = None };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (DotAccess (
                 { e =
                   (Call (
                      { e =
                        (DotAccess (
                           { e =
                             (Call (
                                { e =
                                  (DotAccess (
                                     { e =
                                       (Call (
                                          { e =
                                            (DotAccess (
                                               { e =
                                                 (Call (
                                                    { e =
                                                      (DotAccess (
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (DotAccess (
                                                                   { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("OPERATOR_SCHEMA",
                                                                    _),
                                                                    { 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 (
                                                                    ("Relu",
                                                                    _),
                                                                    { 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 (
                                                                    ("NumInputs",
                                                                    _),
                                                                    { 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 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("NumOutputs",
                                                                    _),
                                                                    { 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 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("AllowInplace",
                                                                    _),
                                                                    { 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 =
                                                                    (Container (
                                                                    Dict,
                                                                    (_,
                                                                    [{ e =
                                                                    (Container (
                                                                    Array,
                                                                    (_,
                                                                    [{ e =
                                                                    (L
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                   _,
                                                                   (FN
                                                                    (Id (
                                                                    ("CostInferenceFunction",
                                                                    _),
                                                                    { 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 (
                                                                    ("CostInferenceForRelu",
                                                                    _),
                                                                    { 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 (
                                                               ("IdenticalTypeAndShape",
                                                                _),
                                                               { 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 (("SetDoc", _),
                                                     { 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
                                                    (String
                                                       (_,
                                                        ("DOC(\nApplies rectified linear unit operation to the input data element-wise. The Relu operation takes one input $X$, produces one output $Y$, and is defined as:\n\n$$Y = max(0,X)$$\n\nGithub Links:\n- https://github.com/pytorch/pytorch/blob/master/caffe2/operators/relu_op.h\n- https://github.com/pytorch/pytorch/blob/master/caffe2/operators/relu_op.cc\n\n<details>\n\n<summary> <b>Example</b> </summary>\n\n**Code**\n\n```\nworkspace.ResetWorkspace()\n\nop = core.CreateOperator(\n  \"Relu\",\n  [\"X\"],\n  [\"Y\"]\n  )\n\nworkspace.FeedBlob(\"X\", np.random.randn(4, 4).astype(np.float32)) // NCHW\nprint(\"X:\\n\", workspace.FetchBlob(\"X\"), \"\\n\")\n\nworkspace.RunOperatorOnce(op)\nprint(\"Y:\\n\", workspace.FetchBlob(\"Y\"))\n\n```\n\n**Result**\n\n```\n\nX:\n [[-1.4655551   0.64575136  0.7921748   0.4150579 ]\n [ 0.41085166 -0.2837964   0.9881425  -1.9300346 ]\n [ 0.39705405  0.44639114  0.9940703   0.2926532 ]\n [-0.6726489   0.01330667  1.101319    0.33858967]]\n\nY:\n [[0.         0.64575136 0.7921748  0.4150579 ]\n [0.41085166 0.         0.9881425  0.        ]\n [0.39705405 0.44639114 0.9940703  0.2926532 ]\n [0.         0.01330667 1.101319   0.33858967]]\n\n```\n\n</details>\n\n\n)DOC",
                                                         _),
                                                        _)));
                                                 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 (("Input", _),
                                           { 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> });
                                   (Arg
                                      { e = (L (String (_, ("X", _), _)));
                                        e_id = 0; e_range = None;
                                        is_implicit_return = false;
                                        facts = <opaque> });
                                   (Arg
                                      { e =
                                        (L
                                           (String
                                              (_, ("1D input tensor", _), _)));
                                        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 (("Output", _),
                                 { 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> });
                         (Arg
                            { e = (L (String (_, ("Y", _), _))); e_id = 0;
                              e_range = None; is_implicit_return = false;
                              facts = <opaque> });
                         (Arg
                            { e =
                              (L
                                 (String
                                    (_,
                                     ("1D output tensor with same shape as input",
                                      _),
                                     _)));
                              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 (("InheritOnnxSchema", _),
                       { 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 =
                   (Call (
                      { e =
                        (DotAccess (
                           { e =
                             (Call (
                                { e =
                                  (DotAccess (
                                     { e =
                                       (Call (
                                          { e =
                                            (DotAccess (
                                               { e =
                                                 (Call (
                                                    { e =
                                                      (DotAccess (
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("GRADIENT_OPERATOR_SCHEMA",
                                                                    _),
                                                                    { 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 (
                                                                    ("ReluGradient",
                                                                    _),
                                                                    { 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 (
                                                               ("NumInputs",
                                                                _),
                                                               { 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 2L),
                                                                  _)));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> })
                                                       ],
                                                     _)
                                                    ));
                                                 e_id = 0; e_range = None;
                                                 is_implicit_return = false;
                                                 facts = <opaque> },
                                               _,
                                               (FN
                                                  (Id (("NumOutputs", _),
                                                     { 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 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> },
                                     _,
                                     (FN
                                        (Id (("AllowInplace", _),
                                           { 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 =
                                       (Container (Dict,
                                          (_,
                                           [{ e =
                                              (Container (Array,
                                                 (_,
                                                  [{ e =
                                                     (L (Int ((Some 1L), _)));
                                                     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> })
                                   ],
                                 _)
                                ));
                             e_id = 0; e_range = None;
                             is_implicit_return = false; facts = <opaque> },
                           _,
                           (FN
                              (Id (("IdenticalTypeAndShapeOfInput", _),
                                 { 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 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> },
                 _,
                 (FN
                    (Id (("SetDoc", _),
                       { 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
                      (String
                         (_,
                          ("DOC(\nReluGradient takes both Y and dY and uses this to update dX according to the\nchain rule and derivatives of the rectified linear function.\n)DOC",
                           _),
                          _)));
                   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 = (Package (_, [])); d_attrs = [] });
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("GetReluGradient", _),
                { 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 },
        (ClassDef
           { ckind = (Class, _);
             cextends =
             [({ t =
                 (TyN
                    (Id (("GradientMakerBase", _),
                       { 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 = [] },
               None)];
             cimplements = []; cmixins = []; cparams = (_, [], _);
             cbody =
             (_,
              [(F
                  { s =
                    (DirectiveStmt
                       { d =
                         (ImportFrom (_,
                            (DottedName [("GradientMakerBase", _)]),
                            [(Direct
                                (("GradientMakerBase", _),
                                 { id_resolved =
                                   ref ((Some ((ImportedEntity
                                                  ["GradientMakerBase";
                                                    "GradientMakerBase"]),
                                               _)));
                                   id_resolved_alternatives = ref ([]);
                                   id_type = ref (None);
                                   id_svalue = ref (Unknown);
                                   id_flags = ref (0); id_info_id = _ }))
                              ]
                            ));
                         d_attrs = [] });
                    s_range = None });
                (F
                   { s =
                     (DefStmt
                        ({ name =
                           (EN
                              (Id (("GetGradientDefs", _),
                                 { id_resolved = ref (None);
                                   id_resolved_alternatives = ref ([]);
                                   id_type = ref (None);
                                   id_svalue = ref (Unknown);
                                   id_flags = ref (0); id_info_id = _ }
                                 )));
                           attrs = []; tparams = None },
                         (FuncDef
                            { fkind = (Function, _); fparams = (_, [], _);
                              frettype =
                              (Some { t =
                                      (TyN
                                         (IdQualified
                                            { name_last =
                                              (("vector", _),
                                               (Some (_,
                                                      [(TA
                                                          { t =
                                                            (TyN
                                                               (Id (
                                                                  ("OperatorDef",
                                                                   _),
                                                                  { 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 =
                                              (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 = [] });
                              fbody =
                              (FBStmt
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (Return (_,
                                             (Some { e =
                                                     (Call (
                                                        { e =
                                                          (N
                                                             (Id (
                                                                ("SingleGradientDef",
                                                                 _),
                                                                { 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 Plus),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                  (_,
                                                                   [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("def_",
                                                                    _),
                                                                    { 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 (
                                                                    ("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>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Gradient",
                                                                    _), _)));
                                                                    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
                                                                    (_,
                                                                    ("", _),
                                                                    _)));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> });
                                                           (Arg
                                                              { e =
                                                                (New (_,
                                                                   { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    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_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ },
                                                                   (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("O", _),
                                                                    { 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 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 =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("GO", _),
                                                                    { 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 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 =
                                                                (New (_,
                                                                   { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "vector",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    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_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ },
                                                                   (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("GI", _),
                                                                    { 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 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> })
                                                           ],
                                                         _)
                                                        ));
                                                     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 = (DirectiveStmt { d = (PackageEnd _); d_attrs = [] }); s_range = None
    };
  { s =
    (ExprStmt (
       { e =
         (Call (
            { e =
              (N
                 (Id (("REGISTER_GRADIENT", _),
                    { 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 (("Relu", _),
                         { 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 (("GetReluGradient", _),
                          { 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
    }
  ]