Rune_jit.IrSourcetype _ node_t = | Buffer : {} -> 'a node_t| Buffer_View : {} -> 'a node_t| Placeholder : {} -> 'a node_t| Const_Scalar : {} -> 'a node_t| Vconst : {} -> 'a node_t| Binop : {op : binop_kind;a_var : Var.t;b_var : Var.t;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Unary : {op : unary_op_kind;in_var : Var.t;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Ternary : {} -> 'a node_t| View : {in_var : Var.t;shape_tracker : shape_tracker;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Reshape : {} -> 'a node_t| Permute : {} -> 'a node_t| Expand : {} -> 'a node_t| Pad : {} -> 'a node_t| Shrink : {} -> 'a node_t| Flip : {} -> 'a node_t| Reduce_Axis : {in_var : Var.t;reduce_op_kind : reduce_op_kind;axes : int array;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Valid : {in_var : Var.t;shape_tracker : shape_tracker;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Index : {} -> 'a node_t| Gep : {} -> 'a node_t| Vectorize : {} -> 'a node_t| Wmma : {a_var : Var.t;b_var : Var.t;c_var : Var.t;m : int;n : int;k : int;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Cast : {} -> 'a node_t| Bitcast : {} -> 'a node_t| Contiguous : {} -> 'a node_t| Copy : {} -> 'a node_t| Assign : {target_var : Var.t;updates : (Var.t * Var.t * (int * int) option) array;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Define_Var : {} -> 'a node_t| Bind : {} -> 'a node_t| Detach : {} -> 'a node_t| Contiguous_Backward : {} -> 'a node_t| Sink : {} -> 'a node_t| Kernel : {ast : any_node;input_vars : Var.t array;output_vars : Var.t array;metadata : kernel_metadata;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Unique : {} -> 'a node_t| Device : {} -> 'a node_t| Multi : {device_vars : Var.t array;axis : int option;real_mask : bool array;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Fuse : {} -> 'a node_t| Unroll : {} -> 'a node_t| Contract : {} -> 'a node_t| Cat : {} -> 'a node_t| Threefry : {} -> 'a node_t| Gather : {} -> 'a node_t| Scatter : {indices_var : Var.t;updates_var : Var.t;axis : int;shape : int array;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Custom : {op_name : string;in_vars : Var.t array;attributes : (string * custom_attr) list;out_var : Var.t;dtype : 'a Dtype.t;} -> 'a node_t| Noop : {} -> 'a node_t