type ('a, 'b) t = | Assignment of 'a lvalue * UnsizedType.t * 'a| TargetPE of 'a| JacobianPE of 'a| NRFunApp of 'a Fun_kind.t * 'a list| Break| Continue| Return of 'a option| Skip| IfElse of 'a * 'b * 'b option| While of 'a * 'b| For of {loopvar : string;lower : 'a;upper : 'a;body : 'b;
}| Profile of string * 'b list| Block of 'b list| SList of 'b list| Decl of {decl_adtype : UnsizedType.autodifftype;decl_id : string;decl_type : 'a Type.t;initialize : 'a decl_init;
}
and 'e lbase = | LVariable of string| LTupleProjection of 'e lvalue * int
and 'a decl_init = | Uninit| Default| Assign of 'a
val map : ('a -> 'c) -> ('b -> 'd) -> ('a, 'b) t -> ('c, 'd) tval map_lbase : ('a -> 'b) -> 'a lbase -> 'b lbaseval fold : ('c -> 'a -> 'c) -> ('c -> 'b -> 'c) -> 'c -> ('a, 'b) t -> 'cval fold_lvalue : ('a -> 'e -> 'a) -> 'a -> 'e lvalue -> 'aval fold_lbase : ('a -> 'e -> 'a) -> 'a -> 'e lbase -> 'aval fold_decl_init : ('b -> 'a -> 'b) -> 'b -> 'a decl_init -> 'bval sexp_of_t :
('a -> Sexplib0.Sexp.t) ->
('b -> Sexplib0.Sexp.t) ->
('a, 'b) t ->
Sexplib0.Sexp.tval sexp_of_lvalue : ('e -> Sexplib0.Sexp.t) -> 'e lvalue -> Sexplib0.Sexp.tval sexp_of_lbase : ('e -> Sexplib0.Sexp.t) -> 'e lbase -> Sexplib0.Sexp.tval sexp_of_decl_init :
('a -> Sexplib0.Sexp.t) ->
'a decl_init ->
Sexplib0.Sexp.tval t_of_sexp :
(Sexplib0.Sexp.t -> 'a) ->
(Sexplib0.Sexp.t -> 'b) ->
Sexplib0.Sexp.t ->
('a, 'b) tval lvalue_of_sexp : (Sexplib0.Sexp.t -> 'e) -> Sexplib0.Sexp.t -> 'e lvalueval lbase_of_sexp : (Sexplib0.Sexp.t -> 'e) -> Sexplib0.Sexp.t -> 'e lbaseval decl_init_of_sexp :
(Sexplib0.Sexp.t -> 'a) ->
Sexplib0.Sexp.t ->
'a decl_initval hash_fold_t :
(Ppx_hash_lib.Std.Hash.state -> 'a -> Ppx_hash_lib.Std.Hash.state) ->
(Ppx_hash_lib.Std.Hash.state -> 'b -> Ppx_hash_lib.Std.Hash.state) ->
Ppx_hash_lib.Std.Hash.state ->
('a, 'b) t ->
Ppx_hash_lib.Std.Hash.stateval hash_fold_lvalue :
(Ppx_hash_lib.Std.Hash.state -> 'e -> Ppx_hash_lib.Std.Hash.state) ->
Ppx_hash_lib.Std.Hash.state ->
'e lvalue ->
Ppx_hash_lib.Std.Hash.stateval hash_fold_lbase :
(Ppx_hash_lib.Std.Hash.state -> 'e -> Ppx_hash_lib.Std.Hash.state) ->
Ppx_hash_lib.Std.Hash.state ->
'e lbase ->
Ppx_hash_lib.Std.Hash.stateval hash_fold_decl_init :
(Ppx_hash_lib.Std.Hash.state -> 'a -> Ppx_hash_lib.Std.Hash.state) ->
Ppx_hash_lib.Std.Hash.state ->
'a decl_init ->
Ppx_hash_lib.Std.Hash.stateval compare :
('a -> 'a -> int) ->
('b -> 'b -> int) ->
('a, 'b) t ->
('a, 'b) t ->
intval compare_lvalue : ('e -> 'e -> int) -> 'e lvalue -> 'e lvalue -> intval compare_lbase : ('e -> 'e -> int) -> 'e lbase -> 'e lbase -> int