and adjoint = t -> t Stdlib.ref -> (t * t) list -> (t * t) list
and register = t list -> t list
and label = string * t list
val adjref : t -> t Stdlib.ref
val shape : t -> int array
val clip_by_l2norm : A.elt -> t -> t
val copy_primal' : t -> t
val tile : t -> int array -> t
val repeat : t -> int array -> t
val pack_flt : float -> t
val unpack_flt : t -> float
val deep_info : t -> string
val type_info : t -> string
val error_binop : string -> t -> t -> 'a
val error_uniop : string -> t -> 'a
val make_forward : t -> t -> int -> t
val make_reverse : t -> int -> t
val reverse_prop : t -> t -> unit
val diff : (t -> t) -> t -> t
val diff' : (t -> t) -> t -> t * t
val grad : (t -> t) -> t -> t
val grad' : (t -> t) -> t -> t * t
val jacobian : (t -> t) -> t -> t
val jacobian' : (t -> t) -> t -> t * t
val jacobianv : (t -> t) -> t -> t -> t
val jacobianv' : (t -> t) -> t -> t -> t * t
val jacobianTv : (t -> t) -> t -> t -> t
val jacobianTv' : (t -> t) -> t -> t -> t * t
val hessian : (t -> t) -> t -> t
val hessian' : (t -> t) -> t -> t * t
val hessianv : (t -> t) -> t -> t -> t
val hessianv' : (t -> t) -> t -> t -> t * t
val laplacian : (t -> t) -> t -> t
val laplacian' : (t -> t) -> t -> t * t
val gradhessian : (t -> t) -> t -> t * t
val gradhessian' : (t -> t) -> t -> t * t * t
val gradhessianv : (t -> t) -> t -> t -> t * t
val gradhessianv' : (t -> t) -> t -> t -> t * t * t
module Maths : sig ... end
val to_trace : t list -> string
val to_dot : t list -> string
val pp_num : Stdlib.Format.formatter -> t -> unit