;; created by `python python/tests/test_array_api.py`
(push 1)
(sort DType)
(constructor DType_float64 () DType)
(let $%__expr_3312772843316740737 (DType_float64 ))
(sort Boolean)
(function Boolean_to_bool (Boolean) bool :no-merge)
(constructor DType___eq__ (DType DType) Boolean)
(sort NDArray)
(constructor NDArray_dtype (NDArray) DType)
(constructor assume_isfinite (NDArray) NDArray)
(sort TupleInt)
(constructor assume_shape (NDArray TupleInt) NDArray)
(constructor assume_dtype (NDArray DType) NDArray)
(constructor NDArray_var (String) NDArray :cost 200)
(sort Int)
(sort Vec_Int (Vec Int))
(constructor TupleInt_from_vec (Vec_Int) TupleInt)
(constructor Int___init__ (i64) Int)
(let $%__expr_-3454922750681412518 (DType___eq__ $%__expr_3312772843316740737 (NDArray_dtype (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))))))
(ruleset array_api_ruleset)
(constructor i-TupleInt__-Int_i (TupleInt Int) TupleInt)
(rewrite (i-TupleInt__-Int_i i _) i :subsume :ruleset array_api_ruleset)
(sort TupleTupleInt)
(constructor TupleTupleInt_single (TupleInt) TupleTupleInt)
(sort UnstableFn_TupleInt_Int (UnstableFn (Int ) TupleInt))
(constructor TupleTupleInt___init__ (Int UnstableFn_TupleInt_Int) TupleTupleInt)
(rewrite (TupleTupleInt_single i) (TupleTupleInt___init__ (Int___init__ 1) (unstable-fn "i-TupleInt__-Int_i" i)) :subsume :ruleset array_api_ruleset)
(sort Value)
(sort TupleValue)
(constructor Value_if_ (Boolean Value Value) Value)
(constructor Int___lt__ (Int Int) Boolean)
(constructor TupleValue_length (TupleValue) Int)
(constructor TupleValue___getitem__ (TupleValue Int) Value)
(constructor Int___sub__ (Int Int) Int)
(constructor other-TupleValue_self-TupleValue_i-Int__Value_if___Int___lt___i__TupleValue_length_self____TupleValue___getitem___self_i___TupleValue___getitem___other__Int___sub___i__TupleValue_length_self____ (TupleValue TupleValue Int) Value)
(rewrite (other-TupleValue_self-TupleValue_i-Int__Value_if___Int___lt___i__TupleValue_length_self____TupleValue___getitem___self_i___TupleValue___getitem___other__Int___sub___i__TupleValue_length_self____ other self i) (Value_if_ (Int___lt__ i (TupleValue_length self)) (TupleValue___getitem__ self i) (TupleValue___getitem__ other (Int___sub__ i (TupleValue_length self)))) :subsume :ruleset array_api_ruleset)
(constructor TupleValue___add__ (TupleValue TupleValue) TupleValue)
(sort UnstableFn_Value_Int (UnstableFn (Int ) Value))
(constructor TupleValue___init__ (Int UnstableFn_Value_Int) TupleValue)
(constructor Int___add__ (Int Int) Int)
(rewrite (TupleValue___add__ self other) (TupleValue___init__ (Int___add__ (TupleValue_length self) (TupleValue_length other)) (unstable-fn "other-TupleValue_self-TupleValue_i-Int__Value_if___Int___lt___i__TupleValue_length_self____TupleValue___getitem___self_i___TupleValue___getitem___other__Int___sub___i__TupleValue_length_self____" other self)) :ruleset array_api_ruleset)
(constructor Boolean___or__ (Boolean Boolean) Boolean)
(constructor Value___eq__ (Value Value) Boolean)
(constructor value-Value_acc-Boolean_j-Value__Boolean___or___acc__Value___eq___value_j__ (Value Boolean Value) Boolean)
(rewrite (value-Value_acc-Boolean_j-Value__Boolean___or___acc__Value___eq___value_j__ value acc j) (Boolean___or__ acc (Value___eq__ value j)) :subsume :ruleset array_api_ruleset)
(constructor TupleValue_contains (TupleValue Value) Boolean)
(sort UnstableFn_Boolean_Boolean_Value (UnstableFn (Boolean Value) Boolean))
(constructor TupleValue_foldl_boolean (TupleValue UnstableFn_Boolean_Boolean_Value Boolean) Boolean)
(constructor Boolean___init__ (bool) Boolean)
(rewrite (TupleValue_contains self value) (TupleValue_foldl_boolean self (unstable-fn "value-Value_acc-Boolean_j-Value__Boolean___or___acc__Value___eq___value_j__" value) (Boolean___init__ false)) :ruleset array_api_ruleset)
(constructor Value_int (Int) Value)
(constructor TupleInt___getitem__ (TupleInt Int) Int)
(constructor ti-TupleInt_i-Int__Value_int__TupleInt___getitem___ti_i__ (TupleInt Int) Value)
(rewrite (ti-TupleInt_i-Int__Value_int__TupleInt___getitem___ti_i__ ti i) (Value_int (TupleInt___getitem__ ti i)) :subsume :ruleset array_api_ruleset)
(constructor TupleValue_from_tuple_int (TupleInt) TupleValue)
(constructor TupleInt_length (TupleInt) Int)
(rewrite (TupleValue_from_tuple_int ti) (TupleValue___init__ (TupleInt_length ti) (unstable-fn "ti-TupleInt_i-Int__Value_int__TupleInt___getitem___ti_i__" ti)) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_if_ (Boolean TupleInt TupleInt) TupleInt)
(constructor TupleTupleInt_length (TupleTupleInt) Int)
(constructor TupleTupleInt___getitem__ (TupleTupleInt Int) TupleInt)
(constructor other-TupleTupleInt_self-TupleTupleInt_i-Int__TupleInt_if___Int___lt___i__TupleTupleInt_length_self____TupleTupleInt___getitem___self_i___TupleTupleInt___getitem___other__Int___sub___i__TupleTupleInt_length_self____ (TupleTupleInt TupleTupleInt Int) TupleInt)
(rewrite (other-TupleTupleInt_self-TupleTupleInt_i-Int__TupleInt_if___Int___lt___i__TupleTupleInt_length_self____TupleTupleInt___getitem___self_i___TupleTupleInt___getitem___other__Int___sub___i__TupleTupleInt_length_self____ other self i) (TupleInt_if_ (Int___lt__ i (TupleTupleInt_length self)) (TupleTupleInt___getitem__ self i) (TupleTupleInt___getitem__ other (Int___sub__ i (TupleTupleInt_length self)))) :subsume :ruleset array_api_ruleset)
(constructor TupleTupleInt___add__ (TupleTupleInt TupleTupleInt) TupleTupleInt)
(rewrite (TupleTupleInt___add__ self other) (TupleTupleInt___init__ (Int___add__ (TupleTupleInt_length self) (TupleTupleInt_length other)) (unstable-fn "other-TupleTupleInt_self-TupleTupleInt_i-Int__TupleInt_if___Int___lt___i__TupleTupleInt_length_self____TupleTupleInt___getitem___self_i___TupleTupleInt___getitem___other__Int___sub___i__TupleTupleInt_length_self____" other self)) :ruleset array_api_ruleset)
(constructor n-Int_self-TupleTupleInt_i-Int__TupleTupleInt___getitem___self__Int___add___i_n__ (Int TupleTupleInt Int) TupleInt)
(rewrite (n-Int_self-TupleTupleInt_i-Int__TupleTupleInt___getitem___self__Int___add___i_n__ n self i) (TupleTupleInt___getitem__ self (Int___add__ i n)) :subsume :ruleset array_api_ruleset)
(constructor TupleTupleInt_drop (TupleTupleInt Int) TupleTupleInt)
(rewrite (TupleTupleInt_drop self n) (TupleTupleInt___init__ (Int___sub__ (TupleTupleInt_length self) n) (unstable-fn "n-Int_self-TupleTupleInt_i-Int__TupleTupleInt___getitem___self__Int___add___i_n__" n self)) :ruleset array_api_ruleset)
(sort UnstableFn_Int_TupleInt (UnstableFn (TupleInt ) Int))
(constructor f-UnstableFn_Int_TupleInt_self-TupleTupleInt_i-Int__unstable-app_f__TupleTupleInt___getitem___self_i__ (UnstableFn_Int_TupleInt TupleTupleInt Int) Int)
(rewrite (f-UnstableFn_Int_TupleInt_self-TupleTupleInt_i-Int__unstable-app_f__TupleTupleInt___getitem___self_i__ f self i) (unstable-app f (TupleTupleInt___getitem__ self i)) :subsume :ruleset array_api_ruleset)
(constructor TupleTupleInt_map_int (TupleTupleInt UnstableFn_Int_TupleInt) TupleInt)
(sort UnstableFn_Int_Int (UnstableFn (Int ) Int))
(constructor TupleInt___init__ (Int UnstableFn_Int_Int) TupleInt)
(rewrite (TupleTupleInt_map_int self f) (TupleInt___init__ (TupleTupleInt_length self) (unstable-fn "f-UnstableFn_Int_TupleInt_self-TupleTupleInt_i-Int__unstable-app_f__TupleTupleInt___getitem___self_i__" f self)) :ruleset array_api_ruleset)
(constructor x-TupleInt__TupleInt_length_x_ (TupleInt) Int)
(rewrite (x-TupleInt__TupleInt_length_x_ x) (TupleInt_length x) :subsume :ruleset array_api_ruleset)
(constructor Int___mod__ (Int Int) Int)
(constructor Int___floordiv__ (Int Int) Int)
(constructor TupleInt_product (TupleInt) Int)
(constructor i-Int_self-TupleTupleInt_j-Int__TupleInt___getitem____TupleTupleInt___getitem___self_j___Int___mod____Int___floordiv___i__TupleInt_product__TupleTupleInt_map_int__TupleTupleInt_drop_self__Int___add___j__Int___init___1_____unstable-fn__x-TupleInt__TupleInt_length_x________TupleInt_length__TupleTupleInt___getitem___self_j____ (Int TupleTupleInt Int) Int)
(rewrite (i-Int_self-TupleTupleInt_j-Int__TupleInt___getitem____TupleTupleInt___getitem___self_j___Int___mod____Int___floordiv___i__TupleInt_product__TupleTupleInt_map_int__TupleTupleInt_drop_self__Int___add___j__Int___init___1_____unstable-fn__x-TupleInt__TupleInt_length_x________TupleInt_length__TupleTupleInt___getitem___self_j____ i self j) (TupleInt___getitem__ (TupleTupleInt___getitem__ self j) (Int___mod__ (Int___floordiv__ i (TupleInt_product (TupleTupleInt_map_int (TupleTupleInt_drop self (Int___add__ j (Int___init__ 1))) (unstable-fn "x-TupleInt__TupleInt_length_x_")))) (TupleInt_length (TupleTupleInt___getitem__ self j)))) :subsume :ruleset array_api_ruleset)
(constructor self-TupleTupleInt_i-Int__TupleInt___init____TupleTupleInt_length_self___unstable-fn__i-Int_self-TupleTupleInt_j-Int__TupleInt___getitem____TupleTupleInt___getitem___self_j___Int___mod____Int___floordiv___i__TupleInt_product__TupleTupleInt_map_int__TupleTupleInt_drop_self__Int___add___j__Int___init___1_____unstable-fn__x-TupleInt__TupleInt_length_x________TupleInt_length__TupleTupleInt___getitem___self_j______i_self__ (TupleTupleInt Int) TupleInt)
(rewrite (self-TupleTupleInt_i-Int__TupleInt___init____TupleTupleInt_length_self___unstable-fn__i-Int_self-TupleTupleInt_j-Int__TupleInt___getitem____TupleTupleInt___getitem___self_j___Int___mod____Int___floordiv___i__TupleInt_product__TupleTupleInt_map_int__TupleTupleInt_drop_self__Int___add___j__Int___init___1_____unstable-fn__x-TupleInt__TupleInt_length_x________TupleInt_length__TupleTupleInt___getitem___self_j______i_self__ self i) (TupleInt___init__ (TupleTupleInt_length self) (unstable-fn "i-Int_self-TupleTupleInt_j-Int__TupleInt___getitem____TupleTupleInt___getitem___self_j___Int___mod____Int___floordiv___i__TupleInt_product__TupleTupleInt_map_int__TupleTupleInt_drop_self__Int___add___j__Int___init___1_____unstable-fn__x-TupleInt__TupleInt_length_x________TupleInt_length__TupleTupleInt___getitem___self_j____" i self)) :subsume :ruleset array_api_ruleset)
(constructor TupleTupleInt_product (TupleTupleInt) TupleTupleInt)
(rewrite (TupleTupleInt_product self) (TupleTupleInt___init__ (TupleInt_product (TupleTupleInt_map_int self (unstable-fn "x-TupleInt__TupleInt_length_x_"))) (unstable-fn "self-TupleTupleInt_i-Int__TupleInt___init____TupleTupleInt_length_self___unstable-fn__i-Int_self-TupleTupleInt_j-Int__TupleInt___getitem____TupleTupleInt___getitem___self_j___Int___mod____Int___floordiv___i__TupleInt_product__TupleTupleInt_map_int__TupleTupleInt_drop_self__Int___add___j__Int___init___1_____unstable-fn__x-TupleInt__TupleInt_length_x________TupleInt_length__TupleTupleInt___getitem___self_j______i_self__" self)) :subsume :ruleset array_api_ruleset)
(constructor i-Int__-Int_i (Int Int) Int)
(rewrite (i-Int__-Int_i i _) i :subsume :ruleset array_api_ruleset)
(constructor TupleInt_single (Int) TupleInt)
(rewrite (TupleInt_single i) (TupleInt___init__ (Int___init__ 1) (unstable-fn "i-Int__-Int_i" i)) :ruleset array_api_ruleset)
(constructor i-Int_i (Int) Int)
(rewrite (i-Int_i i) i :subsume :ruleset array_api_ruleset)
(constructor TupleInt_range (Int) TupleInt)
(rewrite (TupleInt_range stop) (TupleInt___init__ stop (unstable-fn "i-Int_i")) :subsume :ruleset array_api_ruleset)
(constructor Int_if_ (Boolean Int Int) Int)
(constructor other-TupleInt_self-TupleInt_i-Int__Int_if___Int___lt___i__TupleInt_length_self____TupleInt___getitem___self_i___TupleInt___getitem___other__Int___sub___i__TupleInt_length_self____ (TupleInt TupleInt Int) Int)
(rewrite (other-TupleInt_self-TupleInt_i-Int__Int_if___Int___lt___i__TupleInt_length_self____TupleInt___getitem___self_i___TupleInt___getitem___other__Int___sub___i__TupleInt_length_self____ other self i) (Int_if_ (Int___lt__ i (TupleInt_length self)) (TupleInt___getitem__ self i) (TupleInt___getitem__ other (Int___sub__ i (TupleInt_length self)))) :subsume :ruleset array_api_ruleset)
(constructor TupleInt___add__ (TupleInt TupleInt) TupleInt)
(rewrite (TupleInt___add__ self other) (TupleInt___init__ (Int___add__ (TupleInt_length self) (TupleInt_length other)) (unstable-fn "other-TupleInt_self-TupleInt_i-Int__Int_if___Int___lt___i__TupleInt_length_self____TupleInt___getitem___self_i___TupleInt___getitem___other__Int___sub___i__TupleInt_length_self____" other self)) :ruleset array_api_ruleset)
(constructor Int___eq__ (Int Int) Boolean)
(constructor i-Int_acc-Boolean_j-Int__Boolean___or___acc__Int___eq___i_j__ (Int Boolean Int) Boolean)
(rewrite (i-Int_acc-Boolean_j-Int__Boolean___or___acc__Int___eq___i_j__ i acc j) (Boolean___or__ acc (Int___eq__ i j)) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_contains (TupleInt Int) Boolean)
(sort UnstableFn_Boolean_Boolean_Int (UnstableFn (Boolean Int) Boolean))
(constructor TupleInt_foldl_boolean (TupleInt UnstableFn_Boolean_Boolean_Int Boolean) Boolean)
(rewrite (TupleInt_contains self i) (TupleInt_foldl_boolean self (unstable-fn "i-Int_acc-Boolean_j-Int__Boolean___or___acc__Int___eq___i_j__" i) (Boolean___init__ false)) :subsume :ruleset array_api_ruleset)
(sort UnstableFn_Boolean_Int (UnstableFn (Int ) Boolean))
(constructor TupleInt_append (TupleInt Int) TupleInt)
(constructor f-UnstableFn_Boolean_Int_acc-TupleInt_v-Int__TupleInt_if___unstable-app_f_v___TupleInt_append_acc_v__acc_ (UnstableFn_Boolean_Int TupleInt Int) TupleInt)
(rewrite (f-UnstableFn_Boolean_Int_acc-TupleInt_v-Int__TupleInt_if___unstable-app_f_v___TupleInt_append_acc_v__acc_ f acc v) (TupleInt_if_ (unstable-app f v) (TupleInt_append acc v) acc) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_filter (TupleInt UnstableFn_Boolean_Int) TupleInt)
(sort UnstableFn_TupleInt_TupleInt_Int (UnstableFn (TupleInt Int) TupleInt))
(constructor TupleInt_foldl_tuple_int (TupleInt UnstableFn_TupleInt_TupleInt_Int TupleInt) TupleInt)
(constructor TupleInt_EMPTY () TupleInt)
(rewrite (TupleInt_filter self f) (TupleInt_foldl_tuple_int self (unstable-fn "f-UnstableFn_Boolean_Int_acc-TupleInt_v-Int__TupleInt_if___unstable-app_f_v___TupleInt_append_acc_v__acc_" f) (TupleInt_EMPTY )) :subsume :ruleset array_api_ruleset)
(constructor f-UnstableFn_Int_Int_self-TupleInt_i-Int__unstable-app_f__TupleInt___getitem___self_i__ (UnstableFn_Int_Int TupleInt Int) Int)
(rewrite (f-UnstableFn_Int_Int_self-TupleInt_i-Int__unstable-app_f__TupleInt___getitem___self_i__ f self i) (unstable-app f (TupleInt___getitem__ self i)) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_map (TupleInt UnstableFn_Int_Int) TupleInt)
(rewrite (TupleInt_map self f) (TupleInt___init__ (TupleInt_length self) (unstable-fn "f-UnstableFn_Int_Int_self-TupleInt_i-Int__unstable-app_f__TupleInt___getitem___self_i__" f self)) :subsume :ruleset array_api_ruleset)
(constructor n-Int_self-TupleInt_i-Int__TupleInt___getitem___self__Int___add___i_n__ (Int TupleInt Int) Int)
(rewrite (n-Int_self-TupleInt_i-Int__TupleInt___getitem___self__Int___add___i_n__ n self i) (TupleInt___getitem__ self (Int___add__ i n)) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_drop (TupleInt Int) TupleInt)
(rewrite (TupleInt_drop self n) (TupleInt___init__ (Int___sub__ (TupleInt_length self) n) (unstable-fn "n-Int_self-TupleInt_i-Int__TupleInt___getitem___self__Int___add___i_n__" n self)) :ruleset array_api_ruleset)
(constructor Int___mul__ (Int Int) Int)
(constructor acc-Int_i-Int__Int___mul___acc_i_ (Int Int) Int)
(rewrite (acc-Int_i-Int__Int___mul___acc_i_ acc i) (Int___mul__ acc i) :subsume :ruleset array_api_ruleset)
(sort UnstableFn_Int_Int_Int (UnstableFn (Int Int) Int))
(constructor TupleInt_foldl (TupleInt UnstableFn_Int_Int_Int Int) Int)
(rewrite (TupleInt_product self) (TupleInt_foldl self (unstable-fn "acc-Int_i-Int__Int___mul___acc_i_") (Int___init__ 1)) :ruleset array_api_ruleset)
(constructor f-UnstableFn_TupleInt_Int_self-TupleInt_i-Int__unstable-app_f__TupleInt___getitem___self_i__ (UnstableFn_TupleInt_Int TupleInt Int) TupleInt)
(rewrite (f-UnstableFn_TupleInt_Int_self-TupleInt_i-Int__unstable-app_f__TupleInt___getitem___self_i__ f self i) (unstable-app f (TupleInt___getitem__ self i)) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_map_tuple_int (TupleInt UnstableFn_TupleInt_Int) TupleTupleInt)
(rewrite (TupleInt_map_tuple_int self f) (TupleTupleInt___init__ (TupleInt_length self) (unstable-fn "f-UnstableFn_TupleInt_Int_self-TupleInt_i-Int__unstable-app_f__TupleInt___getitem___self_i__" f self)) :ruleset array_api_ruleset)
(constructor self-TupleInt_i-Int__TupleInt___getitem___self_i_ (TupleInt Int) Int)
(rewrite (self-TupleInt_i-Int__TupleInt___getitem___self_i_ self i) (TupleInt___getitem__ self i) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_select (TupleInt TupleInt) TupleInt)
(rewrite (TupleInt_select self indices) (TupleInt_map indices (unstable-fn "self-TupleInt_i-Int__TupleInt___getitem___self_i_" self)) :ruleset array_api_ruleset)
(constructor Boolean___invert__ (Boolean) Boolean)
(constructor indices-TupleInt_i-Int__Boolean___invert____TupleInt_contains_indices_i__ (TupleInt Int) Boolean)
(rewrite (indices-TupleInt_i-Int__Boolean___invert____TupleInt_contains_indices_i__ indices i) (Boolean___invert__ (TupleInt_contains indices i)) :subsume :ruleset array_api_ruleset)
(constructor TupleInt_deselect (TupleInt TupleInt) TupleInt)
(rewrite (TupleInt_deselect self indices) (TupleInt_map (TupleInt_filter (TupleInt_range (TupleInt_length self)) (unstable-fn "indices-TupleInt_i-Int__Boolean___invert____TupleInt_contains_indices_i__" indices)) (unstable-fn "self-TupleInt_i-Int__TupleInt___getitem___self_i_" self)) :ruleset array_api_ruleset)
(constructor value-Value__-TupleInt_value (Value TupleInt) Value)
(rewrite (value-Value__-TupleInt_value value _) value :subsume :ruleset array_api_ruleset)
(constructor NDArray_scalar (Value) NDArray)
(sort UnstableFn_Value_TupleInt (UnstableFn (TupleInt ) Value))
(constructor NDArray___init__ (TupleInt DType UnstableFn_Value_TupleInt) NDArray)
(constructor Value_dtype (Value) DType)
(rewrite (NDArray_scalar value) (NDArray___init__ (TupleInt_EMPTY ) (Value_dtype value) (unstable-fn "value-Value__-TupleInt_value" value)) :ruleset array_api_ruleset)
(sort TupleNDArray)
(constructor NDArray_if_ (Boolean NDArray NDArray) NDArray)
(constructor TupleNDArray_length (TupleNDArray) Int)
(constructor TupleNDArray___getitem__ (TupleNDArray Int) NDArray)
(constructor other-TupleNDArray_self-TupleNDArray_i-Int__NDArray_if___Int___lt___i__TupleNDArray_length_self____TupleNDArray___getitem___self_i___TupleNDArray___getitem___other__Int___sub___i__TupleNDArray_length_self____ (TupleNDArray TupleNDArray Int) NDArray)
(rewrite (other-TupleNDArray_self-TupleNDArray_i-Int__NDArray_if___Int___lt___i__TupleNDArray_length_self____TupleNDArray___getitem___self_i___TupleNDArray___getitem___other__Int___sub___i__TupleNDArray_length_self____ other self i) (NDArray_if_ (Int___lt__ i (TupleNDArray_length self)) (TupleNDArray___getitem__ self i) (TupleNDArray___getitem__ other (Int___sub__ i (TupleNDArray_length self)))) :subsume :ruleset array_api_ruleset)
(constructor TupleNDArray___add__ (TupleNDArray TupleNDArray) TupleNDArray)
(sort UnstableFn_NDArray_Int (UnstableFn (Int ) NDArray))
(constructor TupleNDArray___init__ (Int UnstableFn_NDArray_Int) TupleNDArray)
(rewrite (TupleNDArray___add__ self other) (TupleNDArray___init__ (Int___add__ (TupleNDArray_length self) (TupleNDArray_length other)) (unstable-fn "other-TupleNDArray_self-TupleNDArray_i-Int__NDArray_if___Int___lt___i__TupleNDArray_length_self____TupleNDArray___getitem___self_i___TupleNDArray___getitem___other__Int___sub___i__TupleNDArray_length_self____" other self)) :ruleset array_api_ruleset)
(sort LoopNestAPI)
(constructor LoopNestAPI_indices (LoopNestAPI) TupleTupleInt)
(constructor LoopNestAPI_get_dims (LoopNestAPI) TupleInt)
(rewrite (LoopNestAPI_indices self) (TupleTupleInt_product (TupleInt_map_tuple_int (LoopNestAPI_get_dims self) (unstable-fn "TupleInt_range"))) :ruleset array_api_ruleset)
(sort OptionalLoopNestAPI)
(constructor LoopNestAPI_from_tuple (TupleInt) OptionalLoopNestAPI)
(constructor OptionalLoopNestAPI_NONE () OptionalLoopNestAPI)
(rewrite (LoopNestAPI_from_tuple (TupleInt_EMPTY )) (OptionalLoopNestAPI_NONE ) :subsume :ruleset array_api_ruleset)
(constructor OptionalLoopNestAPI___init__ (LoopNestAPI) OptionalLoopNestAPI)
(constructor LoopNestAPI___init__ (Int OptionalLoopNestAPI) LoopNestAPI)
(rewrite (LoopNestAPI_from_tuple (TupleInt_append ti dim)) (OptionalLoopNestAPI___init__ (LoopNestAPI___init__ dim (LoopNestAPI_from_tuple ti))) :subsume :ruleset array_api_ruleset)
(rewrite (LoopNestAPI_get_dims (LoopNestAPI___init__ dim (OptionalLoopNestAPI_NONE ))) (TupleInt_single dim) :subsume :ruleset array_api_ruleset)
(rewrite (LoopNestAPI_get_dims (LoopNestAPI___init__ dim (OptionalLoopNestAPI___init__ lna))) (TupleInt_append (LoopNestAPI_get_dims lna) dim) :subsume :ruleset array_api_ruleset)
(constructor OptionalLoopNestAPI_unwrap (OptionalLoopNestAPI) LoopNestAPI)
(rewrite (OptionalLoopNestAPI_unwrap (OptionalLoopNestAPI___init__ lna)) lna :ruleset array_api_ruleset)
(constructor axis-TupleInt_i-Int__Boolean___invert____TupleInt_contains_axis_i__ (TupleInt Int) Boolean)
(rewrite (axis-TupleInt_i-Int__Boolean___invert____TupleInt_contains_axis_i__ axis i) (Boolean___invert__ (TupleInt_contains axis i)) :subsume :ruleset array_api_ruleset)
(constructor dims-TupleInt_i-Int__TupleInt___getitem___dims_i_ (TupleInt Int) Int)
(rewrite (dims-TupleInt_i-Int__TupleInt___getitem___dims_i_ dims i) (TupleInt___getitem__ dims i) :subsume :ruleset array_api_ruleset)
(constructor axis-TupleInt_i-Int__TupleInt_contains_axis_i_ (TupleInt Int) Boolean)
(rewrite (axis-TupleInt_i-Int__TupleInt_contains_axis_i_ axis i) (TupleInt_contains axis i) :subsume :ruleset array_api_ruleset)
(sort ShapeAPI)
(constructor ShapeAPI_deselect (ShapeAPI TupleInt) ShapeAPI)
(constructor ShapeAPI___init__ (TupleInt) ShapeAPI)
(rewrite (ShapeAPI_deselect (ShapeAPI___init__ dims) axis) (ShapeAPI___init__ (TupleInt_map (TupleInt_filter (TupleInt_range (TupleInt_length dims)) (unstable-fn "axis-TupleInt_i-Int__Boolean___invert____TupleInt_contains_axis_i__" axis)) (unstable-fn "dims-TupleInt_i-Int__TupleInt___getitem___dims_i_" dims))) :subsume :ruleset array_api_ruleset)
(constructor ShapeAPI_select (ShapeAPI TupleInt) ShapeAPI)
(rewrite (ShapeAPI_select (ShapeAPI___init__ dims) axis) (ShapeAPI___init__ (TupleInt_map (TupleInt_filter (TupleInt_range (TupleInt_length dims)) (unstable-fn "axis-TupleInt_i-Int__TupleInt_contains_axis_i_" axis)) (unstable-fn "dims-TupleInt_i-Int__TupleInt___getitem___dims_i_" dims))) :subsume :ruleset array_api_ruleset)
(constructor ShapeAPI_to_tuple (ShapeAPI) TupleInt)
(rewrite (ShapeAPI_to_tuple (ShapeAPI___init__ dims)) dims :subsume :ruleset array_api_ruleset)
(constructor NDArray_size (NDArray) Int)
(constructor NDArray_shape (NDArray) TupleInt)
(rewrite (NDArray_size x) (TupleInt_foldl (NDArray_shape x) (unstable-fn "Int___mul__") (Int___init__ 1)) :ruleset array_api_ruleset)
(constructor unique_values (NDArray) NDArray)
(constructor NDArray_vector (TupleValue) NDArray)
(constructor possible_values (Value) TupleValue)
(constructor NDArray_index (NDArray TupleInt) Value)
(constructor ALL_INDICES () TupleInt)
(rewrite (unique_values a) (NDArray_vector (possible_values (NDArray_index a (ALL_INDICES )))) :ruleset array_api_ruleset)
(constructor Value_isfinite (Value) Boolean)
(rewrite (Value_isfinite (Value_int i)) (Boolean___init__ true) :ruleset array_api_ruleset)
(constructor Value_bool (Boolean) Value)
(rewrite (Value_isfinite (Value_bool b)) (Boolean___init__ true) :ruleset array_api_ruleset)
(sort Float)
(constructor Value_float (Float) Value)
(constructor Float___init__ (f64) Float :cost 3)
(rewrite (Value_isfinite (Value_float (Float___init__ f))) (Boolean___init__ true) :when ((!= f NaN)) :ruleset array_api_ruleset)
(constructor isfinite (NDArray) NDArray)
(sort OptionalIntOrTuple)
(constructor sum (NDArray OptionalIntOrTuple) NDArray)
(constructor OptionalIntOrTuple_none () OptionalIntOrTuple)
(rewrite (isfinite (sum arr (OptionalIntOrTuple_none ))) (NDArray_scalar (Value_bool (Value_isfinite (NDArray_index arr (ALL_INDICES ))))) :ruleset array_api_ruleset)
(constructor assume_value_one_of (NDArray TupleValue) NDArray)
(rewrite (NDArray_shape (assume_value_one_of x vs)) (NDArray_shape x) :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (assume_value_one_of x vs)) (NDArray_dtype x) :ruleset array_api_ruleset)
(rule ((= v (NDArray_index (assume_value_one_of x vs) idx)))
((union v (NDArray_index x idx))
(union (possible_values v) vs))
:ruleset array_api_ruleset )
(rewrite (NDArray_shape (assume_isfinite x)) (NDArray_shape x) :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (assume_isfinite x)) (NDArray_dtype x) :ruleset array_api_ruleset)
(rewrite (NDArray_index (assume_isfinite x) ti) (NDArray_index x ti) :ruleset array_api_ruleset)
(rewrite (Value_isfinite (NDArray_index (assume_isfinite x) ti)) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (NDArray_shape (assume_shape x shape)) shape :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (assume_shape x shape)) (NDArray_dtype x) :ruleset array_api_ruleset)
(rewrite (NDArray_index (assume_shape x shape) idx) (NDArray_index x idx) :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (assume_dtype x dtype)) dtype :ruleset array_api_ruleset)
(rewrite (NDArray_shape (assume_dtype x dtype)) (NDArray_shape x) :ruleset array_api_ruleset)
(rewrite (NDArray_index (assume_dtype x dtype) idx) (NDArray_index x idx) :ruleset array_api_ruleset)
(sort IndexKey)
(constructor NDArray___getitem__ (NDArray IndexKey) NDArray)
(constructor IndexKey_int (Int) IndexKey)
(rewrite (NDArray___getitem__ x (IndexKey_int i)) (NDArray_scalar (NDArray_index x (TupleInt_single i))) :ruleset array_api_ruleset)
(sort OptionalBool)
(constructor reshape (NDArray TupleInt OptionalBool) NDArray)
(rule ((= __a (reshape x shape copy)))
((NDArray_shape x)
(TupleInt_length (NDArray_shape x)))
:ruleset array_api_ruleset )
(rule ((reshape x shape copy))
((TupleInt_length shape)
(TupleInt___getitem__ shape (Int___init__ 0)))
:ruleset array_api_ruleset )
(rewrite (reshape x shape copy) x :when ((= (TupleInt_length (NDArray_shape x)) (Int___init__ 1)) (= (TupleInt_length shape) (Int___init__ 1)) (= (TupleInt___getitem__ shape (Int___init__ 0)) (Int___init__ -1))) :ruleset array_api_ruleset)
(rewrite (NDArray_shape (NDArray_vector vs)) (TupleInt_single (TupleValue_length vs)) :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (NDArray_vector vs)) (Value_dtype (TupleValue___getitem__ vs (Int___init__ 0))) :ruleset array_api_ruleset)
(rewrite (NDArray_index (NDArray_vector vs) ti) (TupleValue___getitem__ vs (TupleInt___getitem__ ti (Int___init__ 0))) :ruleset array_api_ruleset)
(rewrite (NDArray_shape (NDArray_scalar v)) (TupleInt_EMPTY ) :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (NDArray_scalar v)) (Value_dtype v) :ruleset array_api_ruleset)
(rewrite (NDArray_index (NDArray_scalar v) (TupleInt_EMPTY )) v :ruleset array_api_ruleset)
(constructor any (NDArray) NDArray)
(constructor Value_to_truthy_value (Value) Value)
(rewrite (any x) (NDArray_scalar (Value_bool (TupleValue_contains (possible_values (Value_to_truthy_value (NDArray_index x (ALL_INDICES )))) (Value_bool (Boolean___init__ true))))) :ruleset array_api_ruleset)
(constructor NDArray___lt__ (NDArray NDArray) NDArray)
(constructor Value___lt__ (Value Value) Value)
(constructor broadcast_index (TupleInt TupleInt TupleInt) TupleInt)
(constructor broadcast_shapes (TupleInt TupleInt) TupleInt)
(rewrite (NDArray_index (NDArray___lt__ x y) idx) (Value___lt__ (NDArray_index x (broadcast_index (NDArray_shape x) (broadcast_shapes (NDArray_shape x) (NDArray_shape y)) idx)) (NDArray_index y (broadcast_index (NDArray_shape y) (broadcast_shapes (NDArray_shape x) (NDArray_shape y)) idx))) :ruleset array_api_ruleset)
(constructor NDArray___truediv__ (NDArray NDArray) NDArray)
(constructor Value___truediv__ (Value Value) Value)
(rewrite (NDArray_index (NDArray___truediv__ x y) idx) (Value___truediv__ (NDArray_index x (broadcast_index (NDArray_shape x) (broadcast_shapes (NDArray_shape x) (NDArray_shape y)) idx)) (NDArray_index y (broadcast_index (NDArray_shape y) (broadcast_shapes (NDArray_shape x) (NDArray_shape y)) idx))) :ruleset array_api_ruleset)
(rewrite (NDArray_index (NDArray_scalar v) idx) v :ruleset array_api_ruleset)
(constructor astype (NDArray DType) NDArray)
(constructor Value_astype (Value DType) Value)
(rewrite (NDArray_index (astype x dtype) idx) (Value_astype (NDArray_index x idx) dtype) :ruleset array_api_ruleset)
(relation greater_zero (Value))
(constructor unique_counts (NDArray) TupleNDArray)
(rule ((= v (NDArray_index (TupleNDArray___getitem__ (unique_counts x) (Int___init__ 1)) idx)))
((greater_zero v))
:ruleset array_api_ruleset )
(rule ((greater_zero v)
(= v1 (Value_astype v dtype)))
((greater_zero v1))
:ruleset array_api_ruleset )
(rule ((= v (Value_float (Float___init__ f)))
(> f 0.0))
((greater_zero v))
:ruleset array_api_ruleset )
(rule ((= v (Value_int (Int___init__ i)))
(> i 0))
((greater_zero v))
:ruleset array_api_ruleset )
(rule ((greater_zero v)
(greater_zero v1)
(= v2 (Value___truediv__ v v1)))
((greater_zero v2))
:ruleset array_api_ruleset )
(rule ((greater_zero v)
(= v1 (Value___lt__ v (Value_int (Int___init__ 0)))))
((union v1 (Value_bool (Boolean___init__ false))))
:ruleset array_api_ruleset )
(constructor TupleValue_append (TupleValue Value) TupleValue)
(constructor TupleValue_EMPTY () TupleValue)
(rewrite (possible_values (Value_bool b)) (TupleValue_append (TupleValue_EMPTY ) (Value_bool b)) :ruleset array_api_ruleset)
(rule ((= v1 (Value_astype v dtype))
(greater_zero v))
((greater_zero v1))
:ruleset array_api_ruleset )
(constructor svd (NDArray Boolean) TupleNDArray)
(rewrite (svd x full_matrices) (TupleNDArray___init__ (Int___init__ 3) (unstable-fn "TupleNDArray___getitem__" (svd x full_matrices))) :ruleset array_api_ruleset)
(constructor unique_inverse (NDArray) TupleNDArray)
(rewrite (unique_inverse x) (TupleNDArray___init__ (Int___init__ 2) (unstable-fn "TupleNDArray___getitem__" (unique_inverse x))) :ruleset array_api_ruleset)
(rewrite (TupleNDArray___getitem__ (unique_inverse x) (Int___init__ 0)) (unique_values x) :ruleset array_api_ruleset)
(constructor ndarray-abs (NDArray) NDArray)
(constructor Float_abs (Float) Float)
(rewrite (ndarray-abs (NDArray_scalar (Value_float f))) (NDArray_scalar (Value_float (Float_abs f))) :ruleset array_api_ruleset)
(rewrite (unique_counts x) (TupleNDArray___init__ (Int___init__ 2) (unstable-fn "TupleNDArray___getitem__" (unique_counts x))) :ruleset array_api_ruleset)
(rewrite (sum (TupleNDArray___getitem__ (unique_counts x) (Int___init__ 1)) (OptionalIntOrTuple_none )) (NDArray_scalar (Value_int (NDArray_size x))) :ruleset array_api_ruleset)
(rewrite (sum (astype (TupleNDArray___getitem__ (unique_counts x) (Int___init__ 1)) dtype) (OptionalIntOrTuple_none )) (astype (NDArray_scalar (Value_int (NDArray_size x))) dtype) :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (astype x dtype)) dtype :ruleset array_api_ruleset)
(rewrite (astype (NDArray_scalar (Value_int (Int___init__ i))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float___init__ (to-f64 i)))) :ruleset array_api_ruleset)
(sort OptionalInt)
(constructor concat (TupleNDArray OptionalInt) NDArray)
(constructor TupleNDArray_append (TupleNDArray NDArray) TupleNDArray)
(constructor TupleNDArray_EMPTY () TupleNDArray)
(constructor OptionalInt_none () OptionalInt)
(rewrite (concat (TupleNDArray_append (TupleNDArray_EMPTY ) x) (OptionalInt_none )) x :ruleset array_api_ruleset)
(rewrite (unique_values (unique_values x)) (unique_values x) :ruleset array_api_ruleset)
(rewrite (sum (NDArray___truediv__ x (NDArray_scalar v)) (OptionalIntOrTuple_none )) (NDArray___truediv__ (sum x (OptionalIntOrTuple_none )) (NDArray_scalar v)) :ruleset array_api_ruleset)
(constructor NDArray_ndim (NDArray) Int)
(sort OptionalDType)
(sort OptionalDevice)
(constructor asarray (NDArray OptionalDType OptionalBool OptionalDevice) NDArray)
(constructor OptionalDevice_none () OptionalDevice)
(rewrite (NDArray_ndim (asarray a d ob (OptionalDevice_none ))) (NDArray_ndim a) :ruleset array_api_ruleset)
(constructor OptionalDType_none () OptionalDType)
(constructor OptionalBool_none () OptionalBool)
(rewrite (asarray a (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) a :ruleset array_api_ruleset)
(constructor check_index (Int Int) Int)
(constructor Boolean___and__ (Boolean Boolean) Boolean)
(constructor Int___ge__ (Int Int) Boolean)
(constructor Int_NEVER () Int)
(rewrite (check_index length idx) (Int_if_ (Boolean___and__ (Int___ge__ idx (Int___init__ 0)) (Int___lt__ idx length)) idx (Int_NEVER )) :ruleset array_api_ruleset)
(sort Vec_NDArray (Vec NDArray))
(function TupleNDArray_to_vec (TupleNDArray) Vec_NDArray :no-merge)
(constructor TupleNDArray_from_vec (Vec_NDArray) TupleNDArray)
(rule ((= tv (TupleNDArray_from_vec vs)))
((set (TupleNDArray_to_vec tv) vs))
:ruleset array_api_ruleset )
(rewrite (TupleNDArray_length (TupleNDArray___init__ length idx_fn)) length :ruleset array_api_ruleset)
(rewrite (TupleNDArray___getitem__ (TupleNDArray___init__ length idx_fn) idx) (unstable-app idx_fn (check_index idx length)) :ruleset array_api_ruleset)
(rewrite (TupleNDArray_length (TupleNDArray_EMPTY )) (Int___init__ 0) :ruleset array_api_ruleset)
(constructor NDArray_NEVER () NDArray)
(rewrite (TupleNDArray___getitem__ (TupleNDArray_EMPTY ) idx) (NDArray_NEVER ) :ruleset array_api_ruleset)
(rewrite (TupleNDArray_length (TupleNDArray_append tv v)) (Int___add__ (TupleNDArray_length tv) (Int___init__ 1)) :ruleset array_api_ruleset)
(rewrite (TupleNDArray___getitem__ (TupleNDArray_append tv v) idx) (NDArray_if_ (Int___eq__ idx (TupleNDArray_length tv)) v (TupleNDArray___getitem__ tv idx)) :ruleset array_api_ruleset)
(rewrite (TupleNDArray___init__ (Int___init__ 0) idx_fn) (TupleNDArray_EMPTY ) :subsume :ruleset array_api_ruleset)
(rewrite (TupleNDArray___init__ (Int___init__ k) idx_fn) (TupleNDArray_append (TupleNDArray___init__ (Int___init__ (- k 1)) idx_fn) (unstable-app idx_fn (Int___init__ (- k 1)))) :subsume :when ((> k 0)) :ruleset array_api_ruleset)
(rewrite (TupleNDArray_EMPTY ) (TupleNDArray_from_vec (vec-of )) :ruleset array_api_ruleset)
(rewrite (TupleNDArray_append (TupleNDArray_from_vec vs) v) (TupleNDArray_from_vec (vec-append vs (vec-of v))) :ruleset array_api_ruleset)
(rule ((= (TupleNDArray_append tv v) (TupleNDArray_append tv1 v1)))
((union tv tv1)
(union v v1))
:ruleset array_api_ruleset )
(rewrite (NDArray_shape (NDArray___init__ shape dtype idx_fn)) shape :ruleset array_api_ruleset)
(rewrite (NDArray_dtype (NDArray___init__ shape dtype idx_fn)) dtype :ruleset array_api_ruleset)
(rewrite (NDArray_index (NDArray___init__ shape dtype idx_fn) idx) (unstable-app idx_fn idx) :subsume :ruleset array_api_ruleset)
(rewrite (NDArray_ndim x) (TupleInt_length (NDArray_shape x)) :ruleset array_api_ruleset)
(constructor NDArray_to_value (NDArray) Value)
(rewrite (NDArray_to_value x) (NDArray_index x (TupleInt_EMPTY )) :ruleset array_api_ruleset)
(constructor NDArray_to_values (NDArray) TupleValue)
(rewrite (NDArray_to_values (NDArray_vector tv)) tv :ruleset array_api_ruleset)
(rewrite (NDArray___truediv__ (NDArray_scalar (Value_float f)) (NDArray_scalar (Value_float f))) (NDArray_scalar (Value_float (Float___init__ 1.0))) :ruleset array_api_ruleset)
(constructor NDArray___sub__ (NDArray NDArray) NDArray)
(rewrite (NDArray___sub__ (NDArray_scalar (Value_float f)) (NDArray_scalar (Value_float f))) (NDArray_scalar (Value_float (Float___init__ 0.0))) :ruleset array_api_ruleset)
(constructor NDArray___gt__ (NDArray NDArray) NDArray)
(rewrite (NDArray___gt__ (NDArray_scalar (Value_float (Float___init__ fi1))) (NDArray_scalar (Value_float (Float___init__ fi2)))) (NDArray_scalar (Value_bool (Boolean___init__ true))) :when ((> fi1 fi2)) :ruleset array_api_ruleset)
(rewrite (NDArray___gt__ (NDArray_scalar (Value_float (Float___init__ fi1))) (NDArray_scalar (Value_float (Float___init__ fi2)))) (NDArray_scalar (Value_bool (Boolean___init__ false))) :when ((<= fi1 fi2)) :ruleset array_api_ruleset)
(constructor NDArray_T (NDArray) NDArray)
(rewrite (NDArray_T (NDArray_T x)) x :ruleset array_api_ruleset)
(rewrite (NDArray_if_ (Boolean___init__ true) x x1) x :ruleset array_api_ruleset)
(rewrite (NDArray_if_ (Boolean___init__ false) x x1) x1 :ruleset array_api_ruleset)
(rewrite (TupleValue_length (TupleValue___init__ length idx_fn)) length :ruleset array_api_ruleset)
(rewrite (TupleValue___getitem__ (TupleValue___init__ length idx_fn) idx) (unstable-app idx_fn (check_index idx length)) :ruleset array_api_ruleset)
(rewrite (TupleValue_length (TupleValue_EMPTY )) (Int___init__ 0) :ruleset array_api_ruleset)
(constructor Value_NEVER () Value)
(rewrite (TupleValue___getitem__ (TupleValue_EMPTY ) idx) (Value_NEVER ) :ruleset array_api_ruleset)
(rewrite (TupleValue_length (TupleValue_append tv v)) (Int___add__ (TupleValue_length tv) (Int___init__ 1)) :ruleset array_api_ruleset)
(rewrite (TupleValue___getitem__ (TupleValue_append tv v) idx) (Value_if_ (Int___eq__ idx (TupleValue_length tv)) v (TupleValue___getitem__ tv idx)) :ruleset array_api_ruleset)
(rewrite (TupleValue___init__ (Int___init__ 0) idx_fn) (TupleValue_EMPTY ) :subsume :ruleset array_api_ruleset)
(rewrite (TupleValue___init__ (Int___init__ k) idx_fn) (TupleValue_append (TupleValue___init__ (Int___init__ (- k 1)) idx_fn) (unstable-app idx_fn (Int___init__ (- k 1)))) :subsume :when ((> k 0)) :ruleset array_api_ruleset)
(sort Vec_Value (Vec Value))
(constructor TupleValue_from_vec (Vec_Value) TupleValue)
(rewrite (TupleValue_EMPTY ) (TupleValue_from_vec (vec-of )) :ruleset array_api_ruleset)
(rewrite (TupleValue_append (TupleValue_from_vec vs) v) (TupleValue_from_vec (vec-append vs (vec-of v))) :ruleset array_api_ruleset)
(rewrite (TupleValue_foldl_boolean (TupleValue_EMPTY ) bool_f b) b :subsume :ruleset array_api_ruleset)
(rewrite (TupleValue_foldl_boolean (TupleValue_append tv v) bool_f b) (unstable-app bool_f (TupleValue_foldl_boolean tv bool_f b) v) :subsume :ruleset array_api_ruleset)
(rule ((= (TupleValue_append tv v) (TupleValue_append tv1 v1)))
((union tv tv1)
(union v v1))
:ruleset array_api_ruleset )
(constructor DType_int64 () DType)
(rewrite (Value_dtype (Value_int i)) (DType_int64 ) :ruleset array_api_ruleset)
(rewrite (Value_dtype (Value_float f)) $%__expr_3312772843316740737 :ruleset array_api_ruleset)
(constructor DType_bool () DType)
(rewrite (Value_dtype (Value_bool b)) (DType_bool ) :ruleset array_api_ruleset)
(constructor Value_to_bool (Value) Boolean)
(rewrite (Value_to_bool (Value_bool b)) b :ruleset array_api_ruleset)
(constructor Value_to_int (Value) Int)
(rewrite (Value_to_int (Value_int i)) i :ruleset array_api_ruleset)
(rewrite (Value_to_truthy_value (Value_bool b)) (Value_bool b) :ruleset array_api_ruleset)
(constructor Value_conj (Value) Value)
(rewrite (Value_conj (Value_float f)) (Value_float f) :ruleset array_api_ruleset)
(constructor Value_real (Value) Value)
(rewrite (Value_real (Value_float f)) (Value_float f) :ruleset array_api_ruleset)
(rewrite (Value_real (Value_int i)) (Value_int i) :ruleset array_api_ruleset)
(rewrite (Value_conj (Value_int i)) (Value_int i) :ruleset array_api_ruleset)
(constructor Value_sqrt (Value) Value)
(constructor Float___pow__ (Float Float) Float)
(rewrite (Value_sqrt (Value_float f)) (Value_float (Float___pow__ f (Float___init__ 0.5))) :ruleset array_api_ruleset)
(constructor Value___add__ (Value Value) Value)
(constructor Float_rational (BigRat) Float :cost 2)
(rewrite (Value___add__ (Value_float (Float_rational (bigrat (bigint 0) (bigint 1)))) v) v :ruleset array_api_ruleset)
(rewrite (Value_if_ (Boolean___init__ true) v v1) v :ruleset array_api_ruleset)
(rewrite (Value_if_ (Boolean___init__ false) v v1) v1 :ruleset array_api_ruleset)
(rewrite (Value___eq__ (Value_int i) (Value_int i1)) (Int___eq__ i i1) :ruleset array_api_ruleset)
(constructor Float___eq__ (Float Float) Boolean)
(rewrite (Value___eq__ (Value_float f) (Value_float f1)) (Float___eq__ f f1) :ruleset array_api_ruleset)
(constructor Boolean___eq__ (Boolean Boolean) Boolean)
(rewrite (Value___eq__ (Value_bool b) (Value_bool b1)) (Boolean___eq__ b b1) :ruleset array_api_ruleset)
(sort IsDtypeKind)
(constructor isdtype (DType IsDtypeKind) Boolean)
(constructor DType_float32 () DType)
(constructor IsDtypeKind_string (String) IsDtypeKind)
(rewrite (isdtype (DType_float32 ) (IsDtypeKind_string "integral")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype $%__expr_3312772843316740737 (IsDtypeKind_string "integral")) (Boolean___init__ false) :ruleset array_api_ruleset)
(constructor DType_object () DType)
(rewrite (isdtype (DType_object ) (IsDtypeKind_string "integral")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_int64 ) (IsDtypeKind_string "integral")) (Boolean___init__ true) :ruleset array_api_ruleset)
(constructor DType_int32 () DType)
(rewrite (isdtype (DType_int32 ) (IsDtypeKind_string "integral")) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_float32 ) (IsDtypeKind_string "real floating")) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (isdtype $%__expr_3312772843316740737 (IsDtypeKind_string "real floating")) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_object ) (IsDtypeKind_string "real floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_int64 ) (IsDtypeKind_string "real floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_int32 ) (IsDtypeKind_string "real floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_float32 ) (IsDtypeKind_string "complex floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype $%__expr_3312772843316740737 (IsDtypeKind_string "complex floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_object ) (IsDtypeKind_string "complex floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_int64 ) (IsDtypeKind_string "complex floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (isdtype (DType_int32 ) (IsDtypeKind_string "complex floating")) (Boolean___init__ false) :ruleset array_api_ruleset)
(constructor IsDtypeKind_NULL () IsDtypeKind)
(rewrite (isdtype d (IsDtypeKind_NULL )) (Boolean___init__ false) :ruleset array_api_ruleset)
(constructor IsDtypeKind_dtype (DType) IsDtypeKind)
(rewrite (isdtype d (IsDtypeKind_dtype d)) (Boolean___init__ true) :ruleset array_api_ruleset)
(constructor IsDtypeKind___or__ (IsDtypeKind IsDtypeKind) IsDtypeKind :cost 10)
(rewrite (isdtype d (IsDtypeKind___or__ k1 k2)) (Boolean___or__ (isdtype d k1) (isdtype d k2)) :ruleset array_api_ruleset)
(rewrite (IsDtypeKind___or__ k1 (IsDtypeKind_NULL )) k1 :ruleset array_api_ruleset)
(rewrite (DType___eq__ $%__expr_3312772843316740737 $%__expr_3312772843316740737) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (DType___eq__ $%__expr_3312772843316740737 (DType_float32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ $%__expr_3312772843316740737 (DType_int32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ $%__expr_3312772843316740737 (DType_int64 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ $%__expr_3312772843316740737 (DType_object )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_float32 ) $%__expr_3312772843316740737) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_float32 ) (DType_float32 )) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_float32 ) (DType_int32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_float32 ) (DType_int64 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_float32 ) (DType_object )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int32 ) $%__expr_3312772843316740737) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int32 ) (DType_float32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int32 ) (DType_int32 )) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int32 ) (DType_int64 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int32 ) (DType_object )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int64 ) $%__expr_3312772843316740737) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int64 ) (DType_float32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int64 ) (DType_int32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int64 ) (DType_int64 )) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_int64 ) (DType_object )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_object ) $%__expr_3312772843316740737) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_object ) (DType_float32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_object ) (DType_int32 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_object ) (DType_int64 )) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (DType___eq__ (DType_object ) (DType_object )) (Boolean___init__ true) :ruleset array_api_ruleset)
(sort Vec_TupleInt (Vec TupleInt))
(function TupleTupleInt_to_vec (TupleTupleInt) Vec_TupleInt :no-merge)
(constructor TupleTupleInt_from_vec (Vec_TupleInt) TupleTupleInt)
(rule ((= tti (TupleTupleInt_from_vec vs)))
((set (TupleTupleInt_to_vec tti) vs))
:ruleset array_api_ruleset )
(rewrite (TupleTupleInt_length (TupleTupleInt___init__ length idx_fn)) length :ruleset array_api_ruleset)
(rewrite (TupleTupleInt___getitem__ (TupleTupleInt___init__ length idx_fn) idx) (unstable-app idx_fn (check_index idx length)) :ruleset array_api_ruleset)
(constructor TupleTupleInt_EMPTY () TupleTupleInt)
(rewrite (TupleTupleInt_length (TupleTupleInt_EMPTY )) (Int___init__ 0) :ruleset array_api_ruleset)
(constructor TupleInt_NEVER () TupleInt)
(rewrite (TupleTupleInt___getitem__ (TupleTupleInt_EMPTY ) idx) (TupleInt_NEVER ) :ruleset array_api_ruleset)
(constructor TupleTupleInt_append (TupleTupleInt TupleInt) TupleTupleInt)
(rewrite (TupleTupleInt_length (TupleTupleInt_append tti ti)) (Int___add__ (TupleTupleInt_length tti) (Int___init__ 1)) :ruleset array_api_ruleset)
(rewrite (TupleTupleInt___getitem__ (TupleTupleInt_append tti ti) idx) (TupleInt_if_ (Int___eq__ idx (TupleTupleInt_length tti)) ti (TupleTupleInt___getitem__ tti idx)) :ruleset array_api_ruleset)
(rewrite (TupleTupleInt___init__ (Int___init__ 0) idx_fn) (TupleTupleInt_EMPTY ) :subsume :ruleset array_api_ruleset)
(rewrite (TupleTupleInt___init__ (Int___init__ k) idx_fn) (TupleTupleInt_append (TupleTupleInt___init__ (Int___init__ (- k 1)) idx_fn) (unstable-app idx_fn (Int___init__ (- k 1)))) :subsume :when ((> k 0)) :ruleset array_api_ruleset)
(rewrite (TupleTupleInt_EMPTY ) (TupleTupleInt_from_vec (vec-of )) :ruleset array_api_ruleset)
(rewrite (TupleTupleInt_append (TupleTupleInt_from_vec vs) ti) (TupleTupleInt_from_vec (vec-append vs (vec-of ti))) :ruleset array_api_ruleset)
(sort UnstableFn_Value_Value_TupleInt (UnstableFn (Value TupleInt) Value))
(constructor TupleTupleInt_foldl_value (TupleTupleInt UnstableFn_Value_Value_TupleInt Value) Value)
(rewrite (TupleTupleInt_foldl_value (TupleTupleInt_EMPTY ) f i) i :subsume :ruleset array_api_ruleset)
(rewrite (TupleTupleInt_foldl_value (TupleTupleInt_append tti ti) f i) (unstable-app f (TupleTupleInt_foldl_value tti f i) ti) :subsume :ruleset array_api_ruleset)
(rule ((= (TupleTupleInt_append tti ti) (TupleTupleInt_append tti1 ti1)))
((union tti tti1)
(union ti ti1))
:ruleset array_api_ruleset )
(function TupleInt_to_vec (TupleInt) Vec_Int :no-merge)
(rule ((= ti (TupleInt_from_vec vs)))
((set (TupleInt_to_vec ti) vs))
:ruleset array_api_ruleset )
(rewrite (TupleInt_length (TupleInt___init__ i idx_fn)) i :ruleset array_api_ruleset)
(rewrite (TupleInt___getitem__ (TupleInt___init__ i idx_fn) i2) (unstable-app idx_fn (check_index i i2)) :ruleset array_api_ruleset)
(rewrite (TupleInt_length (TupleInt_EMPTY )) (Int___init__ 0) :ruleset array_api_ruleset)
(rewrite (TupleInt___getitem__ (TupleInt_EMPTY ) i) (Int_NEVER ) :ruleset array_api_ruleset)
(rewrite (TupleInt_length (TupleInt_append ti i)) (Int___add__ (TupleInt_length ti) (Int___init__ 1)) :ruleset array_api_ruleset)
(rewrite (TupleInt___getitem__ (TupleInt_append ti i) i2) (Int_if_ (Int___eq__ i2 (TupleInt_length ti)) i (TupleInt___getitem__ ti i2)) :ruleset array_api_ruleset)
(rewrite (TupleInt___init__ (Int___init__ 0) idx_fn) (TupleInt_EMPTY ) :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt___init__ (Int___init__ k) idx_fn) (TupleInt_append (TupleInt___init__ (Int___init__ (- k 1)) idx_fn) (unstable-app idx_fn (Int___init__ (- k 1)))) :subsume :when ((> k 0)) :ruleset array_api_ruleset)
(rewrite (TupleInt_EMPTY ) (TupleInt_from_vec (vec-of )) :ruleset array_api_ruleset)
(rewrite (TupleInt_append (TupleInt_from_vec vs) i) (TupleInt_from_vec (vec-append vs (vec-of i))) :ruleset array_api_ruleset)
(rewrite (TupleInt_foldl (TupleInt_EMPTY ) f i) i :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_foldl (TupleInt_append ti i2) f i) (unstable-app f (TupleInt_foldl ti f i) i2) :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_foldl_boolean (TupleInt_EMPTY ) bool_f b) b :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_foldl_boolean (TupleInt_append ti i2) bool_f b) (unstable-app bool_f (TupleInt_foldl_boolean ti bool_f b) i2) :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_foldl_tuple_int (TupleInt_EMPTY ) tuple_int_f ti) ti :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_foldl_tuple_int (TupleInt_append ti i2) tuple_int_f ti2) (unstable-app tuple_int_f (TupleInt_foldl_tuple_int ti tuple_int_f ti2) i2) :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_if_ (Boolean___init__ true) ti ti2) ti :subsume :ruleset array_api_ruleset)
(rewrite (TupleInt_if_ (Boolean___init__ false) ti ti2) ti2 :subsume :ruleset array_api_ruleset)
(rule ((= (TupleInt_append ti i) (TupleInt_append ti2 i2)))
((union ti ti2)
(union i i2))
:ruleset array_api_ruleset )
(function Float_to_f64 (Float) f64 :no-merge)
(rule ((= fl (Float___init__ f)))
((set (Float_to_f64 fl) f))
:ruleset array_api_ruleset )
(rewrite (Float_abs (Float___init__ f)) (Float___init__ f) :when ((>= f 0.0)) :ruleset array_api_ruleset)
(rewrite (Float_abs (Float___init__ f)) (Float___init__ (neg f)) :when ((< f 0.0)) :ruleset array_api_ruleset)
(rewrite (Float___init__ f) (Float_rational (bigrat (bigint (to-i64 f)) (bigint 1))) :when ((= (to-f64 (to-i64 f)) f)) :ruleset array_api_ruleset)
(constructor Float_from_int (Int) Float)
(rewrite (Float_from_int (Int___init__ i)) (Float_rational (bigrat (bigint i) (bigint 1))) :ruleset array_api_ruleset)
(constructor Float___add__ (Float Float) Float)
(rewrite (Float___add__ (Float___init__ f) (Float___init__ f2)) (Float___init__ (+ f f2)) :ruleset array_api_ruleset)
(constructor Float___sub__ (Float Float) Float)
(rewrite (Float___sub__ (Float___init__ f) (Float___init__ f2)) (Float___init__ (- f f2)) :ruleset array_api_ruleset)
(constructor Float___mul__ (Float Float) Float)
(rewrite (Float___mul__ (Float___init__ f) (Float___init__ f2)) (Float___init__ (* f f2)) :ruleset array_api_ruleset)
(constructor Float___truediv__ (Float Float) Float)
(rewrite (Float___truediv__ (Float_rational r) (Float_rational r1)) (Float_rational (/ r r1)) :ruleset array_api_ruleset)
(rewrite (Float___add__ (Float_rational r) (Float_rational r1)) (Float_rational (+ r r1)) :ruleset array_api_ruleset)
(rewrite (Float___sub__ (Float_rational r) (Float_rational r1)) (Float_rational (- r r1)) :ruleset array_api_ruleset)
(rewrite (Float___mul__ (Float_rational r) (Float_rational r1)) (Float_rational (* r r1)) :ruleset array_api_ruleset)
(rewrite (Float___pow__ (Float___init__ f) (Float___init__ f2)) (Float___init__ (^ f f2)) :ruleset array_api_ruleset)
(rewrite (Float___eq__ (Float___init__ f) (Float___init__ f)) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (Float___eq__ (Float___init__ f) (Float___init__ f2)) (Boolean___init__ false) :when ((!= f f2)) :ruleset array_api_ruleset)
(rewrite (Float___eq__ (Float_rational r) (Float_rational r)) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (Float___eq__ (Float_rational r) (Float_rational r1)) (Boolean___init__ false) :when ((!= r r1)) :ruleset array_api_ruleset)
(rewrite (Int___eq__ (Int___init__ i) (Int___init__ i)) (Boolean___init__ true) :ruleset array_api_ruleset)
(rule ((= r (Int___eq__ (Int___init__ i) (Int___init__ j)))
(!= i j))
((union r (Boolean___init__ false)))
:ruleset array_api_ruleset )
(rewrite (Int___ge__ (Int___init__ i) (Int___init__ i)) (Boolean___init__ true) :ruleset array_api_ruleset)
(rule ((= r (Int___ge__ (Int___init__ i) (Int___init__ j)))
(> i j))
((union r (Boolean___init__ true)))
:ruleset array_api_ruleset )
(rule ((= r (Int___ge__ (Int___init__ i) (Int___init__ j)))
(< i j))
((union r (Boolean___init__ false)))
:ruleset array_api_ruleset )
(rewrite (Int___lt__ (Int___init__ i) (Int___init__ i)) (Boolean___init__ false) :ruleset array_api_ruleset)
(rule ((= r (Int___lt__ (Int___init__ i) (Int___init__ j)))
(< i j))
((union r (Boolean___init__ true)))
:ruleset array_api_ruleset )
(rule ((= r (Int___lt__ (Int___init__ i) (Int___init__ j)))
(> i j))
((union r (Boolean___init__ false)))
:ruleset array_api_ruleset )
(constructor Int___gt__ (Int Int) Boolean)
(rewrite (Int___gt__ (Int___init__ i) (Int___init__ i)) (Boolean___init__ false) :ruleset array_api_ruleset)
(rule ((= r (Int___gt__ (Int___init__ i) (Int___init__ j)))
(> i j))
((union r (Boolean___init__ true)))
:ruleset array_api_ruleset )
(rule ((= r (Int___gt__ (Int___init__ i) (Int___init__ j)))
(< i j))
((union r (Boolean___init__ false)))
:ruleset array_api_ruleset )
(function Int_to_i64 (Int) i64 :no-merge)
(rule ((= o (Int___init__ j)))
((set (Int_to_i64 o) j))
:ruleset array_api_ruleset )
(rule ((= (Int___init__ i) (Int___init__ j))
(!= i j))
((panic "Real ints cannot be equal to different ints"))
:ruleset array_api_ruleset )
(rewrite (Int___add__ (Int___init__ i) (Int___init__ j)) (Int___init__ (+ i j)) :ruleset array_api_ruleset)
(rewrite (Int___sub__ (Int___init__ i) (Int___init__ j)) (Int___init__ (- i j)) :ruleset array_api_ruleset)
(rewrite (Int___mul__ (Int___init__ i) (Int___init__ j)) (Int___init__ (* i j)) :ruleset array_api_ruleset)
(rewrite (Int___floordiv__ (Int___init__ i) (Int___init__ j)) (Int___init__ (/ i j)) :ruleset array_api_ruleset)
(rewrite (Int___mod__ (Int___init__ i) (Int___init__ j)) (Int___init__ (% i j)) :ruleset array_api_ruleset)
(constructor Int___and__ (Int Int) Int)
(rewrite (Int___and__ (Int___init__ i) (Int___init__ j)) (Int___init__ (& i j)) :ruleset array_api_ruleset)
(constructor Int___or__ (Int Int) Int)
(rewrite (Int___or__ (Int___init__ i) (Int___init__ j)) (Int___init__ (| i j)) :ruleset array_api_ruleset)
(constructor Int___xor__ (Int Int) Int)
(rewrite (Int___xor__ (Int___init__ i) (Int___init__ j)) (Int___init__ (^ i j)) :ruleset array_api_ruleset)
(constructor Int___lshift__ (Int Int) Int)
(rewrite (Int___lshift__ (Int___init__ i) (Int___init__ j)) (Int___init__ (<< i j)) :ruleset array_api_ruleset)
(constructor Int___rshift__ (Int Int) Int)
(rewrite (Int___rshift__ (Int___init__ i) (Int___init__ j)) (Int___init__ (>> i j)) :ruleset array_api_ruleset)
(constructor Int___invert__ (Int) Int)
(rewrite (Int___invert__ (Int___init__ i)) (Int___init__ (not-i64 i)) :ruleset array_api_ruleset)
(rewrite (Int_if_ (Boolean___init__ true) o b) o :subsume :ruleset array_api_ruleset)
(rewrite (Int_if_ (Boolean___init__ false) o b) b :subsume :ruleset array_api_ruleset)
(rule ((= (Int_NEVER ) (Int___init__ i)))
((panic "Int.NEVER cannot be equal to any real int"))
:ruleset array_api_ruleset )
(rule ((= x (Boolean___init__ b)))
((set (Boolean_to_bool x) b))
:ruleset array_api_ruleset )
(rewrite (Boolean___or__ (Boolean___init__ true) x) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (Boolean___or__ (Boolean___init__ false) x) x :ruleset array_api_ruleset)
(rewrite (Boolean___and__ (Boolean___init__ true) x) x :ruleset array_api_ruleset)
(rewrite (Boolean___and__ (Boolean___init__ false) x) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (Boolean___invert__ (Boolean___init__ true)) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (Boolean___invert__ (Boolean___init__ false)) (Boolean___init__ true) :ruleset array_api_ruleset)
(rule ((= (Boolean___init__ false) (Boolean___init__ true)))
((panic "False cannot equal True"))
:ruleset array_api_ruleset )
(rewrite (Boolean___eq__ x x) (Boolean___init__ true) :ruleset array_api_ruleset)
(rewrite (Boolean___eq__ (Boolean___init__ false) (Boolean___init__ true)) (Boolean___init__ false) :ruleset array_api_ruleset)
(rewrite (Boolean___eq__ (Boolean___init__ true) (Boolean___init__ false)) (Boolean___init__ false) :ruleset array_api_ruleset)
(ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleInt_from_vec vs) (TupleInt_EMPTY ) :when ((= (vec-length vs) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleInt_from_vec vs) (TupleInt_append (TupleInt_from_vec (vec-remove vs (- (vec-length vs) 1))) (vec-get vs (- (vec-length vs) 1))) :when ((!= (vec-length vs) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleValue_from_vec vv) (TupleValue_EMPTY ) :when ((= (vec-length vv) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleValue_from_vec vv) (TupleValue_append (TupleValue_from_vec (vec-remove vv (- (vec-length vv) 1))) (vec-get vv (- (vec-length vv) 1))) :when ((!= (vec-length vv) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleTupleInt_from_vec vt) (TupleTupleInt_EMPTY ) :when ((= (vec-length vt) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleTupleInt_from_vec vt) (TupleTupleInt_append (TupleTupleInt_from_vec (vec-remove vt (- (vec-length vt) 1))) (vec-get vt (- (vec-length vt) 1))) :when ((!= (vec-length vt) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleNDArray_from_vec vn) (TupleNDArray_EMPTY ) :when ((= (vec-length vn) 0)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleNDArray_from_vec vn) (TupleNDArray_append (TupleNDArray_from_vec (vec-remove vn (- (vec-length vn) 1))) (vec-get vn (- (vec-length vn) 1))) :when ((!= (vec-length vn) 0)) :ruleset array_api_vec_to_cons_ruleset)
(unstable-combined-ruleset combined_ruleset_4774957744 array_api_ruleset array_api_vec_to_cons_ruleset)
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (DType___eq__ $%__expr_3312772843316740737 (NDArray_dtype (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4)))))))) 0)
(let $%__expr_-7702746175087213660 (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0))) 0)
(let $%__expr_7214152486816582867 (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 1)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 1))) 0)
(let $%__expr_1302760973778610762 (Int___ge__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 3)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___ge__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 3))) 0)
(let $%__expr_-783593948058674373 (OptionalDType_none ))
(let $%__expr_783611300946152456 (isdtype (NDArray_dtype (asarray (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) (IsDtypeKind___or__ (IsDtypeKind_string "real floating") (IsDtypeKind___or__ (IsDtypeKind_string "complex floating") (IsDtypeKind_NULL )))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (isdtype (NDArray_dtype (asarray (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) (IsDtypeKind___or__ (IsDtypeKind_string "real floating") (IsDtypeKind___or__ (IsDtypeKind_string "complex floating") (IsDtypeKind_NULL ))))) 0)
(let $%__expr_8204039412248463860 (Value_to_bool (NDArray_to_value (isfinite (sum (asarray (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (OptionalIntOrTuple_none ))))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Value_to_bool (NDArray_to_value (isfinite (sum (asarray (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (OptionalIntOrTuple_none )))))) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))))) 0)
(let $%__expr_2412012518755541882 (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)) (Int___init__ 2)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)) (Int___init__ 2))) 0)
(let $%__expr_5402813888369164410 (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 2)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 2))) 0)
(let $%__expr_-3819518261003242831 (Int___init__ 1))
(let $%__expr_-5910393325276102546 (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831) $%__expr_-3819518261003242831))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831) $%__expr_-3819518261003242831)) 0)
(let $%__expr_1808310868807558499 (Int___ge__ (NDArray_ndim (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 3)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___ge__ (NDArray_ndim (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 3))) 0)
(let $%__expr_-8967796230287329510 (Int___init__ 2))
(let $%__expr_1027860534766939256 (Int___eq__ (NDArray_ndim (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-8967796230287329510))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-8967796230287329510)) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))))) 0)
(let $%__expr_-4021706396155434623 (OptionalBool_none ))
(let $%__expr_-7565754526517146860 (OptionalDevice_none ))
(let $%__expr_7966366713714353629 (isdtype (NDArray_dtype (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (IsDtypeKind___or__ (IsDtypeKind_string "real floating") (IsDtypeKind___or__ (IsDtypeKind_string "complex floating") (IsDtypeKind_NULL )))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (isdtype (NDArray_dtype (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (IsDtypeKind___or__ (IsDtypeKind_string "real floating") (IsDtypeKind___or__ (IsDtypeKind_string "complex floating") (IsDtypeKind_NULL ))))) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))))) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) 0)
(let $%__expr_1515625565982584680 (Int___init__ 0))
(let $%__expr_2710969667027086134 (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)))) 0)
(let $%__expr_-6515887160729942207 (Int___gt__ (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___gt__ (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)))) 0)
(let $%__expr_2159589878056230634 (Int___eq__ (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)))) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))))) 0)
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_-8967796230287329510)) 0)
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_-3819518261003242831)) 0)
(extract (TupleInt_to_vec (NDArray_shape (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860))) 0)
(extract (Int_to_i64 (Int___init__ 150)) 0)
(let $%__expr_6488429099574989478 (DType___eq__ (NDArray_dtype (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (DType_object )))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (DType___eq__ (NDArray_dtype (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (DType_object ))) 0)
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_-8967796230287329510)) 0)
(extract (Boolean_to_bool (isdtype (NDArray_dtype (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (IsDtypeKind_string "real floating"))) 0)
(let $%__expr_-6733469555097320499 (Int___gt__ (TupleInt___getitem__ (NDArray_shape (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860))) $%__expr_1515625565982584680) $%__expr_-8967796230287329510))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___gt__ (TupleInt___getitem__ (NDArray_shape (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860))) $%__expr_1515625565982584680) $%__expr_-8967796230287329510)) 0)
(extract (TupleInt_to_vec (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) 0)
(let $%__expr_-965411243548255093 (Int___init__ 150))
(let $%__expr_4690911764855057036 (Int___eq__ $%__expr_-965411243548255093 (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ $%__expr_-965411243548255093 (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680))) 0)
(let $%__expr_5009493427994000278 (unique_counts (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (TupleNDArray_to_vec (unique_counts (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860))) 0)
(extract (Int_to_i64 (TupleInt___getitem__ (NDArray_shape (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) $%__expr_1515625565982584680)) 0)
(let $%__expr_3177832130128926844 (Value_int (Int___init__ 0)))
(let $%__expr_5577052485518004212 (Value_to_bool (NDArray_to_value (any (NDArray___lt__ (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) (NDArray_scalar $%__expr_3177832130128926844))))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Value_to_bool (NDArray_to_value (any (NDArray___lt__ (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) (NDArray_scalar $%__expr_3177832130128926844)))))) 0)
(let $%__expr_-8760706379805395400 (Value_to_bool (NDArray_to_value (NDArray___gt__ (ndarray-abs (NDArray___sub__ (sum (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) (OptionalIntOrTuple_none )) (NDArray_scalar (Value_float (Float___init__ 1.0))))) (NDArray_scalar (Value_float (Float___init__ 0.00001)))))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Value_to_bool (NDArray_to_value (NDArray___gt__ (ndarray-abs (NDArray___sub__ (sum (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) (OptionalIntOrTuple_none )) (NDArray_scalar (Value_float (Float___init__ 1.0))))) (NDArray_scalar (Value_float (Float___init__ 0.00001))))))) 0)
(let $%__expr_7387490801012818541 (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831) (Int___sub__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831) (Int___sub__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831))) 0)
(let $%__expr_-1220808304905772197 (Int___lt__ (Int___sub__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831) $%__expr_-8967796230287329510))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___lt__ (Int___sub__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831) $%__expr_-8967796230287329510)) 0)
(extract (TupleInt_to_vec (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) 0)
(let $%__expr_-18431026180781381 (unique_inverse (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (TupleNDArray_to_vec (unique_inverse (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860))) 0)
(extract (Int_to_i64 (TupleInt___getitem__ (NDArray_shape (NDArray_vector (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_1515625565982584680)) 0)
(let $%__expr_-5978900816636859197 (NDArray_size (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Int_to_i64 (NDArray_size (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none ))))) 0)
(let $%__expr_4960580842698491831 (Value_int (Int___init__ 2)))
(let $%__expr_-8271623696788926803 (NDArray_scalar $%__expr_3177832130128926844))
(let $%__expr_-7273898457818663043 (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none ))))
(let $%__expr_8954373425596637944 (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860))
(let $%__expr_-8918626105572260774 (TupleNDArray___getitem__ (unique_inverse (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831))
(let $%__expr_-4275348256566137526 (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))))
(let $%__expr_-218207054133359828 (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))
(sort MultiAxisIndexKeyItem)
(sort Slice)
(constructor MultiAxisIndexKeyItem_slice (Slice) MultiAxisIndexKeyItem)
(constructor Slice___init__ (OptionalInt OptionalInt OptionalInt) Slice)
(let $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ (OptionalInt_none ) (OptionalInt_none ) (OptionalInt_none ))))
(sort IntOrTuple)
(constructor OptionalIntOrTuple_some (IntOrTuple) OptionalIntOrTuple)
(constructor IntOrTuple_int (Int) IntOrTuple)
(let $%__expr_983055127364785721 (OptionalIntOrTuple_some (IntOrTuple_int $%__expr_1515625565982584680)))
(let $%__expr_-1452170678296599248 (OptionalInt_none ))
(sort MultiAxisIndexKey)
(constructor IndexKey_multi_axis (MultiAxisIndexKey) IndexKey)
(sort Vec_MultiAxisIndexKeyItem (Vec MultiAxisIndexKeyItem))
(constructor MultiAxisIndexKey_from_vec (Vec_MultiAxisIndexKeyItem) MultiAxisIndexKey)
(constructor MultiAxisIndexKeyItem_int (Int) MultiAxisIndexKeyItem)
(let $%__expr_1476736221086191386 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_-3819518261003242831) $%__expr_-732844627964303682))))
(let $%__expr_-5492753565611138931 (Boolean___init__ false))
(constructor OptionalDType_some (DType) OptionalDType)
(let $%__expr_9078071743624874880 (OptionalDType_some (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))))
(let $%__expr_-3656473307321800322 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_1515625565982584680) $%__expr_-732844627964303682))))
(let $%__expr_-2513766338179447502 (Float___init__ 1.0))
(let $%__expr_-2402518358160778187 (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))
(let $%__expr_-2999685187327316942 (Value_int $%__expr_-3819518261003242831))
(constructor NDArray___setitem__ (NDArray IndexKey NDArray) NDArray)
(constructor zeros (TupleInt OptionalDType OptionalDevice) NDArray)
(sort Device)
(constructor OptionalDevice_some (Device) OptionalDevice)
(constructor NDArray_device (NDArray) Device)
(constructor mean (NDArray OptionalIntOrTuple Boolean) NDArray)
(constructor IndexKey_ndarray (NDArray) IndexKey)
(constructor NDArray___eq__ (NDArray NDArray) NDArray)
(let $%__expr_2111919219348313127 (NDArray___setitem__ (NDArray___setitem__ (NDArray___setitem__ (zeros (TupleInt_from_vec (vec-of (TupleInt___getitem__ (NDArray_shape (NDArray_vector (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_1515625565982584680) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831))) $%__expr_9078071743624874880 (OptionalDevice_some (NDArray_device $%__expr_-218207054133359828))) $%__expr_-3656473307321800322 (mean (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_-8918626105572260774 $%__expr_-8271623696788926803))) $%__expr_983055127364785721 $%__expr_-5492753565611138931)) $%__expr_1476736221086191386 (mean (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_-8918626105572260774 (NDArray_scalar $%__expr_-2999685187327316942)))) $%__expr_983055127364785721 $%__expr_-5492753565611138931)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_-8967796230287329510) $%__expr_-732844627964303682))) (mean (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_-8918626105572260774 (NDArray_scalar $%__expr_4960580842698491831)))) $%__expr_983055127364785721 $%__expr_-5492753565611138931)))
(let $%__expr_109783727569535644 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_-8967796230287329510) $%__expr_-732844627964303682))))
(constructor std (NDArray OptionalIntOrTuple) NDArray)
(constructor OptionalInt_some (Int) OptionalInt)
(let $%__expr_-2186208094369825484 (std (concat (TupleNDArray_from_vec (vec-of (NDArray___sub__ (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_8954373425596637944 (NDArray___getitem__ $%__expr_-7273898457818663043 (IndexKey_int $%__expr_1515625565982584680))))) (NDArray___getitem__ $%__expr_2111919219348313127 $%__expr_-3656473307321800322)) (NDArray___sub__ (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_8954373425596637944 (NDArray___getitem__ $%__expr_-7273898457818663043 (IndexKey_int $%__expr_-3819518261003242831))))) (NDArray___getitem__ $%__expr_2111919219348313127 $%__expr_1476736221086191386)) (NDArray___sub__ (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_8954373425596637944 (NDArray___getitem__ $%__expr_-7273898457818663043 (IndexKey_int $%__expr_-8967796230287329510))))) (NDArray___getitem__ $%__expr_2111919219348313127 $%__expr_109783727569535644)))) (OptionalInt_some $%__expr_1515625565982584680)) $%__expr_983055127364785721))
(let $%__expr_-2182434727612579224 (concat (TupleNDArray_from_vec (vec-of (NDArray___sub__ (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_8954373425596637944 (NDArray___getitem__ $%__expr_-7273898457818663043 (IndexKey_int $%__expr_1515625565982584680))))) (NDArray___getitem__ $%__expr_2111919219348313127 $%__expr_-3656473307321800322)) (NDArray___sub__ (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_8954373425596637944 (NDArray___getitem__ $%__expr_-7273898457818663043 (IndexKey_int $%__expr_-3819518261003242831))))) (NDArray___getitem__ $%__expr_2111919219348313127 $%__expr_1476736221086191386)) (NDArray___sub__ (NDArray___getitem__ $%__expr_-218207054133359828 (IndexKey_ndarray (NDArray___eq__ $%__expr_8954373425596637944 (NDArray___getitem__ $%__expr_-7273898457818663043 (IndexKey_int $%__expr_-8967796230287329510))))) (NDArray___getitem__ $%__expr_2111919219348313127 $%__expr_109783727569535644)))) (OptionalInt_some $%__expr_1515625565982584680)))
(constructor NDArray___mul__ (NDArray NDArray) NDArray)
(constructor ndarray-sqrt (NDArray) NDArray)
(let $%__expr_-6679122900109393815 (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float___truediv__ $%__expr_-2513766338179447502 (Float_from_int (Int___sub__ $%__expr_-965411243548255093 (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680)))))) $%__expr_9078071743624874880 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (NDArray___truediv__ $%__expr_-2182434727612579224 (NDArray___setitem__ $%__expr_-2186208094369825484 (IndexKey_ndarray (NDArray___eq__ $%__expr_-2186208094369825484 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float___init__ 1.0)))))) $%__expr_-5492753565611138931))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (TupleNDArray_to_vec (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float___truediv__ $%__expr_-2513766338179447502 (Float_from_int (Int___sub__ $%__expr_-965411243548255093 (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680)))))) $%__expr_9078071743624874880 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (NDArray___truediv__ $%__expr_-2182434727612579224 (NDArray___setitem__ $%__expr_-2186208094369825484 (IndexKey_ndarray (NDArray___eq__ $%__expr_-2186208094369825484 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float___init__ 1.0)))))) $%__expr_-5492753565611138931)) 0)
(let $%__expr_8919219603840822224 (Int___eq__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831)) 0)
(let $%__expr_-8512717510729445879 (Int___init__ 4))
(let $%__expr_4843863566566866913 (NDArray_scalar $%__expr_4960580842698491831))
(let $%__expr_432163927078974686 (MultiAxisIndexKeyItem_int $%__expr_1515625565982584680))
(let $%__expr_6720480091233118296 (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))))
(let $%__expr_-1353577903770798000 (IndexKey_ndarray (NDArray___eq__ $%__expr_-8918626105572260774 $%__expr_-8271623696788926803)))
(let $%__expr_-4026720172780321222 (MultiAxisIndexKeyItem_int $%__expr_-8967796230287329510))
(let $%__expr_8168747590964019947 (from-string "1"))
(let $%__expr_-7704953038804002139 (OptionalDType_some $%__expr_3312772843316740737))
(let $%__expr_-796730805028247993 (IndexKey_ndarray (NDArray___eq__ $%__expr_-8918626105572260774 (NDArray_scalar $%__expr_-2999685187327316942))))
(let $%__expr_-3459162404795265252 (IndexKey_ndarray (NDArray___eq__ $%__expr_-8918626105572260774 (NDArray_scalar $%__expr_4960580842698491831))))
(let $%__expr_-3812909516189076479 (MultiAxisIndexKeyItem_int $%__expr_-3819518261003242831))
(let $%__expr_7577559097497902125 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_432163927078974686 $%__expr_-732844627964303682))))
(let $%__expr_7268219828363711414 (NDArray___setitem__ (NDArray___setitem__ (NDArray___setitem__ (zeros (TupleInt_from_vec (vec-of (Int___init__ 3) $%__expr_-8512717510729445879)) $%__expr_-7704953038804002139 (OptionalDevice_some (NDArray_device $%__expr_6720480091233118296))) $%__expr_7577559097497902125 (mean (NDArray___getitem__ $%__expr_6720480091233118296 $%__expr_-1353577903770798000) $%__expr_983055127364785721 $%__expr_-5492753565611138931)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-3812909516189076479 $%__expr_-732844627964303682))) (mean (NDArray___getitem__ $%__expr_6720480091233118296 $%__expr_-796730805028247993) $%__expr_983055127364785721 $%__expr_-5492753565611138931)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-4026720172780321222 $%__expr_-732844627964303682))) (mean (NDArray___getitem__ $%__expr_6720480091233118296 $%__expr_-3459162404795265252) $%__expr_983055127364785721 $%__expr_-5492753565611138931)))
(let $%__expr_3960093023086732968 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-4026720172780321222 $%__expr_-732844627964303682))))
(let $%__expr_1364373353785060178 (NDArray_scalar $%__expr_-2999685187327316942))
(let $%__expr_2568882040843275336 (concat (TupleNDArray_from_vec (vec-of (NDArray___sub__ (NDArray___getitem__ $%__expr_6720480091233118296 (IndexKey_ndarray (NDArray___eq__ $%__expr_-4275348256566137526 $%__expr_-8271623696788926803))) (NDArray___getitem__ $%__expr_7268219828363711414 $%__expr_7577559097497902125)) (NDArray___sub__ (NDArray___getitem__ $%__expr_6720480091233118296 (IndexKey_ndarray (NDArray___eq__ $%__expr_-4275348256566137526 $%__expr_1364373353785060178))) (NDArray___getitem__ $%__expr_7268219828363711414 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-3812909516189076479 $%__expr_-732844627964303682))))) (NDArray___sub__ (NDArray___getitem__ $%__expr_6720480091233118296 (IndexKey_ndarray (NDArray___eq__ $%__expr_-4275348256566137526 $%__expr_4843863566566866913))) (NDArray___getitem__ $%__expr_7268219828363711414 $%__expr_3960093023086732968)))) (OptionalInt_some $%__expr_1515625565982584680)))
(let $%__expr_3000737669146698228 (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some (Value_to_int (NDArray_to_value (sum (astype (NDArray___gt__ (TupleNDArray___getitem__ (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (NDArray___truediv__ $%__expr_2568882040843275336 (NDArray___setitem__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) (IndexKey_ndarray (NDArray___eq__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) $%__expr_-5492753565611138931) $%__expr_-3819518261003242831) (NDArray_scalar (Value_float (Float___init__ 0.0001)))) (DType_int32 )) (OptionalIntOrTuple_none ))))) $%__expr_-1452170678296599248))
(let $%__expr_2280756757603070330 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-3812909516189076479 $%__expr_-732844627964303682))))
(let $%__expr_-7515158789430669490 (TupleNDArray___getitem__ (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (NDArray___truediv__ $%__expr_2568882040843275336 (NDArray___setitem__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) (IndexKey_ndarray (NDArray___eq__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) $%__expr_-5492753565611138931) $%__expr_-3819518261003242831))
(let $%__expr_-6337657961916076199 (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)) (NDArray___truediv__ $%__expr_2568882040843275336 (NDArray___setitem__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) (IndexKey_ndarray (NDArray___eq__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) $%__expr_-5492753565611138931))
(let $%__expr_-5633021559492843827 (std $%__expr_2568882040843275336 $%__expr_983055127364785721))
(constructor NDArray___matmul__ (NDArray NDArray) NDArray)
(constructor IndexKey_slice (Slice) IndexKey)
(let $%__expr_683045514215179507 (svd (NDArray___matmul__ (NDArray_T (NDArray___mul__ (ndarray-sqrt (NDArray___mul__ (NDArray___mul__ (NDArray_scalar (Value_int $%__expr_-965411243548255093)) (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0))))) (NDArray_scalar (Value_float (Float___truediv__ $%__expr_-2513766338179447502 (Float_from_int (Int___sub__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831))))))) (NDArray_T (NDArray___sub__ $%__expr_2111919219348313127 (NDArray___matmul__ (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) $%__expr_2111919219348313127))))) (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ $%__expr_-6337657961916076199 $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_3000737669146698228) $%__expr_-732844627964303682)))) (NDArray___setitem__ $%__expr_-2186208094369825484 (IndexKey_ndarray (NDArray___eq__ $%__expr_-2186208094369825484 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float___init__ 1.0)))))) (NDArray___getitem__ $%__expr_-7515158789430669490 (IndexKey_slice $%__expr_3000737669146698228)))) $%__expr_-5492753565611138931))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (TupleNDArray_to_vec (svd (NDArray___matmul__ (NDArray_T (NDArray___mul__ (ndarray-sqrt (NDArray___mul__ (NDArray___mul__ (NDArray_scalar (Value_int $%__expr_-965411243548255093)) (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0))))) (NDArray_scalar (Value_float (Float___truediv__ $%__expr_-2513766338179447502 (Float_from_int (Int___sub__ (TupleInt___getitem__ (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none )))) $%__expr_1515625565982584680) $%__expr_-3819518261003242831))))))) (NDArray_T (NDArray___sub__ $%__expr_2111919219348313127 (NDArray___matmul__ (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) $%__expr_2111919219348313127))))) (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ $%__expr_-6337657961916076199 $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_3000737669146698228) $%__expr_-732844627964303682)))) (NDArray___setitem__ $%__expr_-2186208094369825484 (IndexKey_ndarray (NDArray___eq__ $%__expr_-2186208094369825484 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float___init__ 1.0)))))) (NDArray___getitem__ $%__expr_-7515158789430669490 (IndexKey_slice $%__expr_3000737669146698228)))) $%__expr_-5492753565611138931)) 0)
(extract (TupleInt_to_vec (NDArray_shape (unique_values (concat (TupleNDArray_from_vec (vec-of (unique_values (asarray (asarray (reshape (asarray (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2))))) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (TupleInt_from_vec (vec-of (Int___init__ -1))) $%__expr_-4021706396155434623) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860) $%__expr_-783593948058674373 $%__expr_-4021706396155434623 $%__expr_-7565754526517146860)))) (OptionalInt_none ))))) 0)
(let $%__expr_8669073206247132810 (Int___eq__ (Int___mul__ $%__expr_-3819518261003242831 (Int___init__ 3)) $%__expr_-8967796230287329510))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (Int___mul__ $%__expr_-3819518261003242831 (Int___init__ 3)) $%__expr_-8967796230287329510)) 0)
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0))) 0)
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 1))) 0)
(extract (Boolean_to_bool (Int___ge__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 3))) 0)
(extract (Boolean_to_bool (isdtype (NDArray_dtype (asarray (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none ))) (IsDtypeKind___or__ (IsDtypeKind_string "real floating") (IsDtypeKind___or__ (IsDtypeKind_string "complex floating") (IsDtypeKind_NULL ))))) 0)
(extract (Boolean_to_bool (Value_to_bool (NDArray_to_value (isfinite (sum (asarray (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )) $%__expr_-783593948058674373 (OptionalBool_none ) (OptionalDevice_none )) (OptionalIntOrTuple_none )))))) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))))) 0)
(let $%__expr_-1694630773449699795 (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)) $%__expr_-3819518261003242831))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 0)) $%__expr_-3819518261003242831)) 0)
(extract (Boolean_to_bool (Int___eq__ (NDArray_ndim (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) (Int___init__ 2))) 0)
(extract (Boolean_to_bool (Int___lt__ (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831) $%__expr_-3819518261003242831)) 0)
(extract (Int_to_i64 (TupleInt_length (NDArray_shape $%__expr_6720480091233118296))) 0)
(let $%__expr_6180324870865751302 (Int___eq__ (TupleInt___getitem__ (NDArray_shape $%__expr_6720480091233118296) $%__expr_-3819518261003242831) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831)))
(run-schedule (saturate (run combined_ruleset_4774957744)))
(extract (Boolean_to_bool (Int___eq__ (TupleInt___getitem__ (NDArray_shape $%__expr_6720480091233118296) $%__expr_-3819518261003242831) (TupleInt___getitem__ (NDArray_shape (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))) $%__expr_-3819518261003242831))) 0)
(ruleset ruleset_4774953040)
(rewrite (NDArray___eq__ (TupleNDArray___getitem__ (unique_inverse x) $%__expr_-3819518261003242831) (NDArray_scalar (Value_int i))) (NDArray___eq__ x (NDArray_scalar (NDArray_index (unique_values x) (TupleInt_from_vec (vec-of i))))) :subsume :ruleset ruleset_4774953040)
(constructor values-TupleValue_x-NDArray_i-Int__NDArray_to_value__sum__NDArray___eq___x__NDArray_scalar__TupleValue___getitem___values_i_____OptionalIntOrTuple_none____ (TupleValue NDArray Int) Value)
(rewrite (values-TupleValue_x-NDArray_i-Int__NDArray_to_value__sum__NDArray___eq___x__NDArray_scalar__TupleValue___getitem___values_i_____OptionalIntOrTuple_none____ values x i) (NDArray_to_value (sum (NDArray___eq__ x (NDArray_scalar (TupleValue___getitem__ values i))) (OptionalIntOrTuple_none ))) :subsume :ruleset ruleset_4774953040)
(constructor count_values (NDArray TupleValue) TupleValue)
(rewrite (count_values x values) (TupleValue___init__ (TupleValue_length values) (unstable-fn "values-TupleValue_x-NDArray_i-Int__NDArray_to_value__sum__NDArray___eq___x__NDArray_scalar__TupleValue___getitem___values_i_____OptionalIntOrTuple_none____" values x)) :subsume :ruleset ruleset_4774953040)
(rewrite (TupleNDArray___getitem__ (unique_counts x) (Int___init__ 1)) (NDArray_vector (count_values x (NDArray_to_values (unique_values x)))) :subsume :ruleset ruleset_4774953040)
(constructor square (NDArray) NDArray)
(rewrite (std x (OptionalIntOrTuple_some (IntOrTuple_int i))) (ndarray-sqrt (mean (square (NDArray___sub__ x (mean x (OptionalIntOrTuple_some (IntOrTuple_int i)) (Boolean___init__ true)))) (OptionalIntOrTuple_some (IntOrTuple_int i)) $%__expr_-5492753565611138931)) :subsume :ruleset ruleset_4774953040)
(rewrite (mean x (OptionalIntOrTuple_some (IntOrTuple_int i)) $%__expr_-5492753565611138931) (NDArray___truediv__ (sum x (OptionalIntOrTuple_some (IntOrTuple_int i))) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape x) i)))) :subsume :ruleset ruleset_4774953040)
(constructor expand_dims (NDArray Int) NDArray)
(rewrite (mean x (OptionalIntOrTuple_some (IntOrTuple_int i)) (Boolean___init__ true)) (expand_dims (NDArray___truediv__ (sum x (OptionalIntOrTuple_some (IntOrTuple_int i))) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape x) i)))) i) :subsume :ruleset ruleset_4774953040)
(unstable-combined-ruleset combined_ruleset_4774954096 combined_ruleset_4774957744 ruleset_4774953040)
(let $%__expr_-8031376273367010161 (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947))))))
(let $%__expr_7415952403571093742 (svd (NDArray___matmul__ (NDArray_T (NDArray___mul__ (ndarray-sqrt (NDArray___mul__ (NDArray___mul__ (NDArray_scalar (Value_int $%__expr_-965411243548255093)) $%__expr_-8031376273367010161) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "2"))))))) (NDArray_T (NDArray___sub__ $%__expr_7268219828363711414 (NDArray___matmul__ $%__expr_-8031376273367010161 $%__expr_7268219828363711414))))) (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ $%__expr_-6337657961916076199 $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_3000737669146698228) $%__expr_-732844627964303682)))) (NDArray___setitem__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) (IndexKey_ndarray (NDArray___eq__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) (NDArray___getitem__ $%__expr_-7515158789430669490 (IndexKey_slice $%__expr_3000737669146698228)))) $%__expr_-5492753565611138931))
(let $%__expr_1739377561444238594 (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831))
(let $%__expr_-7196716872530625233 (MultiAxisIndexKeyItem_slice $%__expr_3000737669146698228))
(let $%__expr_-9132183529443918859 (TupleNDArray___getitem__ $%__expr_-6337657961916076199 $%__expr_-8967796230287329510))
(let $%__expr_4981416852611516537 (NDArray___setitem__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) (IndexKey_ndarray (NDArray___eq__ (std $%__expr_2568882040843275336 $%__expr_983055127364785721) $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))
(let $%__expr_5084147555985265125 (NDArray___getitem__ $%__expr_-7515158789430669490 (IndexKey_slice $%__expr_3000737669146698228)))
(let $%__expr_-4507268164115239215 (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none ))))
(push)
(let $desugar_simplify_1 (NDArray___getitem__ (NDArray___matmul__ (NDArray___sub__ $%__expr_-218207054133359828 (NDArray___matmul__ (NDArray___truediv__ (astype (TupleNDArray___getitem__ (unique_counts (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of (Value_int (Int___init__ 0)) (Value_int $%__expr_-3819518261003242831) (Value_int (Int___init__ 2)))))) $%__expr_-3819518261003242831) (NDArray_dtype (asarray (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") $%__expr_3312772843316740737) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (OptionalDType_none ) (OptionalBool_none ) (OptionalDevice_none )))) (NDArray_scalar (Value_float (Float___init__ 150.0)))) $%__expr_2111919219348313127)) (NDArray___matmul__ (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ $%__expr_-6337657961916076199 $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_3000737669146698228) $%__expr_-732844627964303682)))) (NDArray___setitem__ $%__expr_-2186208094369825484 (IndexKey_ndarray (NDArray___eq__ $%__expr_-2186208094369825484 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float___init__ 1.0)))))) (NDArray___getitem__ $%__expr_-7515158789430669490 (IndexKey_slice $%__expr_3000737669146698228))) (NDArray___getitem__ (NDArray_T (TupleNDArray___getitem__ $%__expr_7415952403571093742 $%__expr_-8967796230287329510)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some (Value_to_int (NDArray_to_value (sum (astype (NDArray___gt__ (TupleNDArray___getitem__ $%__expr_7415952403571093742 $%__expr_-3819518261003242831) (NDArray___mul__ (NDArray_scalar (Value_float (Float___init__ 0.0001))) (NDArray___getitem__ (TupleNDArray___getitem__ $%__expr_7415952403571093742 $%__expr_-3819518261003242831) (IndexKey_int $%__expr_1515625565982584680)))) (DType_int32 )) (OptionalIntOrTuple_none ))))) $%__expr_-1452170678296599248)))))))) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some $%__expr_-8967796230287329510) $%__expr_-1452170678296599248)))))))
(run-schedule (saturate (run combined_ruleset_4774954096)))
(extract $desugar_simplify_1)
(pop 1)
(pop 1)
(sort IndexKey)
(sort MultiAxisIndexKey)
(constructor IndexKey_multi_axis (MultiAxisIndexKey) IndexKey)
(sort MultiAxisIndexKeyItem)
(sort Vec_MultiAxisIndexKeyItem (Vec MultiAxisIndexKeyItem))
(constructor MultiAxisIndexKey_from_vec (Vec_MultiAxisIndexKeyItem) MultiAxisIndexKey)
(sort Int)
(constructor MultiAxisIndexKeyItem_int (Int) MultiAxisIndexKeyItem)
(constructor Int___init__ (i64) Int)
(sort Slice)
(constructor MultiAxisIndexKeyItem_slice (Slice) MultiAxisIndexKeyItem)
(sort OptionalInt)
(constructor Slice___init__ (OptionalInt OptionalInt OptionalInt) Slice)
(constructor OptionalInt_none () OptionalInt)
(let $%__expr_3960093023086732968 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int (Int___init__ 2)) (MultiAxisIndexKeyItem_slice (Slice___init__ (OptionalInt_none ) (OptionalInt_none ) (OptionalInt_none )))))))
(sort Value)
(constructor Value_int (Int) Value)
(let $%__expr_3177832130128926844 (Value_int (Int___init__ 0)))
(sort NDArray)
(constructor NDArray___getitem__ (NDArray IndexKey) NDArray)
(constructor assume_isfinite (NDArray) NDArray)
(sort TupleInt)
(constructor assume_shape (NDArray TupleInt) NDArray)
(sort DType)
(constructor assume_dtype (NDArray DType) NDArray)
(constructor NDArray_var (String) NDArray :cost 200)
(constructor DType_float64 () DType)
(sort Vec_Int (Vec Int))
(constructor TupleInt_from_vec (Vec_Int) TupleInt)
(constructor IndexKey_ndarray (NDArray) IndexKey)
(constructor NDArray___eq__ (NDArray NDArray) NDArray)
(sort TupleValue)
(constructor assume_value_one_of (NDArray TupleValue) NDArray)
(constructor DType_int64 () DType)
(sort Vec_Value (Vec Value))
(constructor TupleValue_from_vec (Vec_Value) TupleValue)
(constructor NDArray_scalar (Value) NDArray)
(let $%__expr_-4055289162102549798 (NDArray___getitem__ (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") (DType_float64 )) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (IndexKey_ndarray (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_3177832130128926844)))))
(let $%__expr_4960580842698491831 (Value_int (Int___init__ 2)))
(let $%__expr_-8967796230287329510 (Int___init__ 2))
(let $%__expr_-965411243548255093 (Int___init__ 150))
(let $%__expr_-8512717510729445879 (Int___init__ 4))
(let $%__expr_-2999685187327316942 (Value_int (Int___init__ 1)))
(let $%__expr_2472441736055780078 (NDArray___getitem__ (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") (DType_float64 )) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))) (IndexKey_ndarray (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)))))
(let $%__expr_1515625565982584680 (Int___init__ 0))
(let $%__expr_6720480091233118296 (assume_isfinite (assume_shape (assume_dtype (NDArray_var "X") (DType_float64 )) (TupleInt_from_vec (vec-of (Int___init__ 150) (Int___init__ 4))))))
(let $%__expr_-4275348256566137526 (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))))
(let $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ (OptionalInt_none ) (OptionalInt_none ) (OptionalInt_none ))))
(let $%__expr_-3819518261003242831 (Int___init__ 1))
(let $%__expr_3312772843316740737 (DType_float64 ))
(let $%__expr_2487900625561038978 (NDArray___getitem__ $%__expr_6720480091233118296 (IndexKey_ndarray (NDArray___eq__ $%__expr_-4275348256566137526 (NDArray_scalar $%__expr_4960580842698491831)))))
(sort OptionalIntOrTuple)
(sort IntOrTuple)
(constructor OptionalIntOrTuple_some (IntOrTuple) OptionalIntOrTuple)
(constructor IntOrTuple_int (Int) IntOrTuple)
(let $%__expr_983055127364785721 (OptionalIntOrTuple_some (IntOrTuple_int $%__expr_1515625565982584680)))
(constructor NDArray___setitem__ (NDArray IndexKey NDArray) NDArray)
(sort OptionalDType)
(sort OptionalDevice)
(constructor zeros (TupleInt OptionalDType OptionalDevice) NDArray)
(constructor OptionalDType_some (DType) OptionalDType)
(sort Device)
(constructor OptionalDevice_some (Device) OptionalDevice)
(constructor NDArray_device (NDArray) Device)
(constructor NDArray___truediv__ (NDArray NDArray) NDArray)
(constructor sum (NDArray OptionalIntOrTuple) NDArray)
(constructor TupleInt___getitem__ (TupleInt Int) Int)
(constructor NDArray_shape (NDArray) TupleInt)
(let $%__expr_4905588185657853020 (NDArray___setitem__ (NDArray___setitem__ (NDArray___setitem__ (zeros (TupleInt_from_vec (vec-of (Int___init__ 3) $%__expr_-8512717510729445879)) (OptionalDType_some $%__expr_3312772843316740737) (OptionalDevice_some (NDArray_device $%__expr_6720480091233118296))) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_1515625565982584680) $%__expr_-732844627964303682))) (NDArray___truediv__ (sum $%__expr_-4055289162102549798 $%__expr_983055127364785721) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape $%__expr_-4055289162102549798) $%__expr_1515625565982584680))))) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_-3819518261003242831) $%__expr_-732844627964303682))) (NDArray___truediv__ (sum $%__expr_2472441736055780078 $%__expr_983055127364785721) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape $%__expr_2472441736055780078) $%__expr_1515625565982584680))))) $%__expr_3960093023086732968 (NDArray___truediv__ (sum $%__expr_2487900625561038978 $%__expr_983055127364785721) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape $%__expr_2487900625561038978) $%__expr_1515625565982584680))))))
(let $%__expr_7577559097497902125 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_1515625565982584680) $%__expr_-732844627964303682))))
(let $%__expr_2280756757603070330 (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_int $%__expr_-3819518261003242831) $%__expr_-732844627964303682))))
(sort TupleNDArray)
(constructor concat (TupleNDArray OptionalInt) NDArray)
(sort Vec_NDArray (Vec NDArray))
(constructor TupleNDArray_from_vec (Vec_NDArray) TupleNDArray)
(constructor NDArray___sub__ (NDArray NDArray) NDArray)
(constructor OptionalInt_some (Int) OptionalInt)
(let $%__expr_-885499726357552226 (concat (TupleNDArray_from_vec (vec-of (NDArray___sub__ $%__expr_-4055289162102549798 (NDArray___getitem__ $%__expr_4905588185657853020 $%__expr_7577559097497902125)) (NDArray___sub__ $%__expr_2472441736055780078 (NDArray___getitem__ $%__expr_4905588185657853020 $%__expr_2280756757603070330)) (NDArray___sub__ $%__expr_2487900625561038978 (NDArray___getitem__ $%__expr_4905588185657853020 $%__expr_3960093023086732968)))) (OptionalInt_some $%__expr_1515625565982584680)))
(let $%__expr_8168747590964019947 (from-string "1"))
(constructor square (NDArray) NDArray)
(constructor expand_dims (NDArray Int) NDArray)
(let $%__expr_-6878258379032595142 (square (NDArray___sub__ $%__expr_-885499726357552226 (expand_dims (NDArray___truediv__ (sum $%__expr_-885499726357552226 $%__expr_983055127364785721) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape $%__expr_-885499726357552226) $%__expr_1515625565982584680)))) $%__expr_1515625565982584680))))
(let $%__expr_-8271623696788926803 (NDArray_scalar $%__expr_3177832130128926844))
(let $%__expr_-7704953038804002139 (OptionalDType_some $%__expr_3312772843316740737))
(constructor ndarray-sqrt (NDArray) NDArray)
(let $%__expr_-1251134313046779088 (ndarray-sqrt (NDArray___truediv__ (sum $%__expr_-6878258379032595142 $%__expr_983055127364785721) (NDArray_scalar (Value_int (TupleInt___getitem__ (NDArray_shape $%__expr_-6878258379032595142) $%__expr_1515625565982584680))))))
(constructor TupleNDArray___getitem__ (TupleNDArray Int) NDArray)
(sort Boolean)
(constructor svd (NDArray Boolean) TupleNDArray)
(constructor NDArray___mul__ (NDArray NDArray) NDArray)
(sort OptionalBool)
(constructor asarray (NDArray OptionalDType OptionalBool OptionalDevice) NDArray)
(sort Float)
(constructor Value_float (Float) Value)
(constructor Float_rational (BigRat) Float :cost 2)
(constructor OptionalBool_none () OptionalBool)
(constructor OptionalDevice_none () OptionalDevice)
(constructor Boolean___init__ (bool) Boolean)
(let $%__expr_5074646572599255728 (TupleNDArray___getitem__ (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 (OptionalBool_none ) (OptionalDevice_none ))) (NDArray___truediv__ $%__expr_-885499726357552226 (NDArray___setitem__ $%__expr_-1251134313046779088 (IndexKey_ndarray (NDArray___eq__ $%__expr_-1251134313046779088 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) (Boolean___init__ false)) $%__expr_-3819518261003242831))
(let $%__expr_3031226601948441145 (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_3177832130128926844)))
(let $%__expr_2626906736684537088 (NDArray___eq__ $%__expr_-4275348256566137526 (NDArray_scalar $%__expr_4960580842698491831)))
(constructor OptionalIntOrTuple_none () OptionalIntOrTuple)
(let $%__expr_7783735801821713909 (OptionalIntOrTuple_none ))
(let $%__expr_-1452170678296599248 (OptionalInt_none ))
(constructor Value_to_int (Value) Int)
(constructor NDArray_to_value (NDArray) Value)
(constructor astype (NDArray DType) NDArray)
(constructor NDArray___gt__ (NDArray NDArray) NDArray)
(constructor Float___init__ (f64) Float :cost 3)
(constructor DType_int32 () DType)
(let $%__expr_-4136436754667800561 (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some (Value_to_int (NDArray_to_value (sum (astype (NDArray___gt__ $%__expr_5074646572599255728 (NDArray_scalar (Value_float (Float___init__ 0.0001)))) (DType_int32 )) $%__expr_7783735801821713909)))) $%__expr_-1452170678296599248))
(let $%__expr_-4363670705750809665 (NDArray___setitem__ $%__expr_-1251134313046779088 (IndexKey_ndarray (NDArray___eq__ $%__expr_-1251134313046779088 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))
(let $%__expr_-5492753565611138931 (Boolean___init__ false))
(constructor NDArray___matmul__ (NDArray NDArray) NDArray)
(constructor NDArray_T (NDArray) NDArray)
(constructor NDArray_vector (TupleValue) NDArray)
(constructor IndexKey_slice (Slice) IndexKey)
(let $%__expr_951252240580768262 (TupleNDArray___getitem__ (svd (NDArray___matmul__ (NDArray_T (NDArray___mul__ (ndarray-sqrt (NDArray___mul__ (NDArray___mul__ (NDArray_scalar (Value_int $%__expr_-965411243548255093)) (NDArray___truediv__ (astype (NDArray_vector (TupleValue_from_vec (vec-of (NDArray_to_value (sum $%__expr_3031226601948441145 $%__expr_7783735801821713909)) (NDArray_to_value (sum (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)) $%__expr_7783735801821713909)) (NDArray_to_value (sum $%__expr_2626906736684537088 $%__expr_7783735801821713909))))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947)))))) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "2"))))))) (NDArray_T (NDArray___sub__ $%__expr_4905588185657853020 (NDArray___matmul__ (NDArray___truediv__ (astype (NDArray_vector (TupleValue_from_vec (vec-of (NDArray_to_value (sum $%__expr_3031226601948441145 $%__expr_7783735801821713909)) (NDArray_to_value (sum (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)) $%__expr_7783735801821713909)) (NDArray_to_value (sum $%__expr_2626906736684537088 $%__expr_7783735801821713909))))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947))))) $%__expr_4905588185657853020))))) (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 (OptionalBool_none ) (OptionalDevice_none ))) (NDArray___truediv__ $%__expr_-885499726357552226 (NDArray___setitem__ $%__expr_-1251134313046779088 (IndexKey_ndarray (NDArray___eq__ $%__expr_-1251134313046779088 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) (Boolean___init__ false)) $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_-4136436754667800561) $%__expr_-732844627964303682)))) $%__expr_-4363670705750809665)) (NDArray___getitem__ $%__expr_5074646572599255728 (IndexKey_slice $%__expr_-4136436754667800561)))) $%__expr_-5492753565611138931) $%__expr_-3819518261003242831))
(let $%__expr_-4848395256643278075 (NDArray_var "y"))
(let $%__expr_-2743419600569035313 (DType_int32 ))
(let $%__expr_-1085596391076604196 (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)))
(let $%__expr_6466749670865178762 (svd (NDArray___matmul__ (NDArray_T (NDArray___mul__ (ndarray-sqrt (NDArray___mul__ (NDArray___mul__ (NDArray_scalar (Value_int $%__expr_-965411243548255093)) (NDArray___truediv__ (astype (NDArray_vector (TupleValue_from_vec (vec-of (NDArray_to_value (sum $%__expr_3031226601948441145 $%__expr_7783735801821713909)) (NDArray_to_value (sum (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)) $%__expr_7783735801821713909)) (NDArray_to_value (sum $%__expr_2626906736684537088 $%__expr_7783735801821713909))))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947)))))) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "2"))))))) (NDArray_T (NDArray___sub__ $%__expr_4905588185657853020 (NDArray___matmul__ (NDArray___truediv__ (astype (NDArray_vector (TupleValue_from_vec (vec-of (NDArray_to_value (sum $%__expr_3031226601948441145 $%__expr_7783735801821713909)) (NDArray_to_value (sum (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)) $%__expr_7783735801821713909)) (NDArray_to_value (sum $%__expr_2626906736684537088 $%__expr_7783735801821713909))))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947))))) $%__expr_4905588185657853020))))) (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 (OptionalBool_none ) (OptionalDevice_none ))) (NDArray___truediv__ $%__expr_-885499726357552226 (NDArray___setitem__ $%__expr_-1251134313046779088 (IndexKey_ndarray (NDArray___eq__ $%__expr_-1251134313046779088 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) (Boolean___init__ false)) $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_-4136436754667800561) $%__expr_-732844627964303682)))) $%__expr_-4363670705750809665)) (NDArray___getitem__ $%__expr_5074646572599255728 (IndexKey_slice $%__expr_-4136436754667800561)))) $%__expr_-5492753565611138931))
(let $%__expr_3758124421086381772 (NDArray___matmul__ (NDArray___truediv__ (astype (NDArray_vector (TupleValue_from_vec (vec-of (NDArray_to_value (sum $%__expr_3031226601948441145 $%__expr_7783735801821713909)) (NDArray_to_value (sum (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)) $%__expr_7783735801821713909)) (NDArray_to_value (sum $%__expr_2626906736684537088 $%__expr_7783735801821713909))))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947))))) $%__expr_4905588185657853020))
(let $%__expr_7291114401586345010 0)
(let $%__expr_-1054198044662377053 (NDArray___truediv__ (astype (NDArray_vector (TupleValue_from_vec (vec-of (NDArray_to_value (sum $%__expr_3031226601948441145 $%__expr_7783735801821713909)) (NDArray_to_value (sum (NDArray___eq__ (assume_value_one_of (assume_shape (assume_dtype (NDArray_var "y") (DType_int64 )) (TupleInt_from_vec (vec-of (Int___init__ 150)))) (TupleValue_from_vec (vec-of $%__expr_3177832130128926844 (Value_int (Int___init__ 1)) (Value_int (Int___init__ 2))))) (NDArray_scalar $%__expr_-2999685187327316942)) $%__expr_7783735801821713909)) (NDArray_to_value (sum $%__expr_2626906736684537088 $%__expr_7783735801821713909))))) $%__expr_3312772843316740737) (NDArray_scalar (Value_float (Float_rational (bigrat (from-string "150") $%__expr_8168747590964019947))))))
(let $%__expr_9124251980924877179 (NDArray_var "X"))
(let $%__expr_-2811267273407125878 (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 (OptionalBool_none ) (OptionalDevice_none ))) (NDArray___truediv__ $%__expr_-885499726357552226 (NDArray___setitem__ $%__expr_-1251134313046779088 (IndexKey_ndarray (NDArray___eq__ $%__expr_-1251134313046779088 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) (Boolean___init__ false)))
(let $%__expr_-4746212653244667575 (NDArray___truediv__ (NDArray_T (NDArray___truediv__ (NDArray___getitem__ (TupleNDArray___getitem__ (svd (NDArray___mul__ (ndarray-sqrt (asarray (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 (from-string "147"))))) $%__expr_-7704953038804002139 (OptionalBool_none ) (OptionalDevice_none ))) (NDArray___truediv__ $%__expr_-885499726357552226 (NDArray___setitem__ $%__expr_-1251134313046779088 (IndexKey_ndarray (NDArray___eq__ $%__expr_-1251134313046779088 $%__expr_-8271623696788926803)) (NDArray_scalar (Value_float (Float_rational (bigrat $%__expr_8168747590964019947 $%__expr_8168747590964019947))))))) (Boolean___init__ false)) $%__expr_-8967796230287329510) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of (MultiAxisIndexKeyItem_slice $%__expr_-4136436754667800561) $%__expr_-732844627964303682)))) $%__expr_-4363670705750809665)) (NDArray___getitem__ $%__expr_5074646572599255728 (IndexKey_slice $%__expr_-4136436754667800561))))
(sort Program)
(relation Program_compile (Program i64))
(constructor ndarray_function_two_program (NDArray NDArray NDArray) Program)
(constructor IndexKey_int (Int) IndexKey)
(let $%__expr_7479385404919082912 (Program_compile (ndarray_function_two_program (NDArray___getitem__ (NDArray___matmul__ (NDArray___sub__ $%__expr_6720480091233118296 $%__expr_3758124421086381772) (NDArray___matmul__ $%__expr_-4746212653244667575 (NDArray___getitem__ (NDArray_T (TupleNDArray___getitem__ $%__expr_6466749670865178762 $%__expr_-8967796230287329510)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some (Value_to_int (NDArray_to_value (sum (astype (NDArray___gt__ $%__expr_951252240580768262 (NDArray___mul__ (NDArray_scalar (Value_float (Float___init__ 0.0001))) (NDArray___getitem__ $%__expr_951252240580768262 (IndexKey_int $%__expr_1515625565982584680)))) $%__expr_-2743419600569035313) $%__expr_7783735801821713909)))) $%__expr_-1452170678296599248)))))))) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some $%__expr_-8967796230287329510) $%__expr_-1452170678296599248)))))) $%__expr_9124251980924877179 $%__expr_-4848395256643278075) $%__expr_7291114401586345010))
(let $%__expr_6781025800985942292 (NDArray_scalar (Value_float (Float___init__ 0.0001))))
(function Program_statements (Program) String :no-merge)
(let $%__expr_6607193443283949601 (ndarray_function_two_program (NDArray___getitem__ (NDArray___matmul__ (NDArray___sub__ $%__expr_6720480091233118296 $%__expr_3758124421086381772) (NDArray___matmul__ $%__expr_-4746212653244667575 (NDArray___getitem__ (NDArray_T (TupleNDArray___getitem__ $%__expr_6466749670865178762 $%__expr_-8967796230287329510)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some (Value_to_int (NDArray_to_value (sum (astype (NDArray___gt__ $%__expr_951252240580768262 (NDArray___mul__ (NDArray_scalar (Value_float (Float___init__ 0.0001))) (NDArray___getitem__ $%__expr_951252240580768262 (IndexKey_int $%__expr_1515625565982584680)))) $%__expr_-2743419600569035313) $%__expr_7783735801821713909)))) $%__expr_-1452170678296599248)))))))) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some $%__expr_-8967796230287329510) $%__expr_-1452170678296599248)))))) $%__expr_9124251980924877179 $%__expr_-4848395256643278075))
(ruleset array_api_program_gen_ruleset)
(constructor Program___add__ (Program Program) Program)
(constructor value_program (Value) Program)
(constructor Program___init__ (String bool) Program)
(constructor acc-Program_i-Value__Program___add____Program___add___acc__value_program_i____Program___init________false__ (Program Value) Program)
(rewrite (acc-Program_i-Value__Program___add____Program___add___acc__value_program_i____Program___init________false__ acc i) (Program___add__ (Program___add__ acc (value_program i)) (Program___init__ ", " false)) :subsume :ruleset array_api_program_gen_ruleset)
(constructor tuple_value_program (TupleValue) Program)
(sort UnstableFn_Program_Program_Value (UnstableFn (Program Value) Program))
(constructor tuple_value_foldl_program (TupleValue UnstableFn_Program_Program_Value Program) Program)
(rewrite (tuple_value_program x) (Program___add__ (tuple_value_foldl_program x (unstable-fn "acc-Program_i-Value__Program___add____Program___add___acc__value_program_i____Program___init________false__") (Program___init__ "(" false)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Program_function_two (Program Program Program String) Program)
(constructor ndarray_program (NDArray) Program)
(rewrite (ndarray_function_two_program res l r) (Program_function_two (ndarray_program res) (ndarray_program l) (ndarray_program r) "__fn") :ruleset array_api_program_gen_ruleset)
(constructor int_program (Int) Program)
(constructor acc-Program_i-Int__Program___add____Program___add___acc__int_program_i____Program___init________false__ (Program Int) Program)
(rewrite (acc-Program_i-Int__Program___add____Program___add___acc__int_program_i____Program___init________false__ acc i) (Program___add__ (Program___add__ acc (int_program i)) (Program___init__ ", " false)) :subsume :ruleset array_api_program_gen_ruleset)
(constructor tuple_int_program (TupleInt) Program)
(sort UnstableFn_Program_Program_Int (UnstableFn (Program Int) Program))
(constructor tuple_int_foldl_program (TupleInt UnstableFn_Program_Program_Int Program) Program)
(rewrite (tuple_int_program x) (Program___add__ (tuple_int_foldl_program x (unstable-fn "acc-Program_i-Int__Program___add____Program___add___acc__int_program_i____Program___init________false__") (Program___init__ "(" false)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor acc-Program_i-NDArray__Program___add____Program___add___acc__ndarray_program_i____Program___init________false__ (Program NDArray) Program)
(rewrite (acc-Program_i-NDArray__Program___add____Program___add___acc__ndarray_program_i____Program___init________false__ acc i) (Program___add__ (Program___add__ acc (ndarray_program i)) (Program___init__ ", " false)) :subsume :ruleset array_api_program_gen_ruleset)
(constructor tuple_ndarray_program (TupleNDArray) Program)
(sort UnstableFn_Program_Program_NDArray (UnstableFn (Program NDArray) Program))
(constructor tuple_ndarray_foldl_program (TupleNDArray UnstableFn_Program_Program_NDArray Program) Program)
(rewrite (tuple_ndarray_program x) (Program___add__ (tuple_ndarray_foldl_program x (unstable-fn "acc-Program_i-NDArray__Program___add____Program___add___acc__ndarray_program_i____Program___init________false__") (Program___init__ "(" false)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray_var s)) (Program___init__ s true) :ruleset array_api_program_gen_ruleset)
(constructor Program_statement (Program Program) Program :unextractable)
(constructor dtype_program (DType) Program)
(rewrite (ndarray_program (assume_dtype z dtype)) (Program_statement (ndarray_program z) (Program___add__ (Program___add__ (Program___add__ (Program___init__ "assert " false) (ndarray_program z)) (Program___init__ ".dtype == " false)) (dtype_program dtype))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (assume_shape z ti)) (Program_statement (ndarray_program z) (Program___add__ (Program___add__ (Program___add__ (Program___init__ "assert " false) (ndarray_program z)) (Program___init__ ".shape == " false)) (tuple_int_program ti))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (assume_isfinite z)) (Program_statement (ndarray_program z) (Program___add__ (Program___add__ (Program___init__ "assert np.all(np.isfinite(" false) (ndarray_program z)) (Program___init__ "))" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (assume_value_one_of z tv)) (Program_statement (ndarray_program z) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "assert set(np.unique(" false) (ndarray_program z)) (Program___init__ ")) == set(" false)) (tuple_value_program tv)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor reshape (NDArray TupleInt OptionalBool) NDArray)
(constructor Program_assign (Program) Program)
(rewrite (ndarray_program (reshape y ti ob)) (Program_assign (Program___add__ (Program___add__ (Program___add__ (ndarray_program y) (Program___init__ ".reshape(" false)) (tuple_int_program ti)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (astype y dtype)) (Program_assign (Program___add__ (Program___add__ (Program___add__ (ndarray_program y) (Program___init__ ".astype(" false)) (dtype_program dtype)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor unique_counts (NDArray) TupleNDArray)
(rewrite (tuple_ndarray_program (unique_counts x)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.unique(" false) (ndarray_program x)) (Program___init__ ", return_counts=True)" false))) :ruleset array_api_program_gen_ruleset)
(constructor unique_inverse (NDArray) TupleNDArray)
(rewrite (tuple_ndarray_program (unique_inverse x)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.unique(" false) (ndarray_program x)) (Program___init__ ", return_inverse=True)" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (TupleNDArray___getitem__ tnd i)) (Program___add__ (Program___add__ (Program___add__ (tuple_ndarray_program tnd) (Program___init__ "[" false)) (int_program i)) (Program___init__ "]" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray_scalar v)) (Program___add__ (Program___add__ (Program___init__ "np.array(" false) (value_program v)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor OptionalDType_none () OptionalDType)
(rewrite (ndarray_program (zeros ti (OptionalDType_none ) optional_device_)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.zeros(" false) (tuple_int_program ti)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (zeros ti (OptionalDType_some dtype) optional_device_)) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.zeros(" false) (tuple_int_program ti)) (Program___init__ ", dtype=" false)) (dtype_program dtype)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor unique_values (NDArray) NDArray)
(rewrite (ndarray_program (unique_values x)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.unique(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___add__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___add__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " + " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___sub__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " - " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___mul__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " * " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___truediv__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " / " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___lt__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___lt__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " < " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___le__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___le__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " <= " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___gt__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " > " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___ge__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___ge__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " >= " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___eq__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " == " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___matmul__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " @ " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___mod__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___mod__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " % " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___and__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___and__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " & " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___or__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___or__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " | " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___xor__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___xor__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " ^ " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___lshift__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___lshift__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " << " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___rshift__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___rshift__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " >> " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___floordiv__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___floordiv__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " // " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor NDArray___pow__ (NDArray NDArray) NDArray)
(rewrite (ndarray_program (NDArray___pow__ x y)) (Program_assign (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ " ** " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(constructor index_key_program (IndexKey) Program)
(rewrite (ndarray_program (NDArray___setitem__ x idx y)) (Program_statement (Program_assign (ndarray_program x)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program_assign (ndarray_program x)) (Program___init__ "[" false)) (index_key_program idx)) (Program___init__ "] = " false)) (ndarray_program y))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray___getitem__ x idx)) (Program___add__ (Program___add__ (Program___add__ (ndarray_program x) (Program___init__ "[" false)) (index_key_program idx)) (Program___init__ "]" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (square x)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.square(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (expand_dims x i)) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.expand_dims(" false) (ndarray_program x)) (Program___init__ ", " false)) (int_program i)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor mean (NDArray OptionalIntOrTuple Boolean) NDArray)
(rewrite (ndarray_program (mean x $%__expr_7783735801821713909 $%__expr_-5492753565611138931)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.mean(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor int_or_tuple_program (IntOrTuple) Program)
(rewrite (ndarray_program (mean x (OptionalIntOrTuple_some int_or_tuple_) $%__expr_-5492753565611138931)) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.mean(" false) (ndarray_program x)) (Program___init__ ", axis=" false)) (int_or_tuple_program int_or_tuple_)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (mean x (OptionalIntOrTuple_some int_or_tuple_) (Boolean___init__ true))) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.mean(" false) (ndarray_program x)) (Program___init__ ", axis=" false)) (int_or_tuple_program int_or_tuple_)) (Program___init__ ", keepdims=True)" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (concat tnd $%__expr_-1452170678296599248)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.concatenate(" false) (tuple_ndarray_program tnd)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (concat tnd (OptionalInt_some i))) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.concatenate(" false) (tuple_ndarray_program tnd)) (Program___init__ ", axis=" false)) (int_program i)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray_vector tv)) (Program___add__ (Program___add__ (Program___init__ "np.array(" false) (tuple_value_program tv)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor std (NDArray OptionalIntOrTuple) NDArray)
(rewrite (ndarray_program (std x $%__expr_7783735801821713909)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.std(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (std x (OptionalIntOrTuple_some int_or_tuple_))) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.std(" false) (ndarray_program x)) (Program___init__ ", axis=" false)) (int_or_tuple_program int_or_tuple_)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (tuple_ndarray_program (svd x (Boolean___init__ true))) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.linalg.svd(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (tuple_ndarray_program (svd x $%__expr_-5492753565611138931)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.linalg.svd(" false) (ndarray_program x)) (Program___init__ ", full_matrices=False)" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (ndarray-sqrt x)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.sqrt(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (NDArray_T x)) (Program___add__ (ndarray_program x) (Program___init__ ".T" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (sum x $%__expr_7783735801821713909)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.sum(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (sum x (OptionalIntOrTuple_some int_or_tuple_))) (Program_assign (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.sum(" false) (ndarray_program x)) (Program___init__ ", axis=" false)) (int_or_tuple_program int_or_tuple_)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(rewrite (tuple_int_program (NDArray_shape x)) (Program___add__ (ndarray_program x) (Program___init__ ".shape" false)) :ruleset array_api_program_gen_ruleset)
(constructor ndarray-abs (NDArray) NDArray)
(rewrite (ndarray_program (ndarray-abs x)) (Program_assign (Program___add__ (Program___add__ (Program___init__ "np.abs(" false) (ndarray_program x)) (Program___init__ ")" false))) :ruleset array_api_program_gen_ruleset)
(constructor optional_dtype_program (OptionalDType) Program)
(rewrite (ndarray_program (asarray x odtype (OptionalBool_none ) (OptionalDevice_none ))) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "np.asarray(" false) (ndarray_program x)) (Program___init__ ", " false)) (optional_dtype_program odtype)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor optional_int_or_tuple_program (OptionalIntOrTuple) Program)
(rewrite (optional_int_or_tuple_program (OptionalIntOrTuple_some it)) (int_or_tuple_program it) :ruleset array_api_program_gen_ruleset)
(rewrite (optional_int_or_tuple_program $%__expr_7783735801821713909) (Program___init__ "None" false) :ruleset array_api_program_gen_ruleset)
(rewrite (int_or_tuple_program (IntOrTuple_int x)) (int_program x) :ruleset array_api_program_gen_ruleset)
(constructor IntOrTuple_tuple (TupleInt) IntOrTuple)
(rewrite (int_or_tuple_program (IntOrTuple_tuple t)) (tuple_int_program t) :ruleset array_api_program_gen_ruleset)
(constructor IndexKey_ELLIPSIS () IndexKey)
(rewrite (index_key_program (IndexKey_ELLIPSIS )) (Program___init__ "..." false) :ruleset array_api_program_gen_ruleset)
(rewrite (index_key_program (IndexKey_int i)) (int_program i) :ruleset array_api_program_gen_ruleset)
(constructor slice_program (Slice) Program)
(rewrite (index_key_program (IndexKey_slice s)) (slice_program s) :ruleset array_api_program_gen_ruleset)
(constructor multi_axis_index_key_program (MultiAxisIndexKey) Program)
(rewrite (index_key_program (IndexKey_multi_axis key)) (multi_axis_index_key_program key) :ruleset array_api_program_gen_ruleset)
(rewrite (index_key_program (IndexKey_ndarray a)) (ndarray_program a) :ruleset array_api_program_gen_ruleset)
(sort UnstableFn_MultiAxisIndexKeyItem_Int (UnstableFn (Int ) MultiAxisIndexKeyItem))
(constructor Int___add__ (Int Int) Int)
(constructor idx_fn-UnstableFn_MultiAxisIndexKeyItem_Int_i-Int__unstable-app_idx_fn__Int___add___i_%__expr_-3819518261003242831__ (UnstableFn_MultiAxisIndexKeyItem_Int Int) MultiAxisIndexKeyItem)
(rewrite (idx_fn-UnstableFn_MultiAxisIndexKeyItem_Int_i-Int__unstable-app_idx_fn__Int___add___i_%__expr_-3819518261003242831__ idx_fn i) (unstable-app idx_fn (Int___add__ i $%__expr_-3819518261003242831)) :subsume :ruleset array_api_program_gen_ruleset)
(constructor MultiAxisIndexKey___init__ (Int UnstableFn_MultiAxisIndexKeyItem_Int) MultiAxisIndexKey)
(rewrite (multi_axis_index_key_program (MultiAxisIndexKey___init__ $%__expr_1515625565982584680 idx_fn)) (Program___init__ "" false) :ruleset array_api_program_gen_ruleset)
(constructor multi_axis_index_key_item_program (MultiAxisIndexKeyItem) Program)
(rewrite (multi_axis_index_key_program (MultiAxisIndexKey___init__ (Int___init__ k) idx_fn)) (Program___add__ (Program___add__ (multi_axis_index_key_item_program (unstable-app idx_fn $%__expr_1515625565982584680)) (Program___init__ ", " false)) (multi_axis_index_key_program (MultiAxisIndexKey___init__ (Int___init__ (- k 1)) (unstable-fn "idx_fn-UnstableFn_MultiAxisIndexKeyItem_Int_i-Int__unstable-app_idx_fn__Int___add___i_%__expr_-3819518261003242831__" idx_fn)))) :when ((!= k $%__expr_7291114401586345010)) :ruleset array_api_program_gen_ruleset)
(rewrite (multi_axis_index_key_program (MultiAxisIndexKey_from_vec (vec-of ))) (Program___init__ "" false) :ruleset array_api_program_gen_ruleset)
(rewrite (multi_axis_index_key_program (MultiAxisIndexKey_from_vec vec)) (Program___add__ (multi_axis_index_key_item_program (vec-get vec $%__expr_7291114401586345010)) (Program___init__ "," false)) :when ((= (vec-length vec) 1)) :ruleset array_api_program_gen_ruleset)
(rewrite (multi_axis_index_key_program (MultiAxisIndexKey_from_vec vec)) (Program___add__ (Program___add__ (multi_axis_index_key_item_program (vec-get vec $%__expr_7291114401586345010)) (Program___init__ ", " false)) (multi_axis_index_key_program (MultiAxisIndexKey_from_vec (vec-remove vec $%__expr_7291114401586345010)))) :when ((> (vec-length vec) 1)) :ruleset array_api_program_gen_ruleset)
(rewrite (multi_axis_index_key_item_program (MultiAxisIndexKeyItem_int i)) (int_program i) :ruleset array_api_program_gen_ruleset)
(rewrite (multi_axis_index_key_item_program (MultiAxisIndexKeyItem_slice s)) (slice_program s) :ruleset array_api_program_gen_ruleset)
(constructor MultiAxisIndexKeyItem_ELLIPSIS () MultiAxisIndexKeyItem)
(rewrite (multi_axis_index_key_item_program (MultiAxisIndexKeyItem_ELLIPSIS )) (Program___init__ "..." false) :ruleset array_api_program_gen_ruleset)
(constructor MultiAxisIndexKeyItem_NONE () MultiAxisIndexKeyItem)
(rewrite (multi_axis_index_key_item_program (MultiAxisIndexKeyItem_NONE )) (Program___init__ "None" false) :ruleset array_api_program_gen_ruleset)
(constructor optional_int_slice_program (OptionalInt) Program)
(rewrite (slice_program (Slice___init__ start stop $%__expr_-1452170678296599248)) (Program___add__ (Program___add__ (optional_int_slice_program start) (Program___init__ ":" false)) (optional_int_slice_program stop)) :ruleset array_api_program_gen_ruleset)
(rewrite (slice_program (Slice___init__ start stop (OptionalInt_some i))) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (optional_int_slice_program start) (Program___init__ ":" false)) (optional_int_slice_program stop)) (Program___init__ ":" false)) (int_program i)) :ruleset array_api_program_gen_ruleset)
(rewrite (optional_int_slice_program $%__expr_-1452170678296599248) (Program___init__ "" false) :ruleset array_api_program_gen_ruleset)
(rewrite (optional_int_slice_program (OptionalInt_some x)) (int_program x) :ruleset array_api_program_gen_ruleset)
(constructor optional_int_program (OptionalInt) Program)
(rewrite (optional_int_program $%__expr_-1452170678296599248) (Program___init__ "None" false) :ruleset array_api_program_gen_ruleset)
(rewrite (optional_int_program (OptionalInt_some x)) (int_program x) :ruleset array_api_program_gen_ruleset)
(rewrite (optional_dtype_program (OptionalDType_none )) (Program___init__ "None" false) :ruleset array_api_program_gen_ruleset)
(rewrite (optional_dtype_program (OptionalDType_some dtype)) (dtype_program dtype) :ruleset array_api_program_gen_ruleset)
(rewrite (ndarray_program (TupleNDArray___getitem__ ti i)) (Program___add__ (Program___add__ (Program___add__ (tuple_ndarray_program ti) (Program___init__ "[" false)) (int_program i)) (Program___init__ "]" false)) :ruleset array_api_program_gen_ruleset)
(constructor TupleNDArray_length (TupleNDArray) Int)
(rewrite (int_program (TupleNDArray_length ti)) (Program___add__ (Program___add__ (Program___init__ "len(" false) (tuple_ndarray_program ti)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor TupleNDArray_EMPTY () TupleNDArray)
(rewrite (tuple_ndarray_foldl_program (TupleNDArray_EMPTY ) f init) init :ruleset array_api_program_gen_ruleset)
(constructor TupleNDArray_append (TupleNDArray NDArray) TupleNDArray)
(rewrite (tuple_ndarray_foldl_program (TupleNDArray_append ti v) f init) (unstable-app f (tuple_ndarray_foldl_program ti f init) v) :ruleset array_api_program_gen_ruleset)
(constructor TupleValue___getitem__ (TupleValue Int) Value)
(rewrite (value_program (TupleValue___getitem__ ti i)) (Program___add__ (Program___add__ (Program___add__ (tuple_value_program ti) (Program___init__ "[" false)) (int_program i)) (Program___init__ "]" false)) :ruleset array_api_program_gen_ruleset)
(constructor TupleValue_length (TupleValue) Int)
(rewrite (int_program (TupleValue_length ti)) (Program___add__ (Program___add__ (Program___init__ "len(" false) (tuple_value_program ti)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor TupleValue_EMPTY () TupleValue)
(rewrite (tuple_value_foldl_program (TupleValue_EMPTY ) f init) init :ruleset array_api_program_gen_ruleset)
(constructor TupleValue_append (TupleValue Value) TupleValue)
(rewrite (tuple_value_foldl_program (TupleValue_append ti v) f init) (unstable-app f (tuple_value_foldl_program ti f init) v) :ruleset array_api_program_gen_ruleset)
(rewrite (value_program (Value_int i)) (int_program i) :ruleset array_api_program_gen_ruleset)
(constructor Value_bool (Boolean) Value)
(constructor bool_program (Boolean) Program)
(rewrite (value_program (Value_bool b)) (bool_program b) :ruleset array_api_program_gen_ruleset)
(constructor float_program (Float) Program)
(rewrite (value_program (Value_float f)) (float_program f) :ruleset array_api_program_gen_ruleset)
(rewrite (value_program (NDArray_to_value x)) (ndarray_program x) :ruleset array_api_program_gen_ruleset)
(constructor Value___lt__ (Value Value) Value)
(rewrite (value_program (Value___lt__ v1 v2)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (value_program v1)) (Program___init__ " < " false)) (value_program v2)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Value___truediv__ (Value Value) Value)
(rewrite (value_program (Value___truediv__ v1 v2)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (value_program v1)) (Program___init__ " / " false)) (value_program v2)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Value___add__ (Value Value) Value)
(rewrite (value_program (Value___add__ v1 v2)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (value_program v1)) (Program___init__ " + " false)) (value_program v2)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Value___mul__ (Value Value) Value)
(rewrite (value_program (Value___mul__ v1 v2)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (value_program v1)) (Program___init__ " * " false)) (value_program v2)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Value_to_bool (Value) Boolean)
(rewrite (bool_program (Value_to_bool v1)) (value_program v1) :ruleset array_api_program_gen_ruleset)
(rewrite (int_program (Value_to_int v1)) (value_program v1) :ruleset array_api_program_gen_ruleset)
(constructor NDArray_index (NDArray TupleInt) Value)
(rewrite (value_program (NDArray_index xs ti)) (Program_assign (Program___add__ (Program___add__ (Program___add__ (ndarray_program xs) (Program___init__ "[" false)) (tuple_int_program ti)) (Program___init__ "]" false))) :ruleset array_api_program_gen_ruleset)
(constructor Value_sqrt (Value) Value)
(rewrite (value_program (Value_sqrt v1)) (Program___add__ (Program___add__ (Program___init__ "np.sqrt(" false) (value_program v1)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Value_real (Value) Value)
(rewrite (value_program (Value_real v1)) (Program___add__ (Program___add__ (Program___init__ "np.real(" false) (value_program v1)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Value_conj (Value) Value)
(rewrite (value_program (Value_conj v1)) (Program___add__ (Program___add__ (Program___init__ "np.conj(" false) (value_program v1)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (float_program (Float___init__ f64_)) (Program___init__ (to-string f64_) false) :ruleset array_api_program_gen_ruleset)
(constructor Float_abs (Float) Float)
(rewrite (float_program (Float_abs f)) (Program___add__ (Program___add__ (Program___init__ "np.abs(" false) (float_program f)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Float_from_int (Int) Float)
(rewrite (float_program (Float_from_int i)) (int_program i) :ruleset array_api_program_gen_ruleset)
(constructor Float___add__ (Float Float) Float)
(rewrite (float_program (Float___add__ f g)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (float_program f)) (Program___init__ " + " false)) (float_program g)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Float___sub__ (Float Float) Float)
(rewrite (float_program (Float___sub__ f g)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (float_program f)) (Program___init__ " - " false)) (float_program g)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Float___mul__ (Float Float) Float)
(rewrite (float_program (Float___mul__ f g)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (float_program f)) (Program___init__ " * " false)) (float_program g)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Float___truediv__ (Float Float) Float)
(rewrite (float_program (Float___truediv__ f g)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (float_program f)) (Program___init__ " / " false)) (float_program g)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (float_program (Float_rational r)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "float(" false) (Program___init__ (to-string (numer r)) false)) (Program___init__ " / " false)) (Program___init__ (to-string (denom r)) false)) (Program___init__ ")" false)) :when ((!= (denom r) (bigint 1))) :ruleset array_api_program_gen_ruleset)
(rewrite (float_program (Float_rational r)) (Program___add__ (Program___add__ (Program___init__ "float(" false) (Program___init__ (to-string (numer r)) false)) (Program___init__ ")" false)) :when ((= (denom r) (bigint 1))) :ruleset array_api_program_gen_ruleset)
(rewrite (dtype_program $%__expr_3312772843316740737) (Program___init__ "np.dtype(np.float64)" false) :ruleset array_api_program_gen_ruleset)
(constructor DType_float32 () DType)
(rewrite (dtype_program (DType_float32 )) (Program___init__ "np.dtype(np.float32)" false) :ruleset array_api_program_gen_ruleset)
(rewrite (dtype_program (DType_int64 )) (Program___init__ "np.dtype(np.int64)" false) :ruleset array_api_program_gen_ruleset)
(rewrite (dtype_program $%__expr_-2743419600569035313) (Program___init__ "np.dtype(np.int32)" false) :ruleset array_api_program_gen_ruleset)
(constructor DType_bool () DType)
(rewrite (dtype_program (DType_bool )) (Program___init__ "np.dtype(np.bool)" false) :ruleset array_api_program_gen_ruleset)
(constructor DType_object () DType)
(rewrite (dtype_program (DType_object )) (Program___init__ "np.dtype(np.object_)" false) :ruleset array_api_program_gen_ruleset)
(rewrite (int_program (TupleInt___getitem__ ti i)) (Program___add__ (Program___add__ (Program___add__ (tuple_int_program ti) (Program___init__ "[" false)) (int_program i)) (Program___init__ "]" false)) :ruleset array_api_program_gen_ruleset)
(constructor TupleInt_length (TupleInt) Int)
(rewrite (int_program (TupleInt_length ti)) (Program___add__ (Program___add__ (Program___init__ "len(" false) (tuple_int_program ti)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor TupleInt_EMPTY () TupleInt)
(rewrite (tuple_int_foldl_program (TupleInt_EMPTY ) f init) init :ruleset array_api_program_gen_ruleset)
(constructor TupleInt_append (TupleInt Int) TupleInt)
(rewrite (tuple_int_foldl_program (TupleInt_append ti i) f init) (unstable-app f (tuple_int_foldl_program ti f init) i) :ruleset array_api_program_gen_ruleset)
(constructor TupleInt___add__ (TupleInt TupleInt) TupleInt)
(rewrite (tuple_int_program (TupleInt___add__ ti ti2)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (tuple_int_program ti)) (Program___init__ " + " false)) (tuple_int_program ti2)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int_var (String) Int)
(rewrite (int_program (Int_var s)) (Program___init__ s true) :ruleset array_api_program_gen_ruleset)
(rewrite (int_program (Int___init__ i64_)) (Program___init__ (to-string i64_) false) :ruleset array_api_program_gen_ruleset)
(constructor Int___invert__ (Int) Int)
(rewrite (int_program (Int___invert__ i)) (Program___add__ (Program___init__ "~" false) (int_program i)) :ruleset array_api_program_gen_ruleset)
(constructor Int___lt__ (Int Int) Boolean)
(rewrite (bool_program (Int___lt__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " < " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___le__ (Int Int) Boolean)
(rewrite (bool_program (Int___le__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " <= " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___gt__ (Int Int) Boolean)
(rewrite (bool_program (Int___gt__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " > " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___ge__ (Int Int) Boolean)
(rewrite (bool_program (Int___ge__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " >= " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___eq__ (Int Int) Boolean)
(rewrite (bool_program (Int___eq__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " == " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (int_program (Int___add__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " + " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___sub__ (Int Int) Int)
(rewrite (int_program (Int___sub__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " - " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___mul__ (Int Int) Int)
(rewrite (int_program (Int___mul__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " * " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___truediv__ (Int Int) Int)
(rewrite (int_program (Int___truediv__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " / " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___mod__ (Int Int) Int)
(rewrite (int_program (Int___mod__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " % " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___pow__ (Int Int) Int)
(rewrite (int_program (Int___pow__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " ** " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___and__ (Int Int) Int)
(rewrite (int_program (Int___and__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " & " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___or__ (Int Int) Int)
(rewrite (int_program (Int___or__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " | " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___xor__ (Int Int) Int)
(rewrite (int_program (Int___xor__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " ^ " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___lshift__ (Int Int) Int)
(rewrite (int_program (Int___lshift__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " << " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___rshift__ (Int Int) Int)
(rewrite (int_program (Int___rshift__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " >> " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(constructor Int___floordiv__ (Int Int) Int)
(rewrite (int_program (Int___floordiv__ i j)) (Program___add__ (Program___add__ (Program___add__ (Program___add__ (Program___init__ "(" false) (int_program i)) (Program___init__ " // " false)) (int_program j)) (Program___init__ ")" false)) :ruleset array_api_program_gen_ruleset)
(rewrite (bool_program (Boolean___init__ true)) (Program___init__ "True" false) :ruleset array_api_program_gen_ruleset)
(rewrite (bool_program $%__expr_-5492753565611138931) (Program___init__ "False" false) :ruleset array_api_program_gen_ruleset)
(ruleset program_gen_ruleset)
(function Program_expr (Program) String :no-merge)
(function Program_next_sym (Program) i64 :no-merge)
(function Program_is_identifer (Program) bool :no-merge)
(rule ((= p (Program___init__ s b))
(Program_compile p i))
((set (Program_expr p) s)
(set (Program_statements p) "")
(set (Program_next_sym p) i)
(set (Program_is_identifer p) b))
:ruleset program_gen_ruleset )
(constructor Program_expr_to_statement (Program) Program)
(rewrite (Program_statement p1 p2) (Program___add__ p1 (Program_expr_to_statement p2)) :ruleset program_gen_ruleset)
(function Program_parent (Program) Program :merge old)
(rule ((= p (Program_expr_to_statement p1))
(Program_compile p i))
((set (Program_parent p1) p)
(set (Program_is_identifer p) false))
:ruleset program_gen_ruleset )
(rule ((= p (Program_expr_to_statement p1))
(Program_compile p i)
(= (Program_parent p1) p))
((Program_compile p1 i))
:ruleset program_gen_ruleset )
(rule ((= p (Program_expr_to_statement p1))
(Program_compile p i)
(!= (Program_parent p1) p)
(= s1 (Program_expr p1)))
((set (Program_statements p) (+ s1 "
"))
(set (Program_next_sym p) i)
(set (Program_expr p) ""))
:ruleset program_gen_ruleset )
(rule ((= p (Program_expr_to_statement p1))
(= (Program_parent p1) p)
(= s1 (Program_expr p1))
(= s2 (Program_statements p1))
(= i (Program_next_sym p1)))
((set (Program_statements p) (+ s2 s1 "
"))
(set (Program_next_sym p) i)
(set (Program_expr p) ""))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(= (Program_expr p) (Program_expr p1))
(= b (Program_is_identifer p1)))
((set (Program_is_identifer p) b))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(= (Program_expr p) (Program_expr p2))
(= b (Program_is_identifer p2)))
((set (Program_is_identifer p) b))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(!= (Program_expr p) (Program_expr p1))
(!= (Program_expr p) (Program_expr p2)))
((set (Program_is_identifer p) false))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(Program_compile p i))
((set (Program_parent p1) p))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(Program_compile p i)
(= (Program_parent p1) p))
((Program_compile p1 i))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(Program_compile p i)
(Program_next_sym p1))
((set (Program_parent p2) p))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(Program_compile p i)
(!= (Program_parent p1) p)
(= (Program_parent p2) p))
((Program_compile p2 i))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(Program_compile p i2)
(= (Program_parent p1) p)
(= i (Program_next_sym p1))
(= (Program_parent p2) p))
((Program_compile p2 i))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(= s1 (Program_expr p1))
(= s2 (Program_expr p2)))
((set (Program_expr p) (+ s1 s2)))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(= (Program_parent p1) p)
(= (Program_parent p2) p)
(= s1 (Program_statements p1))
(= s2 (Program_statements p2))
(= i (Program_next_sym p2)))
((set (Program_statements p) (+ s1 s2))
(set (Program_next_sym p) i))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(Program_compile p i)
(!= (Program_parent p1) p)
(!= (Program_parent p2) p))
((set (Program_statements p) "")
(set (Program_next_sym p) i))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(= (Program_parent p1) p)
(!= (Program_parent p2) p)
(= s1 (Program_statements p1))
(= i (Program_next_sym p1)))
((set (Program_statements p) s1)
(set (Program_next_sym p) i))
:ruleset program_gen_ruleset )
(rule ((= p (Program___add__ p1 p2))
(= (Program_parent p2) p)
(!= (Program_parent p1) p)
(= s2 (Program_statements p2))
(= i (Program_next_sym p2)))
((set (Program_statements p) s2)
(set (Program_next_sym p) i))
:ruleset program_gen_ruleset )
(rule ((= p (Program_assign p1))
(Program_compile p i))
((set (Program_parent p1) p)
(set (Program_is_identifer p) true))
:ruleset program_gen_ruleset )
(rule ((= p (Program_assign p1))
(Program_compile p i)
(= (Program_parent p1) p))
((Program_compile p1 i))
:ruleset program_gen_ruleset )
(rule ((= p (Program_assign p1))
(= (Program_parent p1) p)
(= s1 (Program_statements p1))
(= i (Program_next_sym p1))
(= s2 (Program_expr p1))
(= (Program_is_identifer p1) false))
((set (Program_statements p) (+ s1 (+ "_" (to-string i)) " = " s2 "
"))
(set (Program_expr p) (+ "_" (to-string i)))
(set (Program_next_sym p) (+ i 1)))
:ruleset program_gen_ruleset )
(rule ((= p (Program_assign p1))
(!= (Program_parent p1) p)
(Program_compile p i)
(= s2 (Program_expr p1))
(= (Program_is_identifer p1) false))
((set (Program_statements p) (+ (+ "_" (to-string i)) " = " s2 "
"))
(set (Program_expr p) (+ "_" (to-string i)))
(set (Program_next_sym p) (+ i 1)))
:ruleset program_gen_ruleset )
(rule ((= p (Program_assign p1))
(= (Program_parent p1) p)
(= s1 (Program_statements p1))
(= i (Program_next_sym p1))
(= s2 (Program_expr p1))
(= (Program_is_identifer p1) true))
((set (Program_statements p) s1)
(set (Program_expr p) s2)
(set (Program_next_sym p) i))
:ruleset program_gen_ruleset )
(rule ((= p (Program_assign p1))
(!= (Program_parent p1) p)
(Program_compile p i)
(= s2 (Program_expr p1))
(= (Program_is_identifer p1) true))
((set (Program_statements p) "")
(set (Program_expr p) s2)
(set (Program_next_sym p) i))
:ruleset program_gen_ruleset )
(rule ((= p (Program_function_two p1 p2 p3 s1))
(Program_compile p i))
((set (Program_parent p2) p)
(set (Program_parent p3) p)
(set (Program_parent p1) p)
(Program_compile p2 i)
(Program_compile p3 i)
(Program_compile p1 i)
(set (Program_is_identifer p) true))
:ruleset program_gen_ruleset )
(rule ((= p (Program_function_two p1 p2 p3 s1))
(Program_compile p i)
(= s2 (Program_expr p1))
(= s3 (Program_statements p1))
(= s4 (Program_expr p2))
(= s5 (Program_expr p3)))
((set (Program_statements p) (+ "def " s1 "(" s4 ", " s5 "):
" (replace s3 "
" "
") "return " s2 "
"))
(set (Program_next_sym p) i)
(set (Program_expr p) s1))
:ruleset program_gen_ruleset )
(constructor Program_function_three (Program Program Program Program String) Program)
(rule ((= p (Program_function_three p1 p2 p3 p4 s1))
(Program_compile p i))
((set (Program_parent p2) p)
(set (Program_parent p3) p)
(set (Program_parent p1) p)
(set (Program_parent p4) p)
(Program_compile p2 i)
(Program_compile p3 i)
(Program_compile p1 i)
(Program_compile p4 i)
(set (Program_is_identifer p) true))
:ruleset program_gen_ruleset )
(rule ((= p (Program_function_three p1 p2 p3 p4 s1))
(Program_compile p i)
(= s2 (Program_expr p1))
(= s3 (Program_statements p1))
(= s4 (Program_expr p2))
(= s5 (Program_expr p3))
(= s6 (Program_expr p4)))
((set (Program_statements p) (+ "def " s1 "(" s4 ", " s5 ", " s6 "):
" (replace s3 "
" "
") "return " s2 "
"))
(set (Program_next_sym p) i)
(set (Program_expr p) s1))
:ruleset program_gen_ruleset )
(unstable-combined-ruleset combined_ruleset_4774917760 array_api_program_gen_ruleset program_gen_ruleset)
(ruleset array_api_program_gen_eval_ruleset)
(unstable-combined-ruleset combined_ruleset_4774912336 combined_ruleset_4774917760 array_api_program_gen_eval_ruleset)
(ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleInt_from_vec vs) (TupleInt_EMPTY ) :when ((= (vec-length vs) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleInt_from_vec vs) (TupleInt_append (TupleInt_from_vec (vec-remove vs (- (vec-length vs) 1))) (vec-get vs (- (vec-length vs) 1))) :when ((!= (vec-length vs) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleValue_from_vec vv) (TupleValue_EMPTY ) :when ((= (vec-length vv) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleValue_from_vec vv) (TupleValue_append (TupleValue_from_vec (vec-remove vv (- (vec-length vv) 1))) (vec-get vv (- (vec-length vv) 1))) :when ((!= (vec-length vv) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(sort TupleTupleInt)
(sort Vec_TupleInt (Vec TupleInt))
(constructor TupleTupleInt_from_vec (Vec_TupleInt) TupleTupleInt)
(constructor TupleTupleInt_EMPTY () TupleTupleInt)
(rewrite (TupleTupleInt_from_vec vt) (TupleTupleInt_EMPTY ) :when ((= (vec-length vt) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(constructor TupleTupleInt_append (TupleTupleInt TupleInt) TupleTupleInt)
(rewrite (TupleTupleInt_from_vec vt) (TupleTupleInt_append (TupleTupleInt_from_vec (vec-remove vt (- (vec-length vt) 1))) (vec-get vt (- (vec-length vt) 1))) :when ((!= (vec-length vt) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleNDArray_from_vec vn) (TupleNDArray_EMPTY ) :when ((= (vec-length vn) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(rewrite (TupleNDArray_from_vec vn) (TupleNDArray_append (TupleNDArray_from_vec (vec-remove vn (- (vec-length vn) 1))) (vec-get vn (- (vec-length vn) 1))) :when ((!= (vec-length vn) $%__expr_7291114401586345010)) :ruleset array_api_vec_to_cons_ruleset)
(unstable-combined-ruleset combined_ruleset_4774912912 combined_ruleset_4774912336 array_api_vec_to_cons_ruleset)
(run-schedule (saturate (run combined_ruleset_4774912912)))
(extract (Program_statements (ndarray_function_two_program (NDArray___getitem__ (NDArray___matmul__ (NDArray___sub__ $%__expr_6720480091233118296 $%__expr_3758124421086381772) (NDArray___matmul__ $%__expr_-4746212653244667575 (NDArray___getitem__ (NDArray_T (TupleNDArray___getitem__ $%__expr_6466749670865178762 $%__expr_-8967796230287329510)) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some (Value_to_int (NDArray_to_value (sum (astype (NDArray___gt__ $%__expr_951252240580768262 (NDArray___mul__ (NDArray_scalar (Value_float (Float___init__ 0.0001))) (NDArray___getitem__ $%__expr_951252240580768262 (IndexKey_int $%__expr_1515625565982584680)))) $%__expr_-2743419600569035313) $%__expr_7783735801821713909)))) $%__expr_-1452170678296599248)))))))) (IndexKey_multi_axis (MultiAxisIndexKey_from_vec (vec-of $%__expr_-732844627964303682 (MultiAxisIndexKeyItem_slice (Slice___init__ $%__expr_-1452170678296599248 (OptionalInt_some $%__expr_-8967796230287329510) $%__expr_-1452170678296599248)))))) $%__expr_9124251980924877179 $%__expr_-4848395256643278075)) 0)