// // Generated Eggplant Rust Code
// // Source files referenced in comments below
// use eggplant::{{prelude::*, tx_rx_vt_pr}};
// use log::info;
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:4
// // Datatype 'Int' defined with variants:
// // - cast_Callable__Int__Int___Int___lambda_i_____i_: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:4)
// // - Int___init__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:9)
// // - cast_Callable__Int___Int___lambda_i__i_: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:11)
// // - index_vec_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:17)
// // - cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i___self_length____self_i___other_i___self_length_____: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:19)
// // - Int_if_: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:21)
// // - TupleInt_length: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:23)
// // - TupleInt___getitem__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:24)
// // - Int___sub__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:25)
// // - Int___add__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:28)
// // - NDArray_size: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:38)
// // - Int___mul__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:40)
// // - TupleNDArray_length: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:126)
// // - NDArray_ndim: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:148)
// // - Value_to_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:189)
// // - cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i___Int_1___: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:245)
// // - bottom_indexing: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:254)
// // - Int___truediv__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:281)
// // - Int___mod__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:283)
// // - Int___and__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:285)
// // - Int___or__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:287)
// // - Int___xor__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:289)
// // - Int___lshift__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:291)
// // - Int___rshift__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:293)
// // - Int___invert__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:295)
// // - Boolean_if_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:306)
// #[eggplant::dsl]
// enum Int {
// cast_Callable__Int__Int___Int___lambda_i_____i_ {
// arg0: Int,
// arg1: Int,
// },
// Int___init__ {
// arg0: i64,
// },
// cast_Callable__Int___Int___lambda_i__i_ {
// arg0: Int,
// },
// index_vec_int {
// arg0: Vec_Int,
// arg1: Int,
// },
// cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i___self_length____self_i___other_i___self_length_____ {
// arg0: TupleInt,
// arg1: TupleInt,
// arg2: Int,
// },
// Int_if_ {
// arg0: Boolean,
// arg1: Int,
// arg2: Int,
// },
// TupleInt_length {
// arg0: TupleInt,
// },
// TupleInt___getitem__ {
// arg0: TupleInt,
// arg1: Int,
// },
// Int___sub__ {
// arg0: Int,
// arg1: Int,
// },
// Int___add__ {
// arg0: Int,
// arg1: Int,
// },
// NDArray_size {
// arg0: NDArray,
// },
// Int___mul__ {
// arg0: Int,
// arg1: Int,
// },
// TupleNDArray_length {
// arg0: TupleNDArray,
// },
// NDArray_ndim {
// arg0: NDArray,
// },
// Value_to_int {
// arg0: Value,
// },
// cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i___Int_1___ {
// arg0: UnstableFn_Int_Int,
// arg1: Int,
// },
// bottom_indexing {
// arg0: Int,
// },
// Int___truediv__ {
// arg0: Int,
// arg1: Int,
// },
// Int___mod__ {
// arg0: Int,
// arg1: Int,
// },
// Int___and__ {
// arg0: Int,
// arg1: Int,
// },
// Int___or__ {
// arg0: Int,
// arg1: Int,
// },
// Int___xor__ {
// arg0: Int,
// arg1: Int,
// },
// Int___lshift__ {
// arg0: Int,
// arg1: Int,
// },
// Int___rshift__ {
// arg0: Int,
// arg1: Int,
// },
// Int___invert__ {
// arg0: Int,
// },
// Boolean_if_int {
// arg0: Boolean,
// arg1: Int,
// arg2: Int,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:6
// // Pattern variables for rule matching
// // Variables: __var__i, __var___, cast_callable_int_int_int_lambda_i_i_node1
// #[eggplant::pat_vars]
// struct rule_6Pat {
// __var__i: Int,
// __var___: Int,
// cast_callable_int_int_int_lambda_i_i_node1: cast_Callable__Int__Int___Int___lambda_i_____i_,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:7
// // Datatype 'TupleInt' defined with variants:
// // - TupleInt_single: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:7)
// // - TupleInt_range: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:13)
// // - TupleInt_from_vec: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:16)
// // - TupleInt___add__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:27)
// // - NDArray_shape: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:39)
// // - ALL_INDICES: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:48)
// // - TupleInt_EMPTY: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:96)
// // - broadcast_index: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:106)
// // - broadcast_shapes: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:107)
// #[eggplant::dsl]
// enum TupleInt {
// TupleInt_single {
// arg0: Int,
// },
// TupleInt_range {
// arg0: Int,
// },
// TupleInt_from_vec {
// arg0: Vec_Int,
// },
// TupleInt___add__ {
// arg0: TupleInt,
// arg1: TupleInt,
// },
// NDArray_shape {
// arg0: NDArray,
// },
// ALL_INDICES {},
// TupleInt_EMPTY {},
// broadcast_index {
// arg0: TupleInt,
// arg1: TupleInt,
// arg2: TupleInt,
// },
// broadcast_shapes {
// arg0: TupleInt,
// arg1: TupleInt,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:12
// // Pattern variables for rule matching
// // Variables: __var__i, tuple_int_single_node1
// #[eggplant::pat_vars]
// struct rule_12Pat {
// __var__i: Int,
// tuple_int_single_node1: TupleInt_single,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:14
// // Pattern variables for rule matching
// // Variables: __var__i, cast_callable_int_int_lambda_i_i_node1
// #[eggplant::pat_vars]
// struct rule_14Pat {
// __var__i: Int,
// cast_callable_int_int_lambda_i_i_node1: cast_Callable__Int___Int___lambda_i__i_,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:16
// // Pattern variables for rule matching
// // Variables: __var__stop, tuple_int_range_node1
// #[eggplant::pat_vars]
// struct rule_16Pat {
// __var__stop: Int,
// tuple_int_range_node1: TupleInt_range,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:17
// // Datatype 'Vec_Int' defined with variants:
// #[eggplant::dsl]
// enum Vec_Int {
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:20
// // Pattern variables for rule matching
// // Variables: __var__vec, tuple_int_from_vec_node1
// #[eggplant::pat_vars]
// struct rule_20Pat {
// __var__vec: Vec_Int,
// tuple_int_from_vec_node1: TupleInt_from_vec,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:22
// // Datatype 'Boolean' defined with variants:
// // - Int___lt__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:22)
// // - cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc____i____j__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:30)
// // - Boolean___or__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:31)
// // - Int___eq__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:32)
// // - TupleInt_contains: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:34)
// // - FALSE: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:35)
// // - Value_isfinite: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:50)
// // - TRUE: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:52)
// // - TupleValue_includes: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:101)
// // - Value_to_bool: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:187)
// // - isdtype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:193)
// // - DType___eq__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:219)
// // - Int___ge__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:273)
// // - Int___gt__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:276)
// // - Boolean___and__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:303)
// // - Boolean___invert__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:309)
// #[eggplant::dsl]
// enum Boolean {
// Int___lt__ {
// arg0: Int,
// arg1: Int,
// },
// cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc____i____j__ {
// arg0: Int,
// arg1: Boolean,
// arg2: Int,
// },
// Boolean___or__ {
// arg0: Boolean,
// arg1: Boolean,
// },
// Int___eq__ {
// arg0: Int,
// arg1: Int,
// },
// TupleInt_contains {
// arg0: TupleInt,
// arg1: Int,
// },
// FALSE {},
// Value_isfinite {
// arg0: Value,
// },
// TRUE {},
// TupleValue_includes {
// arg0: TupleValue,
// arg1: Value,
// },
// Value_to_bool {
// arg0: Value,
// },
// isdtype {
// arg0: DType,
// arg1: IsDtypeKind,
// },
// DType___eq__ {
// arg0: DType,
// arg1: DType,
// },
// Int___ge__ {
// arg0: Int,
// arg1: Int,
// },
// Int___gt__ {
// arg0: Int,
// arg1: Int,
// },
// Boolean___and__ {
// arg0: Boolean,
// arg1: Boolean,
// },
// Boolean___invert__ {
// arg0: Boolean,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:28
// // Pattern variables for rule matching
// // Variables: __var__other, __var__self, __var__i, cast_callable_tuple_int_tuple_int_int_int_lambda_other_self_i_int_if_i_self_length_self_i_other_i_self_length_node1
// #[eggplant::pat_vars]
// struct rule_28Pat {
// __var__other: cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____,
// __var__self: cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____,
// __var__i: cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____,
// cast_callable_tuple_int_tuple_int_int_int_lambda_other_self_i_int_if_i_self_length_self_i_other_i_self_length_node1: cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:31
// // Pattern variables for rule matching
// // Variables: __var__self, __var__other, tuple_int_add_node1
// #[eggplant::pat_vars]
// struct rule_31Pat {
// __var__self: TupleInt,
// __var__other: TupleInt,
// tuple_int_add_node1: TupleInt___add__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:35
// // Pattern variables for rule matching
// // Variables: __var__i, __var__acc, __var__j, cast_callable_int_boolean_int_boolean_lambda_i_acc_j_acc_i_j_node1
// #[eggplant::pat_vars]
// struct rule_35Pat {
// __var__i: cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__,
// __var__acc: cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__,
// __var__j: cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__,
// cast_callable_int_boolean_int_boolean_lambda_i_acc_j_acc_i_j_node1: cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:40
// // Pattern variables for rule matching
// // Variables: __var__self, __var__i, tuple_int_contains_node1
// #[eggplant::pat_vars]
// struct rule_40Pat {
// __var__self: TupleInt,
// __var__i: Int,
// tuple_int_contains_node1: TupleInt_contains,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:41
// // Datatype 'NDArray' defined with variants:
// // - unique_values: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:42)
// // - NDArray_vector: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:44)
// // - isfinite: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:59)
// // - sum: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:61)
// // - NDArray_scalar: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:63)
// // - assume_value_one_of: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:65)
// // - assume_shape: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:74)
// // - assume_dtype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:78)
// // - NDArray___getitem__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:83)
// // - reshape: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:87)
// // - any: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:100)
// // - NDArray___lt__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:104)
// // - NDArray___truediv__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:109)
// // - astype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:113)
// // - TupleNDArray___getitem__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:117)
// // - ndarray_abs: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:132)
// // - concat: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:142)
// // - asarray: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:151)
// // - NDArray___sub__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:166)
// // - NDArray___gt__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:168)
// // - NDArray_T: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:171)
// // - NDArray___eq__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:313)
// // - std: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:315)
// // - ndarray_sqrt: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:319)
// // - mean: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:320)
// // - square: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:321)
// // - expand_dims: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:322)
// // - NDArray___matmul__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:323)
// // - NDArray___setitem__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:324)
// // - zeros: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:325)
// // - NDArray___mul__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:340)
// #[eggplant::dsl]
// enum NDArray {
// unique_values {
// arg0: NDArray,
// },
// NDArray_vector {
// arg0: TupleValue,
// },
// isfinite {
// arg0: NDArray,
// },
// sum {
// arg0: NDArray,
// arg1: OptionalIntOrTuple,
// },
// NDArray_scalar {
// arg0: Value,
// },
// assume_value_one_of {
// arg0: NDArray,
// arg1: TupleValue,
// },
// assume_shape {
// arg0: NDArray,
// arg1: TupleInt,
// },
// assume_dtype {
// arg0: NDArray,
// arg1: DType,
// },
// NDArray___getitem__ {
// arg0: NDArray,
// arg1: IndexKey,
// },
// reshape {
// arg0: NDArray,
// arg1: TupleInt,
// arg2: OptionalBool,
// },
// any {
// arg0: NDArray,
// },
// NDArray___lt__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// NDArray___truediv__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// astype {
// arg0: NDArray,
// arg1: DType,
// },
// TupleNDArray___getitem__ {
// arg0: TupleNDArray,
// arg1: Int,
// },
// ndarray_abs {
// arg0: NDArray,
// },
// concat {
// arg0: TupleNDArray,
// arg1: OptionalInt,
// },
// asarray {
// arg0: NDArray,
// arg1: OptionalDType,
// arg2: OptionalBool,
// arg3: OptionalDevice,
// },
// NDArray___sub__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// NDArray___gt__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// NDArray_T {
// arg0: NDArray,
// },
// NDArray___eq__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// std {
// arg0: NDArray,
// arg1: OptionalIntOrTuple,
// },
// ndarray_sqrt {
// arg0: NDArray,
// },
// mean {
// arg0: NDArray,
// arg1: OptionalIntOrTuple,
// arg2: Boolean,
// },
// square {
// arg0: NDArray,
// },
// expand_dims {
// arg0: NDArray,
// arg1: Int,
// },
// NDArray___matmul__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// NDArray___setitem__ {
// arg0: NDArray,
// arg1: IndexKey,
// arg2: NDArray,
// },
// zeros {
// arg0: TupleInt,
// arg1: OptionalDType,
// arg2: OptionalDevice,
// },
// NDArray___mul__ {
// arg0: NDArray,
// arg1: NDArray,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:47
// // Pattern variables for rule matching
// // Variables: __var__x, nd_array_size_node1
// #[eggplant::pat_vars]
// struct rule_47Pat {
// __var__x: NDArray,
// nd_array_size_node1: NDArray_size,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:49
// // Datatype 'TupleValue' defined with variants:
// // - possible_values: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:46)
// // - TupleValue___init__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:124)
// // - TupleValue___add__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:173)
// // - TupleValue_EMPTY: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:174)
// #[eggplant::dsl]
// enum TupleValue {
// possible_values {
// arg0: Value,
// },
// TupleValue___init__ {
// arg0: Value,
// },
// TupleValue___add__ {
// arg0: TupleValue,
// arg1: TupleValue,
// },
// TupleValue_EMPTY {},
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:51
// // Datatype 'Value' defined with variants:
// // - NDArray_index: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:47)
// // - Value_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:51)
// // - Value_bool: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:54)
// // - Value_float: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:57)
// // - TupleValue___getitem__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:93)
// // - Value_to_truthy_value: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:102)
// // - Value___lt__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:105)
// // - Value___truediv__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:110)
// // - Value_astype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:114)
// // - NDArray_to_value: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:163)
// #[eggplant::dsl]
// enum Value {
// NDArray_index {
// arg0: NDArray,
// arg1: TupleInt,
// },
// Value_int {
// arg0: Int,
// },
// Value_bool {
// arg0: Boolean,
// },
// Value_float {
// arg0: Float,
// },
// TupleValue___getitem__ {
// arg0: TupleValue,
// arg1: Int,
// },
// Value_to_truthy_value {
// arg0: Value,
// },
// Value___lt__ {
// arg0: Value,
// arg1: Value,
// },
// Value___truediv__ {
// arg0: Value,
// arg1: Value,
// },
// Value_astype {
// arg0: Value,
// arg1: DType,
// },
// NDArray_to_value {
// arg0: NDArray,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:55
// // Pattern variables for rule matching
// // Variables: __var__a, unique_values_node1
// #[eggplant::pat_vars]
// struct rule_55Pat {
// __var__a: NDArray,
// unique_values_node1: unique_values,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:59
// // Pattern variables for rule matching
// // Variables: __var__i, value_int_node2, value_isfinite_node1
// #[eggplant::pat_vars]
// struct rule_59Pat {
// __var__i: Int,
// value_int_node2: Value_int,
// value_isfinite_node1: Value_isfinite,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:61
// // Pattern variables for rule matching
// // Variables: __var__b, value_bool_node2, value_isfinite_node1
// #[eggplant::pat_vars]
// struct rule_61Pat {
// __var__b: Boolean,
// value_bool_node2: Value_bool,
// value_isfinite_node1: Value_isfinite,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:62
// // Datatype 'Float' defined with variants:
// // - Float_abs: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:133)
// // - Float_from_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:259)
// // - Float___add__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:261)
// // - Float___sub__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:263)
// // - Float___mul__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:265)
// // - Float___truediv__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:267)
// #[eggplant::dsl]
// enum Float {
// Float_abs {
// arg0: Float,
// },
// Float_from_int {
// arg0: Int,
// },
// Float___add__ {
// arg0: Float,
// arg1: Float,
// },
// Float___sub__ {
// arg0: Float,
// arg1: Float,
// },
// Float___mul__ {
// arg0: Float,
// arg1: Float,
// },
// Float___truediv__ {
// arg0: Float,
// arg1: Float,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:65
// // Pattern variables for rule matching
// // Variables: __var__f, float_init_node3, value_isfinite_node1
// #[eggplant::pat_vars]
// struct rule_65Pat {
// __var__f: Float___init__,
// float_init_node3: Float___init__,
// value_isfinite_node1: Value_isfinite,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:67
// // Datatype 'OptionalIntOrTuple' defined with variants:
// // - OptionalIntOrTuple_none: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:62)
// // - OptionalIntOrTuple_some: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:317)
// #[eggplant::dsl]
// enum OptionalIntOrTuple {
// OptionalIntOrTuple_none {},
// OptionalIntOrTuple_some {
// arg0: IntOrTuple,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:71
// // Pattern variables for rule matching
// // Variables: __var__arr, sum_node2, isfinite_node1
// #[eggplant::pat_vars]
// struct rule_71Pat {
// __var__arr: NDArray,
// sum_node2: sum,
// isfinite_node1: isfinite,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:73
// // Pattern variables for rule matching
// // Variables: __var__x, __var__vs, assume_value_one_of_node2, nd_array_shape_node1
// #[eggplant::pat_vars]
// struct rule_73Pat {
// __var__x: NDArray,
// __var__vs: TupleValue,
// assume_value_one_of_node2: assume_value_one_of,
// nd_array_shape_node1: NDArray_shape,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:74
// // Datatype 'DType' defined with variants:
// // - NDArray_dtype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:68)
// // - Value_dtype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:92)
// // - DType_float64: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:139)
// // - DType_int64: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:182)
// // - DType_bool: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:185)
// // - DType_float32: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:194)
// // - DType_object: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:198)
// // - DType_int32: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:201)
// #[eggplant::dsl]
// enum DType {
// NDArray_dtype {
// arg0: NDArray,
// },
// Value_dtype {
// arg0: Value,
// },
// DType_float64 {},
// DType_int64 {},
// DType_bool {},
// DType_float32 {},
// DType_object {},
// DType_int32 {},
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:76
// // Pattern variables for rule matching
// // Variables: __var__x, __var__vs, assume_value_one_of_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_76Pat {
// __var__x: NDArray,
// __var__vs: TupleValue,
// assume_value_one_of_node2: assume_value_one_of,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:82
// // Pattern variables for rule matching
// // Variables: __var__x, assume_isfinite_node2, nd_array_shape_node1
// #[eggplant::pat_vars]
// struct rule_82Pat {
// __var__x: assume_isfinite,
// assume_isfinite_node2: assume_isfinite,
// nd_array_shape_node1: NDArray_shape,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:83
// // Pattern variables for rule matching
// // Variables: __var__x, assume_isfinite_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_83Pat {
// __var__x: assume_isfinite,
// assume_isfinite_node2: assume_isfinite,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:84
// // Pattern variables for rule matching
// // Variables: __var__x, __var__ti, nd_array_index_node1, assume_isfinite_node2
// #[eggplant::pat_vars]
// struct rule_84Pat {
// __var__x: assume_isfinite,
// __var__ti: TupleInt,
// nd_array_index_node1: NDArray_index,
// assume_isfinite_node2: assume_isfinite,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:85
// // Pattern variables for rule matching
// // Variables: __var__x, __var__ti, assume_isfinite_node3, nd_array_index_node2, value_isfinite_node1
// #[eggplant::pat_vars]
// struct rule_85Pat {
// __var__x: assume_isfinite,
// __var__ti: TupleInt,
// assume_isfinite_node3: assume_isfinite,
// nd_array_index_node2: NDArray_index,
// value_isfinite_node1: Value_isfinite,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:87
// // Pattern variables for rule matching
// // Variables: __var__x, __var__shape, assume_shape_node2, nd_array_shape_node1
// #[eggplant::pat_vars]
// struct rule_87Pat {
// __var__x: NDArray,
// __var__shape: TupleInt,
// assume_shape_node2: assume_shape,
// nd_array_shape_node1: NDArray_shape,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:88
// // Pattern variables for rule matching
// // Variables: __var__x, __var__shape, assume_shape_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_88Pat {
// __var__x: NDArray,
// __var__shape: TupleInt,
// assume_shape_node2: assume_shape,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:89
// // Pattern variables for rule matching
// // Variables: __var__x, __var__shape, __var__idx, assume_shape_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_89Pat {
// __var__x: NDArray,
// __var__shape: TupleInt,
// __var__idx: TupleInt,
// assume_shape_node2: assume_shape,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:91
// // Pattern variables for rule matching
// // Variables: __var__x, __var__dtype, assume_dtype_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_91Pat {
// __var__x: NDArray,
// __var__dtype: DType,
// assume_dtype_node2: assume_dtype,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:92
// // Pattern variables for rule matching
// // Variables: __var__x, __var__dtype, assume_dtype_node2, nd_array_shape_node1
// #[eggplant::pat_vars]
// struct rule_92Pat {
// __var__x: NDArray,
// __var__dtype: DType,
// assume_dtype_node2: assume_dtype,
// nd_array_shape_node1: NDArray_shape,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:93
// // Pattern variables for rule matching
// // Variables: __var__x, __var__dtype, __var__idx, assume_dtype_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_93Pat {
// __var__x: NDArray,
// __var__dtype: DType,
// __var__idx: TupleInt,
// assume_dtype_node2: assume_dtype,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:94
// // Datatype 'IndexKey' defined with variants:
// // - IndexKey_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:84)
// // - IndexKey_multi_axis: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:331)
// // - IndexKey_ndarray: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:339)
// // - IndexKey_slice: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:342)
// #[eggplant::dsl]
// enum IndexKey {
// IndexKey_int {
// arg0: Int,
// },
// IndexKey_multi_axis {
// arg0: MultiAxisIndexKey,
// },
// IndexKey_ndarray {
// arg0: NDArray,
// },
// IndexKey_slice {
// arg0: Slice,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:97
// // Pattern variables for rule matching
// // Variables: __var__x, __var__i, nd_array_getitem_node1, index_key_int_node2
// #[eggplant::pat_vars]
// struct rule_97Pat {
// __var__x: NDArray,
// __var__i: Int,
// nd_array_getitem_node1: NDArray___getitem__,
// index_key_int_node2: IndexKey_int,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:98
// // Datatype 'OptionalBool' defined with variants:
// // - OptionalBool_none: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:155)
// #[eggplant::dsl]
// enum OptionalBool {
// OptionalBool_none {},
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:110
// // Pattern variables for rule matching
// // Variables: __var__vs, nd_array_vector_node2, nd_array_shape_node1
// #[eggplant::pat_vars]
// struct rule_110Pat {
// __var__vs: TupleValue,
// nd_array_vector_node2: NDArray_vector,
// nd_array_shape_node1: NDArray_shape,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:113
// // Pattern variables for rule matching
// // Variables: __var__vs, nd_array_vector_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_113Pat {
// __var__vs: TupleValue,
// nd_array_vector_node2: NDArray_vector,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:114
// // Pattern variables for rule matching
// // Variables: __var__vs, __var__ti, nd_array_vector_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_114Pat {
// __var__vs: TupleValue,
// __var__ti: TupleInt,
// nd_array_vector_node2: NDArray_vector,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:116
// // Pattern variables for rule matching
// // Variables: __var__v, nd_array_scalar_node2, nd_array_shape_node1
// #[eggplant::pat_vars]
// struct rule_116Pat {
// __var__v: Value,
// nd_array_scalar_node2: NDArray_scalar,
// nd_array_shape_node1: NDArray_shape,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:117
// // Pattern variables for rule matching
// // Variables: __var__v, nd_array_scalar_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_117Pat {
// __var__v: Value,
// nd_array_scalar_node2: NDArray_scalar,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:118
// // Pattern variables for rule matching
// // Variables: __var__v, nd_array_scalar_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_118Pat {
// __var__v: Value,
// nd_array_scalar_node2: NDArray_scalar,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:122
// // Pattern variables for rule matching
// // Variables: __var__x, any_node1
// #[eggplant::pat_vars]
// struct rule_122Pat {
// __var__x: NDArray,
// any_node1: any,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:127
// // Pattern variables for rule matching
// // Variables: __var__x, __var__y, __var__idx, nd_array_index_node1, nd_array_lt_node2
// #[eggplant::pat_vars]
// struct rule_127Pat {
// __var__x: NDArray,
// __var__y: NDArray,
// __var__idx: TupleInt,
// nd_array_index_node1: NDArray_index,
// nd_array_lt_node2: NDArray___lt__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:130
// // Pattern variables for rule matching
// // Variables: __var__x, __var__y, __var__idx, nd_array_truediv_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_130Pat {
// __var__x: NDArray,
// __var__y: NDArray,
// __var__idx: TupleInt,
// nd_array_truediv_node2: NDArray___truediv__,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:131
// // Pattern variables for rule matching
// // Variables: __var__v, __var__idx, nd_array_scalar_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_131Pat {
// __var__v: Value,
// __var__idx: TupleInt,
// nd_array_scalar_node2: NDArray_scalar,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:134
// // Pattern variables for rule matching
// // Variables: __var__x, __var__dtype, __var__idx, astype_node2, nd_array_index_node1
// #[eggplant::pat_vars]
// struct rule_134Pat {
// __var__x: NDArray,
// __var__dtype: DType,
// __var__idx: TupleInt,
// astype_node2: astype,
// nd_array_index_node1: NDArray_index,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:136
// // Datatype 'TupleNDArray' defined with variants:
// // - unique_counts: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:118)
// // - svd: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:127)
// // - unique_inverse: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:129)
// // - TupleNDArray___init__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:143)
// // - TupleNDArray___add__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:157)
// // - TupleNDArray_EMPTY: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:158)
// #[eggplant::dsl]
// enum TupleNDArray {
// unique_counts {
// arg0: NDArray,
// },
// svd {
// arg0: NDArray,
// arg1: Boolean,
// },
// unique_inverse {
// arg0: NDArray,
// },
// TupleNDArray___init__ {
// arg0: NDArray,
// },
// TupleNDArray___add__ {
// arg0: TupleNDArray,
// arg1: TupleNDArray,
// },
// TupleNDArray_EMPTY {},
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:164
// // Pattern variables for rule matching
// // Variables: __var__b, value_bool_node2, possible_values_node1
// #[eggplant::pat_vars]
// struct rule_164Pat {
// __var__b: Boolean,
// value_bool_node2: Value_bool,
// possible_values_node1: possible_values,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:171
// // Pattern variables for rule matching
// // Variables: __var__x, __var__full_matrices, svd_node2, tuple_nd_array_length_node1
// #[eggplant::pat_vars]
// struct rule_171Pat {
// __var__x: NDArray,
// __var__full_matrices: Boolean,
// svd_node2: svd,
// tuple_nd_array_length_node1: TupleNDArray_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:173
// // Pattern variables for rule matching
// // Variables: __var__x, unique_inverse_node2, tuple_nd_array_length_node1
// #[eggplant::pat_vars]
// struct rule_173Pat {
// __var__x: NDArray,
// unique_inverse_node2: unique_inverse,
// tuple_nd_array_length_node1: TupleNDArray_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:174
// // Pattern variables for rule matching
// // Variables: __var__x, unique_inverse_node2, tuple_nd_array_getitem_node1
// #[eggplant::pat_vars]
// struct rule_174Pat {
// __var__x: NDArray,
// unique_inverse_node2: unique_inverse,
// tuple_nd_array_getitem_node1: TupleNDArray___getitem__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:177
// // Pattern variables for rule matching
// // Variables: __var__f, value_float_node3, ndarray_abs_node1
// #[eggplant::pat_vars]
// struct rule_177Pat {
// __var__f: Float,
// value_float_node3: Value_float,
// ndarray_abs_node1: ndarray_abs,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:178
// // Pattern variables for rule matching
// // Variables: __var__x, unique_counts_node2, tuple_nd_array_length_node1
// #[eggplant::pat_vars]
// struct rule_178Pat {
// __var__x: NDArray,
// unique_counts_node2: unique_counts,
// tuple_nd_array_length_node1: TupleNDArray_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:179
// // Pattern variables for rule matching
// // Variables: __var__x, unique_counts_node3, sum_node1
// #[eggplant::pat_vars]
// struct rule_179Pat {
// __var__x: NDArray,
// unique_counts_node3: unique_counts,
// sum_node1: sum,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:180
// // Pattern variables for rule matching
// // Variables: __var__x, __var__dtype, unique_counts_node4, astype_node2, sum_node1
// #[eggplant::pat_vars]
// struct rule_180Pat {
// __var__x: NDArray,
// __var__dtype: DType,
// unique_counts_node4: unique_counts,
// astype_node2: astype,
// sum_node1: sum,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:181
// // Pattern variables for rule matching
// // Variables: __var__x, __var__dtype, astype_node2, nd_array_dtype_node1
// #[eggplant::pat_vars]
// struct rule_181Pat {
// __var__x: NDArray,
// __var__dtype: DType,
// astype_node2: astype,
// nd_array_dtype_node1: NDArray_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:183
// // Pattern variables for rule matching
// // Variables: int_init_node4, astype_node1
// #[eggplant::pat_vars]
// struct rule_183Pat {
// int_init_node4: Int___init__,
// astype_node1: astype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:184
// // Datatype 'OptionalInt' defined with variants:
// // - OptionalInt_none: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:144)
// // - OptionalInt_some: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:341)
// #[eggplant::dsl]
// enum OptionalInt {
// OptionalInt_none {},
// OptionalInt_some {
// arg0: Int,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:188
// // Pattern variables for rule matching
// // Variables: __var__x, tuple_nd_array_init_node2, concat_node1
// #[eggplant::pat_vars]
// struct rule_188Pat {
// __var__x: NDArray,
// tuple_nd_array_init_node2: TupleNDArray___init__,
// concat_node1: concat,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:189
// // Pattern variables for rule matching
// // Variables: __var__x, unique_values_node2, unique_values_node1
// #[eggplant::pat_vars]
// struct rule_189Pat {
// __var__x: NDArray,
// unique_values_node2: unique_values,
// unique_values_node1: unique_values,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:190
// // Pattern variables for rule matching
// // Variables: __var__x, __var__v, nd_array_truediv_node2, nd_array_scalar_node3, sum_node1
// #[eggplant::pat_vars]
// struct rule_190Pat {
// __var__x: NDArray,
// __var__v: Value,
// nd_array_truediv_node2: NDArray___truediv__,
// nd_array_scalar_node3: NDArray_scalar,
// sum_node1: sum,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:192
// // Datatype 'OptionalDType' defined with variants:
// // - OptionalDType_none: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:154)
// // - OptionalDType_some: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:326)
// #[eggplant::dsl]
// enum OptionalDType {
// OptionalDType_none {},
// OptionalDType_some {
// arg0: DType,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:193
// // Datatype 'OptionalDevice' defined with variants:
// // - OptionalDevice_none: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:152)
// // - OptionalDevice_some: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:328)
// #[eggplant::dsl]
// enum OptionalDevice {
// OptionalDevice_none {},
// OptionalDevice_some {
// arg0: Device,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:196
// // Pattern variables for rule matching
// // Variables: __var__a, __var__d, __var__ob, asarray_node2, nd_array_ndim_node1
// #[eggplant::pat_vars]
// struct rule_196Pat {
// __var__a: NDArray,
// __var__d: OptionalDType,
// __var__ob: OptionalBool,
// asarray_node2: asarray,
// nd_array_ndim_node1: NDArray_ndim,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:199
// // Pattern variables for rule matching
// // Variables: __var__a, asarray_node1
// #[eggplant::pat_vars]
// struct rule_199Pat {
// __var__a: NDArray,
// asarray_node1: asarray,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:202
// // Pattern variables for rule matching
// // Variables: __var__ti, tuple_nd_array_add_node1
// #[eggplant::pat_vars]
// struct rule_202Pat {
// __var__ti: TupleNDArray,
// tuple_nd_array_add_node1: TupleNDArray___add__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:203
// // Pattern variables for rule matching
// // Variables: __var__n, tuple_nd_array_init_node2, tuple_nd_array_length_node1
// #[eggplant::pat_vars]
// struct rule_203Pat {
// __var__n: NDArray,
// tuple_nd_array_init_node2: TupleNDArray___init__,
// tuple_nd_array_length_node1: TupleNDArray_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:204
// // Pattern variables for rule matching
// // Variables: __var__ti, __var__ti2, tuple_nd_array_add_node2, tuple_nd_array_length_node1
// #[eggplant::pat_vars]
// struct rule_204Pat {
// __var__ti: TupleNDArray,
// __var__ti2: TupleNDArray,
// tuple_nd_array_add_node2: TupleNDArray___add__,
// tuple_nd_array_length_node1: TupleNDArray_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:205
// // Pattern variables for rule matching
// // Variables: __var__x, nd_array_ndim_node1
// #[eggplant::pat_vars]
// struct rule_205Pat {
// __var__x: NDArray,
// nd_array_ndim_node1: NDArray_ndim,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:207
// // Pattern variables for rule matching
// // Variables: __var__x, nd_array_to_value_node1
// #[eggplant::pat_vars]
// struct rule_207Pat {
// __var__x: NDArray,
// nd_array_to_value_node1: NDArray_to_value,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:208
// // Pattern variables for rule matching
// // Variables: __var__f, value_float_node5, nd_array_truediv_node1
// #[eggplant::pat_vars]
// struct rule_208Pat {
// __var__f: Float,
// value_float_node5: Value_float,
// nd_array_truediv_node1: NDArray___truediv__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:210
// // Pattern variables for rule matching
// // Variables: __var__f, value_float_node5, nd_array_sub_node1
// #[eggplant::pat_vars]
// struct rule_210Pat {
// __var__f: Float,
// value_float_node5: Value_float,
// nd_array_sub_node1: NDArray___sub__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:212
// // Pattern variables for rule matching
// // Variables: __var__fi1, __var__fi2, float_init_node7, float_init_node4, nd_array_gt_node1
// #[eggplant::pat_vars]
// struct rule_212Pat {
// __var__fi1: Float___init__,
// __var__fi2: Float___init__,
// float_init_node7: Float___init__,
// float_init_node4: Float___init__,
// nd_array_gt_node1: NDArray___gt__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:213
// // Pattern variables for rule matching
// // Variables: __var__fi1, __var__fi2, float_init_node7, float_init_node4, nd_array_gt_node1
// #[eggplant::pat_vars]
// struct rule_213Pat {
// __var__fi1: Float___init__,
// __var__fi2: Float___init__,
// float_init_node7: Float___init__,
// float_init_node4: Float___init__,
// nd_array_gt_node1: NDArray___gt__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:215
// // Pattern variables for rule matching
// // Variables: __var__x, nd_array_t_node2, nd_array_t_node1
// #[eggplant::pat_vars]
// struct rule_215Pat {
// __var__x: NDArray,
// nd_array_t_node2: NDArray_T,
// nd_array_t_node1: NDArray_T,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:218
// // Pattern variables for rule matching
// // Variables: __var__ti, tuple_value_add_node1
// #[eggplant::pat_vars]
// struct rule_218Pat {
// __var__ti: TupleValue,
// tuple_value_add_node1: TupleValue___add__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:219
// // Pattern variables for rule matching
// // Variables: tuple_value_length_node1
// #[eggplant::pat_vars]
// struct rule_219Pat {
// tuple_value_length_node1: TupleValue_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:220
// // Pattern variables for rule matching
// // Variables: __var__v, tuple_value_init_node2, tuple_value_length_node1
// #[eggplant::pat_vars]
// struct rule_220Pat {
// __var__v: Value,
// tuple_value_init_node2: TupleValue___init__,
// tuple_value_length_node1: TupleValue_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:221
// // Pattern variables for rule matching
// // Variables: __var__ti, __var__ti2, tuple_value_add_node2, tuple_value_length_node1
// #[eggplant::pat_vars]
// struct rule_221Pat {
// __var__ti: TupleValue,
// __var__ti2: TupleValue,
// tuple_value_add_node2: TupleValue___add__,
// tuple_value_length_node1: TupleValue_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:222
// // Pattern variables for rule matching
// // Variables: __var__v, tuple_value_init_node2, tuple_value_getitem_node1
// #[eggplant::pat_vars]
// struct rule_222Pat {
// __var__v: Value,
// tuple_value_init_node2: TupleValue___init__,
// tuple_value_getitem_node1: TupleValue___getitem__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:223
// // Pattern variables for rule matching
// // Variables: __var__v, __var__ti, tuple_value_add_node2, tuple_value_init_node3, tuple_value_getitem_node1
// #[eggplant::pat_vars]
// struct rule_223Pat {
// __var__v: Value,
// __var__ti: TupleValue,
// tuple_value_add_node2: TupleValue___add__,
// tuple_value_init_node3: TupleValue___init__,
// tuple_value_getitem_node1: TupleValue___getitem__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:231
// // Pattern variables for rule matching
// // Variables: __var__ti, __var__ti2, __var__v, tuple_value_add_node2, tuple_value_includes_node1
// #[eggplant::pat_vars]
// struct rule_231Pat {
// __var__ti: TupleValue,
// __var__ti2: TupleValue,
// __var__v: Value,
// tuple_value_add_node2: TupleValue___add__,
// tuple_value_includes_node1: TupleValue_includes,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:233
// // Pattern variables for rule matching
// // Variables: __var__i, value_int_node2, value_dtype_node1
// #[eggplant::pat_vars]
// struct rule_233Pat {
// __var__i: Int,
// value_int_node2: Value_int,
// value_dtype_node1: Value_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:234
// // Pattern variables for rule matching
// // Variables: __var__f, value_float_node2, value_dtype_node1
// #[eggplant::pat_vars]
// struct rule_234Pat {
// __var__f: Float,
// value_float_node2: Value_float,
// value_dtype_node1: Value_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:236
// // Pattern variables for rule matching
// // Variables: __var__b, value_bool_node2, value_dtype_node1
// #[eggplant::pat_vars]
// struct rule_236Pat {
// __var__b: Boolean,
// value_bool_node2: Value_bool,
// value_dtype_node1: Value_dtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:238
// // Pattern variables for rule matching
// // Variables: __var__b, value_bool_node2, value_to_bool_node1
// #[eggplant::pat_vars]
// struct rule_238Pat {
// __var__b: Boolean,
// value_bool_node2: Value_bool,
// value_to_bool_node1: Value_to_bool,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:240
// // Pattern variables for rule matching
// // Variables: __var__i, value_int_node2, value_to_int_node1
// #[eggplant::pat_vars]
// struct rule_240Pat {
// __var__i: Int,
// value_int_node2: Value_int,
// value_to_int_node1: Value_to_int,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:241
// // Pattern variables for rule matching
// // Variables: __var__b, value_bool_node2, value_to_truthy_value_node1
// #[eggplant::pat_vars]
// struct rule_241Pat {
// __var__b: Boolean,
// value_bool_node2: Value_bool,
// value_to_truthy_value_node1: Value_to_truthy_value,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:242
// // Datatype 'IsDtypeKind' defined with variants:
// // - IsDtypeKind_string: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:195)
// // - IsDtypeKind_NULL: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:213)
// // - IsDtypeKind_dtype: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:215)
// #[eggplant::dsl]
// enum IsDtypeKind {
// IsDtypeKind_string {
// arg0: String,
// },
// IsDtypeKind_NULL {},
// IsDtypeKind_dtype {
// arg0: DType,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:246
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_246Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:247
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_247Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:249
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_249Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:250
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_250Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:252
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_252Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:253
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_253Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:254
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_254Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:255
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_255Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:256
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_256Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:257
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_257Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:258
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_258Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:259
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_259Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:260
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_260Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:261
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_261Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:262
// // Pattern variables for rule matching
// // Variables: isdtype_node1
// #[eggplant::pat_vars]
// struct rule_262Pat {
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:264
// // Pattern variables for rule matching
// // Variables: __var__d, isdtype_node1
// #[eggplant::pat_vars]
// struct rule_264Pat {
// __var__d: DType,
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:266
// // Pattern variables for rule matching
// // Variables: __var__d, is_dtype_kind_dtype_node2, isdtype_node1
// #[eggplant::pat_vars]
// struct rule_266Pat {
// __var__d: DType,
// is_dtype_kind_dtype_node2: IsDtypeKind_dtype,
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:268
// // Pattern variables for rule matching
// // Variables: __var__d, __var__k1, __var__k2, is_dtype_kind_or_node2, isdtype_node1
// #[eggplant::pat_vars]
// struct rule_268Pat {
// __var__d: DType,
// __var__k1: IsDtypeKind___or__,
// __var__k2: IsDtypeKind___or__,
// is_dtype_kind_or_node2: IsDtypeKind___or__,
// isdtype_node1: isdtype,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:269
// // Pattern variables for rule matching
// // Variables: __var__k1, is_dtype_kind_or_node1
// #[eggplant::pat_vars]
// struct rule_269Pat {
// __var__k1: IsDtypeKind___or__,
// is_dtype_kind_or_node1: IsDtypeKind___or__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:271
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_271Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:272
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_272Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:273
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_273Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:274
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_274Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:275
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_275Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:276
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_276Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:277
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_277Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:278
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_278Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:279
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_279Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:280
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_280Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:281
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_281Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:282
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_282Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:283
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_283Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:284
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_284Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:285
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_285Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:286
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_286Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:287
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_287Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:288
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_288Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:289
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_289Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:290
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_290Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:291
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_291Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:292
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_292Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:293
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_293Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:294
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_294Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:295
// // Pattern variables for rule matching
// // Variables: d_type_eq_node1
// #[eggplant::pat_vars]
// struct rule_295Pat {
// d_type_eq_node1: DType___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:297
// // Pattern variables for rule matching
// // Variables: __var__idx_fn, __var__i, cast_callable_unstable_fn_int_int_int_int_lambda_idx_fn_i_idx_fn_i_int_1_node1
// #[eggplant::pat_vars]
// struct rule_297Pat {
// __var__idx_fn: cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___,
// __var__i: cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___,
// cast_callable_unstable_fn_int_int_int_int_lambda_idx_fn_i_idx_fn_i_int_1_node1: cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:298
// // Pattern variables for rule matching
// // Variables: __var__vs, int_init_node2, index_vec_int_node1
// #[eggplant::pat_vars]
// struct rule_298Pat {
// __var__vs: Vec_Int,
// int_init_node2: Int___init__,
// index_vec_int_node1: index_vec_int,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:299
// // Pattern variables for rule matching
// // Variables: __var__i, __var__idx_fn, tuple_int_init_node2, tuple_int_length_node1
// #[eggplant::pat_vars]
// struct rule_299Pat {
// __var__i: TupleInt___init__,
// __var__idx_fn: TupleInt___init__,
// tuple_int_init_node2: TupleInt___init__,
// tuple_int_length_node1: TupleInt_length,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:300
// // Pattern variables for rule matching
// // Variables: __var__i, __var__idx_fn, __var__i2, tuple_int_getitem_node1, tuple_int_init_node2
// #[eggplant::pat_vars]
// struct rule_300Pat {
// __var__i: TupleInt___init__,
// __var__idx_fn: TupleInt___init__,
// __var__i2: Int,
// tuple_int_getitem_node1: TupleInt___getitem__,
// tuple_int_init_node2: TupleInt___init__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:301
// // Pattern variables for rule matching
// // Variables: __var__idx_fn, __var__i, __var__f, tuple_int_init_node2, tuple_int_fold_node1
// #[eggplant::pat_vars]
// struct rule_301Pat {
// __var__idx_fn: TupleInt___init__,
// __var__i: TupleInt_fold,
// __var__f: TupleInt_fold,
// tuple_int_init_node2: TupleInt___init__,
// tuple_int_fold_node1: TupleInt_fold,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:302
// // Pattern variables for rule matching
// // Variables: __var__idx_fn, __var__i, __var__f, int_init_node3, tuple_int_fold_node1, tuple_int_init_node2
// #[eggplant::pat_vars]
// struct rule_302Pat {
// __var__idx_fn: TupleInt___init__,
// __var__i: TupleInt_fold,
// __var__f: TupleInt_fold,
// int_init_node3: Int___init__,
// tuple_int_fold_node1: TupleInt_fold,
// tuple_int_init_node2: TupleInt___init__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:303
// // Pattern variables for rule matching
// // Variables: __var__idx_fn, __var__b, __var__bool_f, tuple_int_fold_boolean_node1, tuple_int_init_node2
// #[eggplant::pat_vars]
// struct rule_303Pat {
// __var__idx_fn: TupleInt___init__,
// __var__b: TupleInt_fold_boolean,
// __var__bool_f: TupleInt_fold_boolean,
// tuple_int_fold_boolean_node1: TupleInt_fold_boolean,
// tuple_int_init_node2: TupleInt___init__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:304
// // Pattern variables for rule matching
// // Variables: __var__idx_fn, __var__b, __var__bool_f, tuple_int_fold_boolean_node1, tuple_int_init_node2, int_init_node3
// #[eggplant::pat_vars]
// struct rule_304Pat {
// __var__idx_fn: TupleInt___init__,
// __var__b: TupleInt_fold_boolean,
// __var__bool_f: TupleInt_fold_boolean,
// tuple_int_fold_boolean_node1: TupleInt_fold_boolean,
// tuple_int_init_node2: TupleInt___init__,
// int_init_node3: Int___init__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:306
// // Pattern variables for rule matching
// // Variables: tuple_int_empty_node1
// #[eggplant::pat_vars]
// struct rule_306Pat {
// tuple_int_empty_node1: TupleInt_EMPTY,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:307
// // Pattern variables for rule matching
// // Variables: __var__f, float_init_node2, float_abs_node1
// #[eggplant::pat_vars]
// struct rule_307Pat {
// __var__f: Float___init__,
// float_init_node2: Float___init__,
// float_abs_node1: Float_abs,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:308
// // Pattern variables for rule matching
// // Variables: __var__f, float_init_node2, float_abs_node1
// #[eggplant::pat_vars]
// struct rule_308Pat {
// __var__f: Float___init__,
// float_init_node2: Float___init__,
// float_abs_node1: Float_abs,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:310
// // Pattern variables for rule matching
// // Variables: __var__f, float_init_node1, node_2, node_1
// #[eggplant::pat_vars]
// struct rule_310Pat {
// __var__f: Float___init__,
// float_init_node1: Float___init__,
// node_2: to-i64,
// node_1: to-f64,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:312
// // Pattern variables for rule matching
// // Variables: int_init_node2, float_from_int_node1
// #[eggplant::pat_vars]
// struct rule_312Pat {
// int_init_node2: Int___init__,
// float_from_int_node1: Float_from_int,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:314
// // Pattern variables for rule matching
// // Variables: __var__f, __var__f2, float_init_node2, float_init_node3, float_add_node1
// #[eggplant::pat_vars]
// struct rule_314Pat {
// __var__f: Float___init__,
// __var__f2: Float___init__,
// float_init_node2: Float___init__,
// float_init_node3: Float___init__,
// float_add_node1: Float___add__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:316
// // Pattern variables for rule matching
// // Variables: __var__f, __var__f2, float_init_node3, float_init_node2, float_sub_node1
// #[eggplant::pat_vars]
// struct rule_316Pat {
// __var__f: Float___init__,
// __var__f2: Float___init__,
// float_init_node3: Float___init__,
// float_init_node2: Float___init__,
// float_sub_node1: Float___sub__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:318
// // Pattern variables for rule matching
// // Variables: __var__f, __var__f2, float_init_node3, float_init_node2, float_mul_node1
// #[eggplant::pat_vars]
// struct rule_318Pat {
// __var__f: Float___init__,
// __var__f2: Float___init__,
// float_init_node3: Float___init__,
// float_init_node2: Float___init__,
// float_mul_node1: Float___mul__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:320
// // Pattern variables for rule matching
// // Variables: __var__r, __var__r1, float_rational_node3, float_rational_node2, float_truediv_node1
// #[eggplant::pat_vars]
// struct rule_320Pat {
// __var__r: Float_rational,
// __var__r1: Float_rational,
// float_rational_node3: Float_rational,
// float_rational_node2: Float_rational,
// float_truediv_node1: Float___truediv__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:321
// // Pattern variables for rule matching
// // Variables: __var__r, __var__r1, float_rational_node3, float_rational_node2, float_add_node1
// #[eggplant::pat_vars]
// struct rule_321Pat {
// __var__r: Float_rational,
// __var__r1: Float_rational,
// float_rational_node3: Float_rational,
// float_rational_node2: Float_rational,
// float_add_node1: Float___add__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:322
// // Pattern variables for rule matching
// // Variables: __var__r, __var__r1, float_rational_node2, float_rational_node3, float_sub_node1
// #[eggplant::pat_vars]
// struct rule_322Pat {
// __var__r: Float_rational,
// __var__r1: Float_rational,
// float_rational_node2: Float_rational,
// float_rational_node3: Float_rational,
// float_sub_node1: Float___sub__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:323
// // Pattern variables for rule matching
// // Variables: __var__r, __var__r1, float_rational_node3, float_rational_node2, float_mul_node1
// #[eggplant::pat_vars]
// struct rule_323Pat {
// __var__r: Float_rational,
// __var__r1: Float_rational,
// float_rational_node3: Float_rational,
// float_rational_node2: Float_rational,
// float_mul_node1: Float___mul__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:324
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_eq_node1
// #[eggplant::pat_vars]
// struct rule_324Pat {
// int_init_node3: Int___init__,
// int_eq_node1: Int___eq__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:330
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_ge_node1
// #[eggplant::pat_vars]
// struct rule_330Pat {
// int_init_node3: Int___init__,
// int_ge_node1: Int___ge__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:339
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_lt_node1
// #[eggplant::pat_vars]
// struct rule_339Pat {
// int_init_node3: Int___init__,
// int_lt_node1: Int___lt__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:349
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_gt_node1
// #[eggplant::pat_vars]
// struct rule_349Pat {
// int_init_node3: Int___init__,
// int_gt_node1: Int___gt__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:362
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_init_node2, int_add_node1
// #[eggplant::pat_vars]
// struct rule_362Pat {
// int_init_node3: Int___init__,
// int_init_node2: Int___init__,
// int_add_node1: Int___add__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:363
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_init_node2, int_sub_node1
// #[eggplant::pat_vars]
// struct rule_363Pat {
// int_init_node3: Int___init__,
// int_init_node2: Int___init__,
// int_sub_node1: Int___sub__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:364
// // Pattern variables for rule matching
// // Variables: int_init_node2, int_init_node3, int_mul_node1
// #[eggplant::pat_vars]
// struct rule_364Pat {
// int_init_node2: Int___init__,
// int_init_node3: Int___init__,
// int_mul_node1: Int___mul__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:366
// // Pattern variables for rule matching
// // Variables: int_init_node2, int_init_node3, int_truediv_node1
// #[eggplant::pat_vars]
// struct rule_366Pat {
// int_init_node2: Int___init__,
// int_init_node3: Int___init__,
// int_truediv_node1: Int___truediv__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:368
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_init_node2, int_mod_node1
// #[eggplant::pat_vars]
// struct rule_368Pat {
// int_init_node3: Int___init__,
// int_init_node2: Int___init__,
// int_mod_node1: Int___mod__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:370
// // Pattern variables for rule matching
// // Variables: int_init_node2, int_init_node3, int_and_node1
// #[eggplant::pat_vars]
// struct rule_370Pat {
// int_init_node2: Int___init__,
// int_init_node3: Int___init__,
// int_and_node1: Int___and__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:372
// // Pattern variables for rule matching
// // Variables: int_init_node2, int_init_node3, int_or_node1
// #[eggplant::pat_vars]
// struct rule_372Pat {
// int_init_node2: Int___init__,
// int_init_node3: Int___init__,
// int_or_node1: Int___or__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:374
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_init_node2, int_xor_node1
// #[eggplant::pat_vars]
// struct rule_374Pat {
// int_init_node3: Int___init__,
// int_init_node2: Int___init__,
// int_xor_node1: Int___xor__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:376
// // Pattern variables for rule matching
// // Variables: int_init_node2, int_init_node3, int_lshift_node1
// #[eggplant::pat_vars]
// struct rule_376Pat {
// int_init_node2: Int___init__,
// int_init_node3: Int___init__,
// int_lshift_node1: Int___lshift__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:378
// // Pattern variables for rule matching
// // Variables: int_init_node3, int_init_node2, int_rshift_node1
// #[eggplant::pat_vars]
// struct rule_378Pat {
// int_init_node3: Int___init__,
// int_init_node2: Int___init__,
// int_rshift_node1: Int___rshift__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:380
// // Pattern variables for rule matching
// // Variables: int_init_node2, int_invert_node1
// #[eggplant::pat_vars]
// struct rule_380Pat {
// int_init_node2: Int___init__,
// int_invert_node1: Int___invert__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:381
// // Pattern variables for rule matching
// // Variables: __var__o, __var__b, int_if_node1
// #[eggplant::pat_vars]
// struct rule_381Pat {
// __var__o: Int,
// __var__b: Int,
// int_if_node1: Int_if_,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:382
// // Pattern variables for rule matching
// // Variables: __var__o, __var__b, int_if_node1
// #[eggplant::pat_vars]
// struct rule_382Pat {
// __var__o: Int,
// __var__b: Int,
// int_if_node1: Int_if_,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:390
// // Pattern variables for rule matching
// // Variables: __var__x, boolean_or_node1
// #[eggplant::pat_vars]
// struct rule_390Pat {
// __var__x: Boolean,
// boolean_or_node1: Boolean___or__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:391
// // Pattern variables for rule matching
// // Variables: __var__x, boolean_or_node1
// #[eggplant::pat_vars]
// struct rule_391Pat {
// __var__x: Boolean,
// boolean_or_node1: Boolean___or__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:393
// // Pattern variables for rule matching
// // Variables: __var__x, boolean_and_node1
// #[eggplant::pat_vars]
// struct rule_393Pat {
// __var__x: Boolean,
// boolean_and_node1: Boolean___and__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:394
// // Pattern variables for rule matching
// // Variables: __var__x, boolean_and_node1
// #[eggplant::pat_vars]
// struct rule_394Pat {
// __var__x: Boolean,
// boolean_and_node1: Boolean___and__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:396
// // Pattern variables for rule matching
// // Variables: __var__i, __var__j, boolean_if_int_node1
// #[eggplant::pat_vars]
// struct rule_396Pat {
// __var__i: Int,
// __var__j: Int,
// boolean_if_int_node1: Boolean_if_int,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:397
// // Pattern variables for rule matching
// // Variables: __var__i, __var__j, boolean_if_int_node1
// #[eggplant::pat_vars]
// struct rule_397Pat {
// __var__i: Int,
// __var__j: Int,
// boolean_if_int_node1: Boolean_if_int,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:399
// // Pattern variables for rule matching
// // Variables: boolean_invert_node1
// #[eggplant::pat_vars]
// struct rule_399Pat {
// boolean_invert_node1: Boolean___invert__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:400
// // Pattern variables for rule matching
// // Variables: boolean_invert_node1
// #[eggplant::pat_vars]
// struct rule_400Pat {
// boolean_invert_node1: Boolean___invert__,
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:409
// // Datatype 'IntOrTuple' defined with variants:
// // - IntOrTuple_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:318)
// #[eggplant::dsl]
// enum IntOrTuple {
// IntOrTuple_int {
// arg0: Int,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:424
// // Datatype 'Device' defined with variants:
// // - NDArray_device: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:329)
// #[eggplant::dsl]
// enum Device {
// NDArray_device {
// arg0: NDArray,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:427
// // Datatype 'MultiAxisIndexKey' defined with variants:
// // - MultiAxisIndexKey_from_vec: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:334)
// #[eggplant::dsl]
// enum MultiAxisIndexKey {
// MultiAxisIndexKey_from_vec {
// arg0: Vec_MultiAxisIndexKeyItem,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:429
// // Datatype 'MultiAxisIndexKeyItem' defined with variants:
// // - MultiAxisIndexKeyItem_int: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:335)
// // - MultiAxisIndexKeyItem_slice: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:337)
// #[eggplant::dsl]
// enum MultiAxisIndexKeyItem {
// MultiAxisIndexKeyItem_int {
// arg0: Int,
// },
// MultiAxisIndexKeyItem_slice {
// arg0: Slice,
// },
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:430
// // Datatype 'Vec_MultiAxisIndexKeyItem' defined with variants:
// #[eggplant::dsl]
// enum Vec_MultiAxisIndexKeyItem {
// }
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:433
// // Datatype 'Slice' defined with variants:
// // - Slice___init__: variant (defined at ./examples/tests/no-messages/stresstest_large_expr.egg:338)
// #[eggplant::dsl]
// enum Slice {
// Slice___init__ {
// arg0: OptionalInt,
// arg1: OptionalInt,
// arg2: OptionalInt,
// },
// }
// fn main() {
// env_logger::init();
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:1
// let default_ruleset = MyTx::new_ruleset("default_ruleset");
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:1
// tx_rx_vt_pr!(MyTx, MyPatRec);
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:6
// // Rule: rule_6
// MyTx::add_rule(
// "rule_6",
// default_ruleset,
// || {
// let __var__i = Int::query_leaf();
// let __var___ = Int::query_leaf();
// let cast_callable_int_int_int_lambda_i_i_node1 = cast_Callable__Int__Int___Int___lambda_i_____i_::query(&__var__i, &__var___);
// rule_6Pat::new(__var__i, __var___, cast_callable_int_int_int_lambda_i_i_node1)
// },
// |ctx, pat| {
// let result = pat.__var__i;
// ctx.union(pat.cast_callable_int_int_int_lambda_i_i_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:12
// // Rule: rule_12
// MyTx::add_rule(
// "rule_12",
// default_ruleset,
// || {
// let __var__i = Int::query_leaf();
// let tuple_int_single_node1 = TupleInt_single::query(&__var__i);
// rule_12Pat::new(__var__i, tuple_int_single_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_init(ctx.insert_int_init(1), ctx.insert_unstable_fn("cast_Callable__Int__Int___Int___lambda_i_____i_", pat.__var__i));
// ctx.union(pat.tuple_int_single_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:14
// // Rule: rule_14
// MyTx::add_rule(
// "rule_14",
// default_ruleset,
// || {
// let __var__i = Int::query_leaf();
// let cast_callable_int_int_lambda_i_i_node1 = cast_Callable__Int___Int___lambda_i__i_::query(&__var__i);
// rule_14Pat::new(__var__i, cast_callable_int_int_lambda_i_i_node1)
// },
// |ctx, pat| {
// let result = pat.__var__i;
// ctx.union(pat.cast_callable_int_int_lambda_i_i_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:16
// // Rule: rule_16
// MyTx::add_rule(
// "rule_16",
// default_ruleset,
// || {
// let __var__stop = Int::query_leaf();
// let tuple_int_range_node1 = TupleInt_range::query(&__var__stop);
// rule_16Pat::new(__var__stop, tuple_int_range_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_init(pat.__var__stop, ctx.insert_unstable_fn("cast_Callable__Int___Int___lambda_i__i_"));
// ctx.union(pat.tuple_int_range_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:20
// // Rule: rule_20
// MyTx::add_rule(
// "rule_20",
// default_ruleset,
// || {
// let __var__vec = Vec_Int::query_leaf();
// let tuple_int_from_vec_node1 = TupleInt_from_vec::query(&__var__vec);
// rule_20Pat::new(__var__vec, tuple_int_from_vec_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_init(ctx.insert_int_init(ctx.insert_vec_length(pat.__var__vec)), ctx.insert_unstable_fn("index_vec_int", pat.__var__vec));
// ctx.union(pat.tuple_int_from_vec_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:28
// // Rule: rule_28
// MyTx::add_rule(
// "rule_28",
// default_ruleset,
// || {
// let __var__other = cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____::query_leaf();
// let __var__self = cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____::query_leaf();
// let __var__i = cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____::query_leaf();
// let cast_callable_tuple_int_tuple_int_int_int_lambda_other_self_i_int_if_i_self_length_self_i_other_i_self_length_node1 = cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i___self_length____self_i___other_i___self_length_____::query(&__var__other, &__var__self, &__var__i);
// rule_28Pat::new(__var__other, __var__self, __var__i, cast_callable_tuple_int_tuple_int_int_int_lambda_other_self_i_int_if_i_self_length_self_i_other_i_self_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_if(ctx.insert_int_lt(pat.__var__i, ctx.insert_tuple_int_length(pat.__var__self)), ctx.insert_tuple_int_getitem(pat.__var__self, pat.__var__i), ctx.insert_tuple_int_getitem(pat.__var__other, ctx.insert_int_sub(pat.__var__i, ctx.insert_tuple_int_length(pat.__var__self))));
// ctx.union(pat.cast_callable_tuple_int_tuple_int_int_int_lambda_other_self_i_int_if_i_self_length_self_i_other_i_self_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:31
// // Rule: rule_31
// MyTx::add_rule(
// "rule_31",
// default_ruleset,
// || {
// let __var__self = TupleInt::query_leaf();
// let __var__other = TupleInt::query_leaf();
// let tuple_int_add_node1 = TupleInt___add__::query(&__var__self, &__var__other);
// rule_31Pat::new(__var__self, __var__other, tuple_int_add_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_init(ctx.insert_int_add(ctx.insert_tuple_int_length(pat.__var__self), ctx.insert_tuple_int_length(pat.__var__other)), ctx.insert_unstable_fn("cast_Callable__TupleInt__TupleInt__Int___Int___lambda_other__self__i__Int_if__i_<_self_length____self_i___other_i_-_self_length_____", pat.__var__other, pat.__var__self));
// ctx.union(pat.tuple_int_add_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:35
// // Rule: rule_35
// MyTx::add_rule(
// "rule_35",
// default_ruleset,
// || {
// let __var__i = cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__::query_leaf();
// let __var__acc = cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__::query_leaf();
// let __var__j = cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__::query_leaf();
// let cast_callable_int_boolean_int_boolean_lambda_i_acc_j_acc_i_j_node1 = cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc____i____j__::query(&__var__i, &__var__acc, &__var__j);
// rule_35Pat::new(__var__i, __var__acc, __var__j, cast_callable_int_boolean_int_boolean_lambda_i_acc_j_acc_i_j_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_boolean_or(pat.__var__acc, ctx.insert_int_eq(pat.__var__i, pat.__var__j));
// ctx.union(pat.cast_callable_int_boolean_int_boolean_lambda_i_acc_j_acc_i_j_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:40
// // Rule: rule_40
// MyTx::add_rule(
// "rule_40",
// default_ruleset,
// || {
// let __var__self = TupleInt::query_leaf();
// let __var__i = Int::query_leaf();
// let tuple_int_contains_node1 = TupleInt_contains::query(&__var__self, &__var__i);
// rule_40Pat::new(__var__self, __var__i, tuple_int_contains_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_fold_boolean(pat.__var__self, ctx.insert_false(), ctx.insert_unstable_fn("cast_Callable__Int__Boolean__Int___Boolean___lambda_i__acc__j__acc_|__i_==_j__", pat.__var__i));
// ctx.union(pat.tuple_int_contains_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:47
// // Rule: rule_47
// MyTx::add_rule(
// "rule_47",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let nd_array_size_node1 = NDArray_size::query(&__var__x);
// rule_47Pat::new(__var__x, nd_array_size_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_fold(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_int_init(1), ctx.insert_unstable_fn("Int___mul__"));
// ctx.union(pat.nd_array_size_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:55
// // Rule: rule_55
// MyTx::add_rule(
// "rule_55",
// default_ruleset,
// || {
// let __var__a = NDArray::query_leaf();
// let unique_values_node1 = unique_values::query(&__var__a);
// rule_55Pat::new(__var__a, unique_values_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_vector(ctx.insert_possible_values(ctx.insert_nd_array_index(pat.__var__a, ctx.insert_all_indices())));
// ctx.union(pat.unique_values_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:59
// // Rule: rule_59
// MyTx::add_rule(
// "rule_59",
// default_ruleset,
// || {
// let __var__i = Int::query_leaf();
// let value_int_node2 = Value_int::query(&__var__i);
// let value_isfinite_node1 = Value_isfinite::query(&value_int_node2);
// rule_59Pat::new(__var__i, value_int_node2, value_isfinite_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.value_isfinite_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:61
// // Rule: rule_61
// MyTx::add_rule(
// "rule_61",
// default_ruleset,
// || {
// let __var__b = Boolean::query_leaf();
// let value_bool_node2 = Value_bool::query(&__var__b);
// let value_isfinite_node1 = Value_isfinite::query(&value_bool_node2);
// rule_61Pat::new(__var__b, value_bool_node2, value_isfinite_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.value_isfinite_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:65
// // Rule: rule_65
// MyTx::add_rule(
// "rule_65",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node3 = Float___init__::query(&__var__f);
// let value_float_node2 = Value_float::query(&float_init_node3);
// let value_isfinite_node1 = Value_isfinite::query(&value_float_node2);
// let cond___var__f_NaN = { __var__f.handle().ne(&NaN.handle()) };
// rule_65Pat::new(__var__f, float_init_node3, value_isfinite_node1).assert(cond___var__f_NaN)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.value_isfinite_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:71
// // Rule: rule_71
// MyTx::add_rule(
// "rule_71",
// default_ruleset,
// || {
// let __var__arr = NDArray::query_leaf();
// let optional_int_or_tuple_none_node3 = OptionalIntOrTuple_none::query();
// let sum_node2 = sum::query(&__var__arr, &optional_int_or_tuple_none_node3);
// let isfinite_node1 = isfinite::query(&sum_node2);
// rule_71Pat::new(__var__arr, sum_node2, isfinite_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_bool(ctx.insert_value_isfinite(ctx.insert_nd_array_index(pat.__var__arr, ctx.insert_all_indices()))));
// ctx.union(pat.isfinite_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:73
// // Rule: rule_73
// MyTx::add_rule(
// "rule_73",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__vs = TupleValue::query_leaf();
// let assume_value_one_of_node2 = assume_value_one_of::query(&__var__x, &__var__vs);
// let nd_array_shape_node1 = NDArray_shape::query(&assume_value_one_of_node2);
// rule_73Pat::new(__var__x, __var__vs, assume_value_one_of_node2, nd_array_shape_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_shape(pat.__var__x);
// ctx.union(pat.nd_array_shape_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:76
// // Rule: rule_76
// MyTx::add_rule(
// "rule_76",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__vs = TupleValue::query_leaf();
// let assume_value_one_of_node2 = assume_value_one_of::query(&__var__x, &__var__vs);
// let nd_array_dtype_node1 = NDArray_dtype::query(&assume_value_one_of_node2);
// rule_76Pat::new(__var__x, __var__vs, assume_value_one_of_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_dtype(pat.__var__x);
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:82
// // Rule: rule_82
// MyTx::add_rule(
// "rule_82",
// default_ruleset,
// || {
// let __var__x = assume_isfinite::query_leaf();
// let assume_isfinite_node2 = assume_isfinite::query(&__var__x);
// let nd_array_shape_node1 = NDArray_shape::query(&assume_isfinite_node2);
// rule_82Pat::new(__var__x, assume_isfinite_node2, nd_array_shape_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_shape(pat.__var__x);
// ctx.union(pat.nd_array_shape_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:83
// // Rule: rule_83
// MyTx::add_rule(
// "rule_83",
// default_ruleset,
// || {
// let __var__x = assume_isfinite::query_leaf();
// let assume_isfinite_node2 = assume_isfinite::query(&__var__x);
// let nd_array_dtype_node1 = NDArray_dtype::query(&assume_isfinite_node2);
// rule_83Pat::new(__var__x, assume_isfinite_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_dtype(pat.__var__x);
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:84
// // Rule: rule_84
// MyTx::add_rule(
// "rule_84",
// default_ruleset,
// || {
// let __var__x = assume_isfinite::query_leaf();
// let assume_isfinite_node2 = assume_isfinite::query(&__var__x);
// let __var__ti = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&assume_isfinite_node2, &__var__ti);
// rule_84Pat::new(__var__x, __var__ti, nd_array_index_node1, assume_isfinite_node2)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_index(pat.__var__x, pat.__var__ti);
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:85
// // Rule: rule_85
// MyTx::add_rule(
// "rule_85",
// default_ruleset,
// || {
// let __var__x = assume_isfinite::query_leaf();
// let assume_isfinite_node3 = assume_isfinite::query(&__var__x);
// let __var__ti = TupleInt::query_leaf();
// let nd_array_index_node2 = NDArray_index::query(&assume_isfinite_node3, &__var__ti);
// let value_isfinite_node1 = Value_isfinite::query(&nd_array_index_node2);
// rule_85Pat::new(__var__x, __var__ti, assume_isfinite_node3, nd_array_index_node2, value_isfinite_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.value_isfinite_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:87
// // Rule: rule_87
// MyTx::add_rule(
// "rule_87",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__shape = TupleInt::query_leaf();
// let assume_shape_node2 = assume_shape::query(&__var__x, &__var__shape);
// let nd_array_shape_node1 = NDArray_shape::query(&assume_shape_node2);
// rule_87Pat::new(__var__x, __var__shape, assume_shape_node2, nd_array_shape_node1)
// },
// |ctx, pat| {
// let result = pat.__var__shape;
// ctx.union(pat.nd_array_shape_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:88
// // Rule: rule_88
// MyTx::add_rule(
// "rule_88",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__shape = TupleInt::query_leaf();
// let assume_shape_node2 = assume_shape::query(&__var__x, &__var__shape);
// let nd_array_dtype_node1 = NDArray_dtype::query(&assume_shape_node2);
// rule_88Pat::new(__var__x, __var__shape, assume_shape_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_dtype(pat.__var__x);
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:89
// // Rule: rule_89
// MyTx::add_rule(
// "rule_89",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__shape = TupleInt::query_leaf();
// let assume_shape_node2 = assume_shape::query(&__var__x, &__var__shape);
// let __var__idx = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&assume_shape_node2, &__var__idx);
// rule_89Pat::new(__var__x, __var__shape, __var__idx, assume_shape_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_index(pat.__var__x, pat.__var__idx);
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:91
// // Rule: rule_91
// MyTx::add_rule(
// "rule_91",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__dtype = DType::query_leaf();
// let assume_dtype_node2 = assume_dtype::query(&__var__x, &__var__dtype);
// let nd_array_dtype_node1 = NDArray_dtype::query(&assume_dtype_node2);
// rule_91Pat::new(__var__x, __var__dtype, assume_dtype_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = pat.__var__dtype;
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:92
// // Rule: rule_92
// MyTx::add_rule(
// "rule_92",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__dtype = DType::query_leaf();
// let assume_dtype_node2 = assume_dtype::query(&__var__x, &__var__dtype);
// let nd_array_shape_node1 = NDArray_shape::query(&assume_dtype_node2);
// rule_92Pat::new(__var__x, __var__dtype, assume_dtype_node2, nd_array_shape_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_shape(pat.__var__x);
// ctx.union(pat.nd_array_shape_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:93
// // Rule: rule_93
// MyTx::add_rule(
// "rule_93",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__dtype = DType::query_leaf();
// let assume_dtype_node2 = assume_dtype::query(&__var__x, &__var__dtype);
// let __var__idx = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&assume_dtype_node2, &__var__idx);
// rule_93Pat::new(__var__x, __var__dtype, __var__idx, assume_dtype_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_index(pat.__var__x, pat.__var__idx);
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:97
// // Rule: rule_97
// MyTx::add_rule(
// "rule_97",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__i = Int::query_leaf();
// let index_key_int_node2 = IndexKey_int::query(&__var__i);
// let nd_array_getitem_node1 = NDArray___getitem__::query(&__var__x, &index_key_int_node2);
// rule_97Pat::new(__var__x, __var__i, nd_array_getitem_node1, index_key_int_node2)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_nd_array_index(pat.__var__x, ctx.insert_tuple_int_single(pat.__var__i)));
// ctx.union(pat.nd_array_getitem_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:110
// // Rule: rule_110
// MyTx::add_rule(
// "rule_110",
// default_ruleset,
// || {
// let __var__vs = TupleValue::query_leaf();
// let nd_array_vector_node2 = NDArray_vector::query(&__var__vs);
// let nd_array_shape_node1 = NDArray_shape::query(&nd_array_vector_node2);
// rule_110Pat::new(__var__vs, nd_array_vector_node2, nd_array_shape_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_single(ctx.insert_tuple_value_length(pat.__var__vs));
// ctx.union(pat.nd_array_shape_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:113
// // Rule: rule_113
// MyTx::add_rule(
// "rule_113",
// default_ruleset,
// || {
// let __var__vs = TupleValue::query_leaf();
// let nd_array_vector_node2 = NDArray_vector::query(&__var__vs);
// let nd_array_dtype_node1 = NDArray_dtype::query(&nd_array_vector_node2);
// rule_113Pat::new(__var__vs, nd_array_vector_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_value_dtype(ctx.insert_tuple_value_getitem(pat.__var__vs, ctx.insert_int_init(0)));
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:114
// // Rule: rule_114
// MyTx::add_rule(
// "rule_114",
// default_ruleset,
// || {
// let __var__vs = TupleValue::query_leaf();
// let nd_array_vector_node2 = NDArray_vector::query(&__var__vs);
// let __var__ti = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&nd_array_vector_node2, &__var__ti);
// rule_114Pat::new(__var__vs, __var__ti, nd_array_vector_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_value_getitem(pat.__var__vs, ctx.insert_tuple_int_getitem(pat.__var__ti, ctx.insert_int_init(0)));
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:116
// // Rule: rule_116
// MyTx::add_rule(
// "rule_116",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let nd_array_scalar_node2 = NDArray_scalar::query(&__var__v);
// let nd_array_shape_node1 = NDArray_shape::query(&nd_array_scalar_node2);
// rule_116Pat::new(__var__v, nd_array_scalar_node2, nd_array_shape_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_empty();
// ctx.union(pat.nd_array_shape_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:117
// // Rule: rule_117
// MyTx::add_rule(
// "rule_117",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let nd_array_scalar_node2 = NDArray_scalar::query(&__var__v);
// let nd_array_dtype_node1 = NDArray_dtype::query(&nd_array_scalar_node2);
// rule_117Pat::new(__var__v, nd_array_scalar_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_value_dtype(pat.__var__v);
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:118
// // Rule: rule_118
// MyTx::add_rule(
// "rule_118",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let nd_array_scalar_node2 = NDArray_scalar::query(&__var__v);
// let tuple_int_empty_node3 = TupleInt_EMPTY::query();
// let nd_array_index_node1 = NDArray_index::query(&nd_array_scalar_node2, &tuple_int_empty_node3);
// rule_118Pat::new(__var__v, nd_array_scalar_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = pat.__var__v;
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:122
// // Rule: rule_122
// MyTx::add_rule(
// "rule_122",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let any_node1 = any::query(&__var__x);
// rule_122Pat::new(__var__x, any_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_bool(ctx.insert_tuple_value_includes(ctx.insert_possible_values(ctx.insert_value_to_truthy_value(ctx.insert_nd_array_index(pat.__var__x, ctx.insert_all_indices()))), ctx.insert_value_bool(ctx.insert_true()))));
// ctx.union(pat.any_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:127
// // Rule: rule_127
// MyTx::add_rule(
// "rule_127",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__y = NDArray::query_leaf();
// let nd_array_lt_node2 = NDArray___lt__::query(&__var__x, &__var__y);
// let __var__idx = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&nd_array_lt_node2, &__var__idx);
// rule_127Pat::new(__var__x, __var__y, __var__idx, nd_array_index_node1, nd_array_lt_node2)
// },
// |ctx, pat| {
// let result = ctx.insert_value_lt(ctx.insert_nd_array_index(pat.__var__x, ctx.insert_broadcast_index(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_broadcast_shapes(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_nd_array_shape(pat.__var__y)), pat.__var__idx)), ctx.insert_nd_array_index(pat.__var__y, ctx.insert_broadcast_index(ctx.insert_nd_array_shape(pat.__var__y), ctx.insert_broadcast_shapes(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_nd_array_shape(pat.__var__y)), pat.__var__idx)));
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:130
// // Rule: rule_130
// MyTx::add_rule(
// "rule_130",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__y = NDArray::query_leaf();
// let nd_array_truediv_node2 = NDArray___truediv__::query(&__var__x, &__var__y);
// let __var__idx = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&nd_array_truediv_node2, &__var__idx);
// rule_130Pat::new(__var__x, __var__y, __var__idx, nd_array_truediv_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_value_truediv(ctx.insert_nd_array_index(pat.__var__x, ctx.insert_broadcast_index(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_broadcast_shapes(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_nd_array_shape(pat.__var__y)), pat.__var__idx)), ctx.insert_nd_array_index(pat.__var__y, ctx.insert_broadcast_index(ctx.insert_nd_array_shape(pat.__var__y), ctx.insert_broadcast_shapes(ctx.insert_nd_array_shape(pat.__var__x), ctx.insert_nd_array_shape(pat.__var__y)), pat.__var__idx)));
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:131
// // Rule: rule_131
// MyTx::add_rule(
// "rule_131",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let nd_array_scalar_node2 = NDArray_scalar::query(&__var__v);
// let __var__idx = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&nd_array_scalar_node2, &__var__idx);
// rule_131Pat::new(__var__v, __var__idx, nd_array_scalar_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = pat.__var__v;
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:134
// // Rule: rule_134
// MyTx::add_rule(
// "rule_134",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__dtype = DType::query_leaf();
// let astype_node2 = astype::query(&__var__x, &__var__dtype);
// let __var__idx = TupleInt::query_leaf();
// let nd_array_index_node1 = NDArray_index::query(&astype_node2, &__var__idx);
// rule_134Pat::new(__var__x, __var__dtype, __var__idx, astype_node2, nd_array_index_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_value_astype(ctx.insert_nd_array_index(pat.__var__x, pat.__var__idx), pat.__var__dtype);
// ctx.union(pat.nd_array_index_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:164
// // Rule: rule_164
// MyTx::add_rule(
// "rule_164",
// default_ruleset,
// || {
// let __var__b = Boolean::query_leaf();
// let value_bool_node2 = Value_bool::query(&__var__b);
// let possible_values_node1 = possible_values::query(&value_bool_node2);
// rule_164Pat::new(__var__b, value_bool_node2, possible_values_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_value_init(ctx.insert_value_bool(pat.__var__b));
// ctx.union(pat.possible_values_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:171
// // Rule: rule_171
// MyTx::add_rule(
// "rule_171",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__full_matrices = Boolean::query_leaf();
// let svd_node2 = svd::query(&__var__x, &__var__full_matrices);
// let tuple_nd_array_length_node1 = TupleNDArray_length::query(&svd_node2);
// rule_171Pat::new(__var__x, __var__full_matrices, svd_node2, tuple_nd_array_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(3);
// ctx.union(pat.tuple_nd_array_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:173
// // Rule: rule_173
// MyTx::add_rule(
// "rule_173",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let unique_inverse_node2 = unique_inverse::query(&__var__x);
// let tuple_nd_array_length_node1 = TupleNDArray_length::query(&unique_inverse_node2);
// rule_173Pat::new(__var__x, unique_inverse_node2, tuple_nd_array_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(2);
// ctx.union(pat.tuple_nd_array_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:174
// // Rule: rule_174
// MyTx::add_rule(
// "rule_174",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let unique_inverse_node2 = unique_inverse::query(&__var__x);
// let int_init_node3 = Int___init__::query();
// let tuple_nd_array_getitem_node1 = TupleNDArray___getitem__::query(&unique_inverse_node2, &int_init_node3);
// rule_174Pat::new(__var__x, unique_inverse_node2, tuple_nd_array_getitem_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_unique_values(pat.__var__x);
// ctx.union(pat.tuple_nd_array_getitem_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:177
// // Rule: rule_177
// MyTx::add_rule(
// "rule_177",
// default_ruleset,
// || {
// let __var__f = Float::query_leaf();
// let value_float_node3 = Value_float::query(&__var__f);
// let nd_array_scalar_node2 = NDArray_scalar::query(&value_float_node3);
// let ndarray_abs_node1 = ndarray_abs::query(&nd_array_scalar_node2);
// rule_177Pat::new(__var__f, value_float_node3, ndarray_abs_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_float(ctx.insert_float_abs(pat.__var__f)));
// ctx.union(pat.ndarray_abs_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:178
// // Rule: rule_178
// MyTx::add_rule(
// "rule_178",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let unique_counts_node2 = unique_counts::query(&__var__x);
// let tuple_nd_array_length_node1 = TupleNDArray_length::query(&unique_counts_node2);
// rule_178Pat::new(__var__x, unique_counts_node2, tuple_nd_array_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(2);
// ctx.union(pat.tuple_nd_array_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:179
// // Rule: rule_179
// MyTx::add_rule(
// "rule_179",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let unique_counts_node3 = unique_counts::query(&__var__x);
// let int_init_node4 = Int___init__::query();
// let tuple_nd_array_getitem_node2 = TupleNDArray___getitem__::query(&unique_counts_node3, &int_init_node4);
// let optional_int_or_tuple_none_node5 = OptionalIntOrTuple_none::query();
// let sum_node1 = sum::query(&tuple_nd_array_getitem_node2, &optional_int_or_tuple_none_node5);
// rule_179Pat::new(__var__x, unique_counts_node3, sum_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_int(ctx.insert_nd_array_size(pat.__var__x)));
// ctx.union(pat.sum_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:180
// // Rule: rule_180
// MyTx::add_rule(
// "rule_180",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let unique_counts_node4 = unique_counts::query(&__var__x);
// let int_init_node5 = Int___init__::query();
// let tuple_nd_array_getitem_node3 = TupleNDArray___getitem__::query(&unique_counts_node4, &int_init_node5);
// let __var__dtype = DType::query_leaf();
// let astype_node2 = astype::query(&tuple_nd_array_getitem_node3, &__var__dtype);
// let optional_int_or_tuple_none_node6 = OptionalIntOrTuple_none::query();
// let sum_node1 = sum::query(&astype_node2, &optional_int_or_tuple_none_node6);
// rule_180Pat::new(__var__x, __var__dtype, unique_counts_node4, astype_node2, sum_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_astype(ctx.insert_nd_array_scalar(ctx.insert_value_int(ctx.insert_nd_array_size(pat.__var__x))), pat.__var__dtype);
// ctx.union(pat.sum_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:181
// // Rule: rule_181
// MyTx::add_rule(
// "rule_181",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__dtype = DType::query_leaf();
// let astype_node2 = astype::query(&__var__x, &__var__dtype);
// let nd_array_dtype_node1 = NDArray_dtype::query(&astype_node2);
// rule_181Pat::new(__var__x, __var__dtype, astype_node2, nd_array_dtype_node1)
// },
// |ctx, pat| {
// let result = pat.__var__dtype;
// ctx.union(pat.nd_array_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:183
// // Rule: rule_183
// MyTx::add_rule(
// "rule_183",
// default_ruleset,
// || {
// let int_init_node4 = Int___init__::query();
// let value_int_node3 = Value_int::query(&int_init_node4);
// let nd_array_scalar_node2 = NDArray_scalar::query(&value_int_node3);
// let d_type_float64_node5 = DType_float64::query();
// let astype_node1 = astype::query(&nd_array_scalar_node2, &d_type_float64_node5);
// rule_183Pat::new(int_init_node4, astype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_float(ctx.insert_float_init(ctx.insert_to_f64(ctx.devalue(pat.int_init_node4.arg0)))));
// ctx.union(pat.astype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:188
// // Rule: rule_188
// MyTx::add_rule(
// "rule_188",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let tuple_nd_array_init_node2 = TupleNDArray___init__::query(&__var__x);
// let optional_int_none_node3 = OptionalInt_none::query();
// let concat_node1 = concat::query(&tuple_nd_array_init_node2, &optional_int_none_node3);
// rule_188Pat::new(__var__x, tuple_nd_array_init_node2, concat_node1)
// },
// |ctx, pat| {
// let result = pat.__var__x;
// ctx.union(pat.concat_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:189
// // Rule: rule_189
// MyTx::add_rule(
// "rule_189",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let unique_values_node2 = unique_values::query(&__var__x);
// let unique_values_node1 = unique_values::query(&unique_values_node2);
// rule_189Pat::new(__var__x, unique_values_node2, unique_values_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_unique_values(pat.__var__x);
// ctx.union(pat.unique_values_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:190
// // Rule: rule_190
// MyTx::add_rule(
// "rule_190",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let __var__v = Value::query_leaf();
// let nd_array_scalar_node3 = NDArray_scalar::query(&__var__v);
// let nd_array_truediv_node2 = NDArray___truediv__::query(&__var__x, &nd_array_scalar_node3);
// let optional_int_or_tuple_none_node4 = OptionalIntOrTuple_none::query();
// let sum_node1 = sum::query(&nd_array_truediv_node2, &optional_int_or_tuple_none_node4);
// rule_190Pat::new(__var__x, __var__v, nd_array_truediv_node2, nd_array_scalar_node3, sum_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_truediv(ctx.insert_sum(pat.__var__x, ctx.insert_optional_int_or_tuple_none()), ctx.insert_nd_array_scalar(pat.__var__v));
// ctx.union(pat.sum_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:196
// // Rule: rule_196
// MyTx::add_rule(
// "rule_196",
// default_ruleset,
// || {
// let __var__a = NDArray::query_leaf();
// let __var__d = OptionalDType::query_leaf();
// let __var__ob = OptionalBool::query_leaf();
// let optional_device_none_node3 = OptionalDevice_none::query();
// let asarray_node2 = asarray::query(&__var__a, &__var__d, &__var__ob, &optional_device_none_node3);
// let nd_array_ndim_node1 = NDArray_ndim::query(&asarray_node2);
// rule_196Pat::new(__var__a, __var__d, __var__ob, asarray_node2, nd_array_ndim_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_ndim(pat.__var__a);
// ctx.union(pat.nd_array_ndim_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:199
// // Rule: rule_199
// MyTx::add_rule(
// "rule_199",
// default_ruleset,
// || {
// let __var__a = NDArray::query_leaf();
// let optional_d_type_none_node2 = OptionalDType_none::query();
// let optional_bool_none_node3 = OptionalBool_none::query();
// let optional_device_none_node4 = OptionalDevice_none::query();
// let asarray_node1 = asarray::query(&__var__a, &optional_d_type_none_node2, &optional_bool_none_node3, &optional_device_none_node4);
// rule_199Pat::new(__var__a, asarray_node1)
// },
// |ctx, pat| {
// let result = pat.__var__a;
// ctx.union(pat.asarray_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:202
// // Rule: rule_202
// MyTx::add_rule(
// "rule_202",
// default_ruleset,
// || {
// let __var__ti = TupleNDArray::query_leaf();
// let tuple_nd_array_empty_node2 = TupleNDArray_EMPTY::query();
// let tuple_nd_array_add_node1 = TupleNDArray___add__::query(&__var__ti, &tuple_nd_array_empty_node2);
// rule_202Pat::new(__var__ti, tuple_nd_array_add_node1)
// },
// |ctx, pat| {
// let result = pat.__var__ti;
// ctx.union(pat.tuple_nd_array_add_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:203
// // Rule: rule_203
// MyTx::add_rule(
// "rule_203",
// default_ruleset,
// || {
// let __var__n = NDArray::query_leaf();
// let tuple_nd_array_init_node2 = TupleNDArray___init__::query(&__var__n);
// let tuple_nd_array_length_node1 = TupleNDArray_length::query(&tuple_nd_array_init_node2);
// rule_203Pat::new(__var__n, tuple_nd_array_init_node2, tuple_nd_array_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(1);
// ctx.union(pat.tuple_nd_array_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:204
// // Rule: rule_204
// MyTx::add_rule(
// "rule_204",
// default_ruleset,
// || {
// let __var__ti = TupleNDArray::query_leaf();
// let __var__ti2 = TupleNDArray::query_leaf();
// let tuple_nd_array_add_node2 = TupleNDArray___add__::query(&__var__ti, &__var__ti2);
// let tuple_nd_array_length_node1 = TupleNDArray_length::query(&tuple_nd_array_add_node2);
// rule_204Pat::new(__var__ti, __var__ti2, tuple_nd_array_add_node2, tuple_nd_array_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_add(ctx.insert_tuple_nd_array_length(pat.__var__ti), ctx.insert_tuple_nd_array_length(pat.__var__ti2));
// ctx.union(pat.tuple_nd_array_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:205
// // Rule: rule_205
// MyTx::add_rule(
// "rule_205",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let nd_array_ndim_node1 = NDArray_ndim::query(&__var__x);
// rule_205Pat::new(__var__x, nd_array_ndim_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_length(ctx.insert_nd_array_shape(pat.__var__x));
// ctx.union(pat.nd_array_ndim_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:207
// // Rule: rule_207
// MyTx::add_rule(
// "rule_207",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let nd_array_to_value_node1 = NDArray_to_value::query(&__var__x);
// rule_207Pat::new(__var__x, nd_array_to_value_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_index(pat.__var__x, ctx.insert_tuple_int_empty());
// ctx.union(pat.nd_array_to_value_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:208
// // Rule: rule_208
// MyTx::add_rule(
// "rule_208",
// default_ruleset,
// || {
// let __var__f = Float::query_leaf();
// let value_float_node3 = Value_float::query(&__var__f);
// let nd_array_scalar_node2 = NDArray_scalar::query(&value_float_node3);
// let value_float_node5 = Value_float::query(&__var__f);
// let nd_array_scalar_node4 = NDArray_scalar::query(&value_float_node5);
// let nd_array_truediv_node1 = NDArray___truediv__::query(&nd_array_scalar_node2, &nd_array_scalar_node4);
// rule_208Pat::new(__var__f, value_float_node5, nd_array_truediv_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_float(ctx.insert_float_init(pat.1_0)));
// ctx.union(pat.nd_array_truediv_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:210
// // Rule: rule_210
// MyTx::add_rule(
// "rule_210",
// default_ruleset,
// || {
// let __var__f = Float::query_leaf();
// let value_float_node3 = Value_float::query(&__var__f);
// let nd_array_scalar_node2 = NDArray_scalar::query(&value_float_node3);
// let value_float_node5 = Value_float::query(&__var__f);
// let nd_array_scalar_node4 = NDArray_scalar::query(&value_float_node5);
// let nd_array_sub_node1 = NDArray___sub__::query(&nd_array_scalar_node2, &nd_array_scalar_node4);
// rule_210Pat::new(__var__f, value_float_node5, nd_array_sub_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_float(ctx.insert_float_init(pat.0_0)));
// ctx.union(pat.nd_array_sub_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:212
// // Rule: rule_212
// MyTx::add_rule(
// "rule_212",
// default_ruleset,
// || {
// let __var__fi1 = Float___init__::query_leaf();
// let float_init_node4 = Float___init__::query(&__var__fi1);
// let value_float_node3 = Value_float::query(&float_init_node4);
// let nd_array_scalar_node2 = NDArray_scalar::query(&value_float_node3);
// let __var__fi2 = Float___init__::query_leaf();
// let float_init_node7 = Float___init__::query(&__var__fi2);
// let value_float_node6 = Value_float::query(&float_init_node7);
// let nd_array_scalar_node5 = NDArray_scalar::query(&value_float_node6);
// let nd_array_gt_node1 = NDArray___gt__::query(&nd_array_scalar_node2, &nd_array_scalar_node5);
// let cond___var__fi1___var__fi2 = { __var__fi1.handle().gt(&__var__fi2.handle()) };
// rule_212Pat::new(__var__fi1, __var__fi2, float_init_node7, float_init_node4, nd_array_gt_node1).assert(cond___var__fi1___var__fi2)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_bool(ctx.insert_true()));
// ctx.union(pat.nd_array_gt_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:213
// // Rule: rule_213
// MyTx::add_rule(
// "rule_213",
// default_ruleset,
// || {
// let __var__fi1 = Float___init__::query_leaf();
// let float_init_node4 = Float___init__::query(&__var__fi1);
// let value_float_node3 = Value_float::query(&float_init_node4);
// let nd_array_scalar_node2 = NDArray_scalar::query(&value_float_node3);
// let __var__fi2 = Float___init__::query_leaf();
// let float_init_node7 = Float___init__::query(&__var__fi2);
// let value_float_node6 = Value_float::query(&float_init_node7);
// let nd_array_scalar_node5 = NDArray_scalar::query(&value_float_node6);
// let nd_array_gt_node1 = NDArray___gt__::query(&nd_array_scalar_node2, &nd_array_scalar_node5);
// let cond___var__fi1___var__fi2 = { __var__fi1.handle().le(&__var__fi2.handle()) };
// rule_213Pat::new(__var__fi1, __var__fi2, float_init_node7, float_init_node4, nd_array_gt_node1).assert(cond___var__fi1___var__fi2)
// },
// |ctx, pat| {
// let result = ctx.insert_nd_array_scalar(ctx.insert_value_bool(ctx.insert_false()));
// ctx.union(pat.nd_array_gt_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:215
// // Rule: rule_215
// MyTx::add_rule(
// "rule_215",
// default_ruleset,
// || {
// let __var__x = NDArray::query_leaf();
// let nd_array_t_node2 = NDArray_T::query(&__var__x);
// let nd_array_t_node1 = NDArray_T::query(&nd_array_t_node2);
// rule_215Pat::new(__var__x, nd_array_t_node2, nd_array_t_node1)
// },
// |ctx, pat| {
// let result = pat.__var__x;
// ctx.union(pat.nd_array_t_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:218
// // Rule: rule_218
// MyTx::add_rule(
// "rule_218",
// default_ruleset,
// || {
// let __var__ti = TupleValue::query_leaf();
// let tuple_value_empty_node2 = TupleValue_EMPTY::query();
// let tuple_value_add_node1 = TupleValue___add__::query(&__var__ti, &tuple_value_empty_node2);
// rule_218Pat::new(__var__ti, tuple_value_add_node1)
// },
// |ctx, pat| {
// let result = pat.__var__ti;
// ctx.union(pat.tuple_value_add_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:219
// // Rule: rule_219
// MyTx::add_rule(
// "rule_219",
// default_ruleset,
// || {
// let tuple_value_empty_node2 = TupleValue_EMPTY::query();
// let tuple_value_length_node1 = TupleValue_length::query(&tuple_value_empty_node2);
// rule_219Pat::new(tuple_value_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(0);
// ctx.union(pat.tuple_value_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:220
// // Rule: rule_220
// MyTx::add_rule(
// "rule_220",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let tuple_value_init_node2 = TupleValue___init__::query(&__var__v);
// let tuple_value_length_node1 = TupleValue_length::query(&tuple_value_init_node2);
// rule_220Pat::new(__var__v, tuple_value_init_node2, tuple_value_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(1);
// ctx.union(pat.tuple_value_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:221
// // Rule: rule_221
// MyTx::add_rule(
// "rule_221",
// default_ruleset,
// || {
// let __var__ti = TupleValue::query_leaf();
// let __var__ti2 = TupleValue::query_leaf();
// let tuple_value_add_node2 = TupleValue___add__::query(&__var__ti, &__var__ti2);
// let tuple_value_length_node1 = TupleValue_length::query(&tuple_value_add_node2);
// rule_221Pat::new(__var__ti, __var__ti2, tuple_value_add_node2, tuple_value_length_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_add(ctx.insert_tuple_value_length(pat.__var__ti), ctx.insert_tuple_value_length(pat.__var__ti2));
// ctx.union(pat.tuple_value_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:222
// // Rule: rule_222
// MyTx::add_rule(
// "rule_222",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let tuple_value_init_node2 = TupleValue___init__::query(&__var__v);
// let int_init_node3 = Int___init__::query();
// let tuple_value_getitem_node1 = TupleValue___getitem__::query(&tuple_value_init_node2, &int_init_node3);
// rule_222Pat::new(__var__v, tuple_value_init_node2, tuple_value_getitem_node1)
// },
// |ctx, pat| {
// let result = pat.__var__v;
// ctx.union(pat.tuple_value_getitem_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:223
// // Rule: rule_223
// MyTx::add_rule(
// "rule_223",
// default_ruleset,
// || {
// let __var__v = Value::query_leaf();
// let tuple_value_init_node3 = TupleValue___init__::query(&__var__v);
// let __var__ti = TupleValue::query_leaf();
// let tuple_value_add_node2 = TupleValue___add__::query(&tuple_value_init_node3, &__var__ti);
// let int_init_node4 = Int___init__::query();
// let tuple_value_getitem_node1 = TupleValue___getitem__::query(&tuple_value_add_node2, &int_init_node4);
// rule_223Pat::new(__var__v, __var__ti, tuple_value_add_node2, tuple_value_init_node3, tuple_value_getitem_node1)
// },
// |ctx, pat| {
// let result = pat.__var__v;
// ctx.union(pat.tuple_value_getitem_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:231
// // Rule: rule_231
// MyTx::add_rule(
// "rule_231",
// default_ruleset,
// || {
// let __var__ti = TupleValue::query_leaf();
// let __var__ti2 = TupleValue::query_leaf();
// let tuple_value_add_node2 = TupleValue___add__::query(&__var__ti, &__var__ti2);
// let __var__v = Value::query_leaf();
// let tuple_value_includes_node1 = TupleValue_includes::query(&tuple_value_add_node2, &__var__v);
// rule_231Pat::new(__var__ti, __var__ti2, __var__v, tuple_value_add_node2, tuple_value_includes_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_boolean_or(ctx.insert_tuple_value_includes(pat.__var__ti, pat.__var__v), ctx.insert_tuple_value_includes(pat.__var__ti2, pat.__var__v));
// ctx.union(pat.tuple_value_includes_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:233
// // Rule: rule_233
// MyTx::add_rule(
// "rule_233",
// default_ruleset,
// || {
// let __var__i = Int::query_leaf();
// let value_int_node2 = Value_int::query(&__var__i);
// let value_dtype_node1 = Value_dtype::query(&value_int_node2);
// rule_233Pat::new(__var__i, value_int_node2, value_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_d_type_int64();
// ctx.union(pat.value_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:234
// // Rule: rule_234
// MyTx::add_rule(
// "rule_234",
// default_ruleset,
// || {
// let __var__f = Float::query_leaf();
// let value_float_node2 = Value_float::query(&__var__f);
// let value_dtype_node1 = Value_dtype::query(&value_float_node2);
// rule_234Pat::new(__var__f, value_float_node2, value_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_d_type_float64();
// ctx.union(pat.value_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:236
// // Rule: rule_236
// MyTx::add_rule(
// "rule_236",
// default_ruleset,
// || {
// let __var__b = Boolean::query_leaf();
// let value_bool_node2 = Value_bool::query(&__var__b);
// let value_dtype_node1 = Value_dtype::query(&value_bool_node2);
// rule_236Pat::new(__var__b, value_bool_node2, value_dtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_d_type_bool();
// ctx.union(pat.value_dtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:238
// // Rule: rule_238
// MyTx::add_rule(
// "rule_238",
// default_ruleset,
// || {
// let __var__b = Boolean::query_leaf();
// let value_bool_node2 = Value_bool::query(&__var__b);
// let value_to_bool_node1 = Value_to_bool::query(&value_bool_node2);
// rule_238Pat::new(__var__b, value_bool_node2, value_to_bool_node1)
// },
// |ctx, pat| {
// let result = pat.__var__b;
// ctx.union(pat.value_to_bool_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:240
// // Rule: rule_240
// MyTx::add_rule(
// "rule_240",
// default_ruleset,
// || {
// let __var__i = Int::query_leaf();
// let value_int_node2 = Value_int::query(&__var__i);
// let value_to_int_node1 = Value_to_int::query(&value_int_node2);
// rule_240Pat::new(__var__i, value_int_node2, value_to_int_node1)
// },
// |ctx, pat| {
// let result = pat.__var__i;
// ctx.union(pat.value_to_int_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:241
// // Rule: rule_241
// MyTx::add_rule(
// "rule_241",
// default_ruleset,
// || {
// let __var__b = Boolean::query_leaf();
// let value_bool_node2 = Value_bool::query(&__var__b);
// let value_to_truthy_value_node1 = Value_to_truthy_value::query(&value_bool_node2);
// rule_241Pat::new(__var__b, value_bool_node2, value_to_truthy_value_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_value_bool(pat.__var__b);
// ctx.union(pat.value_to_truthy_value_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:246
// // Rule: rule_246
// MyTx::add_rule(
// "rule_246",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_float32_node2, &is_dtype_kind_string_node3);
// rule_246Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:247
// // Rule: rule_247
// MyTx::add_rule(
// "rule_247",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_float64_node2, &is_dtype_kind_string_node3);
// rule_247Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:249
// // Rule: rule_249
// MyTx::add_rule(
// "rule_249",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_object_node2, &is_dtype_kind_string_node3);
// rule_249Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:250
// // Rule: rule_250
// MyTx::add_rule(
// "rule_250",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_int64_node2, &is_dtype_kind_string_node3);
// rule_250Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:252
// // Rule: rule_252
// MyTx::add_rule(
// "rule_252",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_int32_node2, &is_dtype_kind_string_node3);
// rule_252Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:253
// // Rule: rule_253
// MyTx::add_rule(
// "rule_253",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_float32_node2, &is_dtype_kind_string_node3);
// rule_253Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:254
// // Rule: rule_254
// MyTx::add_rule(
// "rule_254",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_float64_node2, &is_dtype_kind_string_node3);
// rule_254Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:255
// // Rule: rule_255
// MyTx::add_rule(
// "rule_255",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_object_node2, &is_dtype_kind_string_node3);
// rule_255Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:256
// // Rule: rule_256
// MyTx::add_rule(
// "rule_256",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_int64_node2, &is_dtype_kind_string_node3);
// rule_256Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:257
// // Rule: rule_257
// MyTx::add_rule(
// "rule_257",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_int32_node2, &is_dtype_kind_string_node3);
// rule_257Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:258
// // Rule: rule_258
// MyTx::add_rule(
// "rule_258",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_float32_node2, &is_dtype_kind_string_node3);
// rule_258Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:259
// // Rule: rule_259
// MyTx::add_rule(
// "rule_259",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_float64_node2, &is_dtype_kind_string_node3);
// rule_259Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:260
// // Rule: rule_260
// MyTx::add_rule(
// "rule_260",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_object_node2, &is_dtype_kind_string_node3);
// rule_260Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:261
// // Rule: rule_261
// MyTx::add_rule(
// "rule_261",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_int64_node2, &is_dtype_kind_string_node3);
// rule_261Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:262
// // Rule: rule_262
// MyTx::add_rule(
// "rule_262",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let is_dtype_kind_string_node3 = IsDtypeKind_string::query();
// let isdtype_node1 = isdtype::query(&d_type_int32_node2, &is_dtype_kind_string_node3);
// rule_262Pat::new(isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:264
// // Rule: rule_264
// MyTx::add_rule(
// "rule_264",
// default_ruleset,
// || {
// let __var__d = DType::query_leaf();
// let is_dtype_kind_null_node2 = IsDtypeKind_NULL::query();
// let isdtype_node1 = isdtype::query(&__var__d, &is_dtype_kind_null_node2);
// rule_264Pat::new(__var__d, isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:266
// // Rule: rule_266
// MyTx::add_rule(
// "rule_266",
// default_ruleset,
// || {
// let __var__d = DType::query_leaf();
// let is_dtype_kind_dtype_node2 = IsDtypeKind_dtype::query(&__var__d);
// let isdtype_node1 = isdtype::query(&__var__d, &is_dtype_kind_dtype_node2);
// rule_266Pat::new(__var__d, is_dtype_kind_dtype_node2, isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:268
// // Rule: rule_268
// MyTx::add_rule(
// "rule_268",
// default_ruleset,
// || {
// let __var__d = DType::query_leaf();
// let __var__k1 = IsDtypeKind___or__::query_leaf();
// let __var__k2 = IsDtypeKind___or__::query_leaf();
// let is_dtype_kind_or_node2 = IsDtypeKind___or__::query(&__var__k1, &__var__k2);
// let isdtype_node1 = isdtype::query(&__var__d, &is_dtype_kind_or_node2);
// rule_268Pat::new(__var__d, __var__k1, __var__k2, is_dtype_kind_or_node2, isdtype_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_boolean_or(ctx.insert_isdtype(pat.__var__d, pat.__var__k1), ctx.insert_isdtype(pat.__var__d, pat.__var__k2));
// ctx.union(pat.isdtype_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:269
// // Rule: rule_269
// MyTx::add_rule(
// "rule_269",
// default_ruleset,
// || {
// let __var__k1 = IsDtypeKind___or__::query_leaf();
// let is_dtype_kind_null_node2 = IsDtypeKind_NULL::query();
// let is_dtype_kind_or_node1 = IsDtypeKind___or__::query(&__var__k1, &is_dtype_kind_null_node2);
// rule_269Pat::new(__var__k1, is_dtype_kind_or_node1)
// },
// |ctx, pat| {
// let result = pat.__var__k1;
// ctx.union(pat.is_dtype_kind_or_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:271
// // Rule: rule_271
// MyTx::add_rule(
// "rule_271",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let d_type_float64_node3 = DType_float64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float64_node2, &d_type_float64_node3);
// rule_271Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:272
// // Rule: rule_272
// MyTx::add_rule(
// "rule_272",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let d_type_float32_node3 = DType_float32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float64_node2, &d_type_float32_node3);
// rule_272Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:273
// // Rule: rule_273
// MyTx::add_rule(
// "rule_273",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let d_type_int32_node3 = DType_int32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float64_node2, &d_type_int32_node3);
// rule_273Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:274
// // Rule: rule_274
// MyTx::add_rule(
// "rule_274",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let d_type_int64_node3 = DType_int64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float64_node2, &d_type_int64_node3);
// rule_274Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:275
// // Rule: rule_275
// MyTx::add_rule(
// "rule_275",
// default_ruleset,
// || {
// let d_type_float64_node2 = DType_float64::query();
// let d_type_object_node3 = DType_object::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float64_node2, &d_type_object_node3);
// rule_275Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:276
// // Rule: rule_276
// MyTx::add_rule(
// "rule_276",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let d_type_float64_node3 = DType_float64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float32_node2, &d_type_float64_node3);
// rule_276Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:277
// // Rule: rule_277
// MyTx::add_rule(
// "rule_277",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let d_type_float32_node3 = DType_float32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float32_node2, &d_type_float32_node3);
// rule_277Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:278
// // Rule: rule_278
// MyTx::add_rule(
// "rule_278",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let d_type_int32_node3 = DType_int32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float32_node2, &d_type_int32_node3);
// rule_278Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:279
// // Rule: rule_279
// MyTx::add_rule(
// "rule_279",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let d_type_int64_node3 = DType_int64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float32_node2, &d_type_int64_node3);
// rule_279Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:280
// // Rule: rule_280
// MyTx::add_rule(
// "rule_280",
// default_ruleset,
// || {
// let d_type_float32_node2 = DType_float32::query();
// let d_type_object_node3 = DType_object::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_float32_node2, &d_type_object_node3);
// rule_280Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:281
// // Rule: rule_281
// MyTx::add_rule(
// "rule_281",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let d_type_float64_node3 = DType_float64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int32_node2, &d_type_float64_node3);
// rule_281Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:282
// // Rule: rule_282
// MyTx::add_rule(
// "rule_282",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let d_type_float32_node3 = DType_float32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int32_node2, &d_type_float32_node3);
// rule_282Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:283
// // Rule: rule_283
// MyTx::add_rule(
// "rule_283",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let d_type_int32_node3 = DType_int32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int32_node2, &d_type_int32_node3);
// rule_283Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:284
// // Rule: rule_284
// MyTx::add_rule(
// "rule_284",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let d_type_int64_node3 = DType_int64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int32_node2, &d_type_int64_node3);
// rule_284Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:285
// // Rule: rule_285
// MyTx::add_rule(
// "rule_285",
// default_ruleset,
// || {
// let d_type_int32_node2 = DType_int32::query();
// let d_type_object_node3 = DType_object::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int32_node2, &d_type_object_node3);
// rule_285Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:286
// // Rule: rule_286
// MyTx::add_rule(
// "rule_286",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let d_type_float64_node3 = DType_float64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int64_node2, &d_type_float64_node3);
// rule_286Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:287
// // Rule: rule_287
// MyTx::add_rule(
// "rule_287",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let d_type_float32_node3 = DType_float32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int64_node2, &d_type_float32_node3);
// rule_287Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:288
// // Rule: rule_288
// MyTx::add_rule(
// "rule_288",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let d_type_int32_node3 = DType_int32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int64_node2, &d_type_int32_node3);
// rule_288Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:289
// // Rule: rule_289
// MyTx::add_rule(
// "rule_289",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let d_type_int64_node3 = DType_int64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int64_node2, &d_type_int64_node3);
// rule_289Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:290
// // Rule: rule_290
// MyTx::add_rule(
// "rule_290",
// default_ruleset,
// || {
// let d_type_int64_node2 = DType_int64::query();
// let d_type_object_node3 = DType_object::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_int64_node2, &d_type_object_node3);
// rule_290Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:291
// // Rule: rule_291
// MyTx::add_rule(
// "rule_291",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let d_type_float64_node3 = DType_float64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_object_node2, &d_type_float64_node3);
// rule_291Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:292
// // Rule: rule_292
// MyTx::add_rule(
// "rule_292",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let d_type_float32_node3 = DType_float32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_object_node2, &d_type_float32_node3);
// rule_292Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:293
// // Rule: rule_293
// MyTx::add_rule(
// "rule_293",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let d_type_int32_node3 = DType_int32::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_object_node2, &d_type_int32_node3);
// rule_293Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:294
// // Rule: rule_294
// MyTx::add_rule(
// "rule_294",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let d_type_int64_node3 = DType_int64::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_object_node2, &d_type_int64_node3);
// rule_294Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:295
// // Rule: rule_295
// MyTx::add_rule(
// "rule_295",
// default_ruleset,
// || {
// let d_type_object_node2 = DType_object::query();
// let d_type_object_node3 = DType_object::query();
// let d_type_eq_node1 = DType___eq__::query(&d_type_object_node2, &d_type_object_node3);
// rule_295Pat::new(d_type_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.d_type_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:297
// // Rule: rule_297
// MyTx::add_rule(
// "rule_297",
// default_ruleset,
// || {
// let __var__idx_fn = cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___::query_leaf();
// let __var__i = cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___::query_leaf();
// let cast_callable_unstable_fn_int_int_int_int_lambda_idx_fn_i_idx_fn_i_int_1_node1 = cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i___Int_1___::query(&__var__idx_fn, &__var__i);
// rule_297Pat::new(__var__idx_fn, __var__i, cast_callable_unstable_fn_int_int_int_int_lambda_idx_fn_i_idx_fn_i_int_1_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_unstable_app(pat.__var__idx_fn, ctx.insert_int_add(pat.__var__i, ctx.insert_int_init(1)));
// ctx.union(pat.cast_callable_unstable_fn_int_int_int_int_lambda_idx_fn_i_idx_fn_i_int_1_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:298
// // Rule: rule_298
// MyTx::add_rule(
// "rule_298",
// default_ruleset,
// || {
// let __var__vs = Vec_Int::query_leaf();
// let int_init_node2 = Int___init__::query();
// let index_vec_int_node1 = index_vec_int::query(&__var__vs, &int_init_node2);
// rule_298Pat::new(__var__vs, int_init_node2, index_vec_int_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_vec_get(pat.__var__vs, ctx.devalue(pat.int_init_node2.arg0));
// ctx.union(pat.index_vec_int_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:299
// // Rule: rule_299
// MyTx::add_rule(
// "rule_299",
// default_ruleset,
// || {
// let __var__i = TupleInt___init__::query_leaf();
// let __var__idx_fn = TupleInt___init__::query_leaf();
// let tuple_int_init_node2 = TupleInt___init__::query(&__var__i, &__var__idx_fn);
// let tuple_int_length_node1 = TupleInt_length::query(&tuple_int_init_node2);
// rule_299Pat::new(__var__i, __var__idx_fn, tuple_int_init_node2, tuple_int_length_node1)
// },
// |ctx, pat| {
// let result = pat.__var__i;
// ctx.union(pat.tuple_int_length_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:300
// // Rule: rule_300
// MyTx::add_rule(
// "rule_300",
// default_ruleset,
// || {
// let __var__i = TupleInt___init__::query_leaf();
// let __var__idx_fn = TupleInt___init__::query_leaf();
// let tuple_int_init_node2 = TupleInt___init__::query(&__var__i, &__var__idx_fn);
// let __var__i2 = Int::query_leaf();
// let tuple_int_getitem_node1 = TupleInt___getitem__::query(&tuple_int_init_node2, &__var__i2);
// rule_300Pat::new(__var__i, __var__idx_fn, __var__i2, tuple_int_getitem_node1, tuple_int_init_node2)
// },
// |ctx, pat| {
// let result = ctx.insert_unstable_app(pat.__var__idx_fn, pat.__var__i2);
// ctx.union(pat.tuple_int_getitem_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:301
// // Rule: rule_301
// MyTx::add_rule(
// "rule_301",
// default_ruleset,
// || {
// let int_init_node3 = Int___init__::query();
// let __var__idx_fn = TupleInt___init__::query_leaf();
// let tuple_int_init_node2 = TupleInt___init__::query(&int_init_node3, &__var__idx_fn);
// let __var__i = TupleInt_fold::query_leaf();
// let __var__f = TupleInt_fold::query_leaf();
// let tuple_int_fold_node1 = TupleInt_fold::query(&tuple_int_init_node2, &__var__i, &__var__f);
// rule_301Pat::new(__var__idx_fn, __var__i, __var__f, tuple_int_init_node2, tuple_int_fold_node1)
// },
// |ctx, pat| {
// let result = pat.__var__i;
// ctx.union(pat.tuple_int_fold_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:302
// // Rule: rule_302
// MyTx::add_rule(
// "rule_302",
// default_ruleset,
// || {
// let int_init_node3 = Int___init__::query();
// let __var__idx_fn = TupleInt___init__::query_leaf();
// let tuple_int_init_node2 = TupleInt___init__::query(&int_init_node3, &__var__idx_fn);
// let __var__i = TupleInt_fold::query_leaf();
// let __var__f = TupleInt_fold::query_leaf();
// let tuple_int_fold_node1 = TupleInt_fold::query(&tuple_int_init_node2, &__var__i, &__var__f);
// let __var__k_0_cond = { int_init_node3.arg0().ne(&0) };
// rule_302Pat::new(__var__idx_fn, __var__i, __var__f, int_init_node3, tuple_int_fold_node1, tuple_int_init_node2).assert(__var__k_0_cond)
// },
// |ctx, pat| {
// let result = ctx.insert_unstable_app(pat.__var__f, ctx.insert_tuple_int_fold(ctx.insert_tuple_int_init(ctx.insert_int_init((ctx.devalue(pat.int_init_node3.arg0) - 1)), ctx.insert_unstable_fn("cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___", pat.__var__idx_fn)), pat.__var__i, pat.__var__f), ctx.insert_unstable_app(pat.__var__idx_fn, ctx.insert_int_init(0)));
// ctx.union(pat.tuple_int_fold_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:303
// // Rule: rule_303
// MyTx::add_rule(
// "rule_303",
// default_ruleset,
// || {
// let int_init_node3 = Int___init__::query();
// let __var__idx_fn = TupleInt___init__::query_leaf();
// let tuple_int_init_node2 = TupleInt___init__::query(&int_init_node3, &__var__idx_fn);
// let __var__b = TupleInt_fold_boolean::query_leaf();
// let __var__bool_f = TupleInt_fold_boolean::query_leaf();
// let tuple_int_fold_boolean_node1 = TupleInt_fold_boolean::query(&tuple_int_init_node2, &__var__b, &__var__bool_f);
// rule_303Pat::new(__var__idx_fn, __var__b, __var__bool_f, tuple_int_fold_boolean_node1, tuple_int_init_node2)
// },
// |ctx, pat| {
// let result = pat.__var__b;
// ctx.union(pat.tuple_int_fold_boolean_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:304
// // Rule: rule_304
// MyTx::add_rule(
// "rule_304",
// default_ruleset,
// || {
// let int_init_node3 = Int___init__::query();
// let __var__idx_fn = TupleInt___init__::query_leaf();
// let tuple_int_init_node2 = TupleInt___init__::query(&int_init_node3, &__var__idx_fn);
// let __var__b = TupleInt_fold_boolean::query_leaf();
// let __var__bool_f = TupleInt_fold_boolean::query_leaf();
// let tuple_int_fold_boolean_node1 = TupleInt_fold_boolean::query(&tuple_int_init_node2, &__var__b, &__var__bool_f);
// let __var__k_0_cond = { int_init_node3.arg0().ne(&0) };
// rule_304Pat::new(__var__idx_fn, __var__b, __var__bool_f, tuple_int_fold_boolean_node1, tuple_int_init_node2, int_init_node3).assert(__var__k_0_cond)
// },
// |ctx, pat| {
// let result = ctx.insert_unstable_app(pat.__var__bool_f, ctx.insert_tuple_int_fold_boolean(ctx.insert_tuple_int_init(ctx.insert_int_init((ctx.devalue(pat.int_init_node3.arg0) - 1)), ctx.insert_unstable_fn("cast_Callable__UnstableFn_Int__Int___Int___Int___lambda_idx_fn__i__idx_fn_i_+_Int_1___", pat.__var__idx_fn)), pat.__var__b, pat.__var__bool_f), ctx.insert_unstable_app(pat.__var__idx_fn, ctx.insert_int_init(0)));
// ctx.union(pat.tuple_int_fold_boolean_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:306
// // Rule: rule_306
// MyTx::add_rule(
// "rule_306",
// default_ruleset,
// || {
// let tuple_int_empty_node1 = TupleInt_EMPTY::query();
// rule_306Pat::new(tuple_int_empty_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_tuple_int_init(ctx.insert_int_init(0), ctx.insert_unstable_fn("bottom_indexing"));
// ctx.union(pat.tuple_int_empty_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:307
// // Rule: rule_307
// MyTx::add_rule(
// "rule_307",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node2 = Float___init__::query(&__var__f);
// let float_abs_node1 = Float_abs::query(&float_init_node2);
// let cond___var__f_0_0 = { __var__f.handle().ge(&0_0.handle()) };
// rule_307Pat::new(__var__f, float_init_node2, float_abs_node1).assert(cond___var__f_0_0)
// },
// |ctx, pat| {
// let result = ctx.insert_float_init(pat.__var__f);
// ctx.union(pat.float_abs_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:308
// // Rule: rule_308
// MyTx::add_rule(
// "rule_308",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node2 = Float___init__::query(&__var__f);
// let float_abs_node1 = Float_abs::query(&float_init_node2);
// let cond___var__f_0_0 = { __var__f.handle().lt(&0_0.handle()) };
// rule_308Pat::new(__var__f, float_init_node2, float_abs_node1).assert(cond___var__f_0_0)
// },
// |ctx, pat| {
// let result = ctx.insert_float_init(ctx.insert_neg(pat.__var__f));
// ctx.union(pat.float_abs_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:310
// // Rule: rule_310
// MyTx::add_rule(
// "rule_310",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node1 = Float___init__::query(&__var__f);
// let cond_node_1___var__f = { let node_2 = to-i64::query().arg_00(&__var__f); let node_1 = to-f64::query().arg_00(&node_2); node_1.handle().eq(&__var__f.handle()) };
// rule_310Pat::new(__var__f, float_init_node1, node_2, node_1).assert(cond_node_1___var__f)
// },
// |ctx, pat| {
// let result = ctx.insert_float_rational(ctx.insert_bigrat(ctx.insert_bigint(ctx.insert_to_i64(pat.__var__f)), ctx.insert_bigint(1)));
// ctx.union(pat.float_init_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:312
// // Rule: rule_312
// MyTx::add_rule(
// "rule_312",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let float_from_int_node1 = Float_from_int::query(&int_init_node2);
// rule_312Pat::new(int_init_node2, float_from_int_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_rational(ctx.insert_bigrat(ctx.insert_bigint(ctx.devalue(pat.int_init_node2.arg0)), ctx.insert_bigint(1)));
// ctx.union(pat.float_from_int_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:314
// // Rule: rule_314
// MyTx::add_rule(
// "rule_314",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node2 = Float___init__::query(&__var__f);
// let __var__f2 = Float___init__::query_leaf();
// let float_init_node3 = Float___init__::query(&__var__f2);
// let float_add_node1 = Float___add__::query(&float_init_node2, &float_init_node3);
// rule_314Pat::new(__var__f, __var__f2, float_init_node2, float_init_node3, float_add_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_init((pat.__var__f + pat.__var__f2));
// ctx.union(pat.float_add_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:316
// // Rule: rule_316
// MyTx::add_rule(
// "rule_316",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node2 = Float___init__::query(&__var__f);
// let __var__f2 = Float___init__::query_leaf();
// let float_init_node3 = Float___init__::query(&__var__f2);
// let float_sub_node1 = Float___sub__::query(&float_init_node2, &float_init_node3);
// rule_316Pat::new(__var__f, __var__f2, float_init_node3, float_init_node2, float_sub_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_init((pat.__var__f - pat.__var__f2));
// ctx.union(pat.float_sub_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:318
// // Rule: rule_318
// MyTx::add_rule(
// "rule_318",
// default_ruleset,
// || {
// let __var__f = Float___init__::query_leaf();
// let float_init_node2 = Float___init__::query(&__var__f);
// let __var__f2 = Float___init__::query_leaf();
// let float_init_node3 = Float___init__::query(&__var__f2);
// let float_mul_node1 = Float___mul__::query(&float_init_node2, &float_init_node3);
// rule_318Pat::new(__var__f, __var__f2, float_init_node3, float_init_node2, float_mul_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_init((pat.__var__f * pat.__var__f2));
// ctx.union(pat.float_mul_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:320
// // Rule: rule_320
// MyTx::add_rule(
// "rule_320",
// default_ruleset,
// || {
// let __var__r = Float_rational::query_leaf();
// let float_rational_node2 = Float_rational::query(&__var__r);
// let __var__r1 = Float_rational::query_leaf();
// let float_rational_node3 = Float_rational::query(&__var__r1);
// let float_truediv_node1 = Float___truediv__::query(&float_rational_node2, &float_rational_node3);
// rule_320Pat::new(__var__r, __var__r1, float_rational_node3, float_rational_node2, float_truediv_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_rational((pat.__var__r / pat.__var__r1));
// ctx.union(pat.float_truediv_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:321
// // Rule: rule_321
// MyTx::add_rule(
// "rule_321",
// default_ruleset,
// || {
// let __var__r = Float_rational::query_leaf();
// let float_rational_node2 = Float_rational::query(&__var__r);
// let __var__r1 = Float_rational::query_leaf();
// let float_rational_node3 = Float_rational::query(&__var__r1);
// let float_add_node1 = Float___add__::query(&float_rational_node2, &float_rational_node3);
// rule_321Pat::new(__var__r, __var__r1, float_rational_node3, float_rational_node2, float_add_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_rational((pat.__var__r + pat.__var__r1));
// ctx.union(pat.float_add_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:322
// // Rule: rule_322
// MyTx::add_rule(
// "rule_322",
// default_ruleset,
// || {
// let __var__r = Float_rational::query_leaf();
// let float_rational_node2 = Float_rational::query(&__var__r);
// let __var__r1 = Float_rational::query_leaf();
// let float_rational_node3 = Float_rational::query(&__var__r1);
// let float_sub_node1 = Float___sub__::query(&float_rational_node2, &float_rational_node3);
// rule_322Pat::new(__var__r, __var__r1, float_rational_node2, float_rational_node3, float_sub_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_rational((pat.__var__r - pat.__var__r1));
// ctx.union(pat.float_sub_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:323
// // Rule: rule_323
// MyTx::add_rule(
// "rule_323",
// default_ruleset,
// || {
// let __var__r = Float_rational::query_leaf();
// let float_rational_node2 = Float_rational::query(&__var__r);
// let __var__r1 = Float_rational::query_leaf();
// let float_rational_node3 = Float_rational::query(&__var__r1);
// let float_mul_node1 = Float___mul__::query(&float_rational_node2, &float_rational_node3);
// rule_323Pat::new(__var__r, __var__r1, float_rational_node3, float_rational_node2, float_mul_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_float_rational((pat.__var__r * pat.__var__r1));
// ctx.union(pat.float_mul_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:324
// // Rule: rule_324
// MyTx::add_rule(
// "rule_324",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_eq_node1 = Int___eq__::query(&int_init_node2, &int_init_node3);
// rule_324Pat::new(int_init_node3, int_eq_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.int_eq_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:330
// // Rule: rule_330
// MyTx::add_rule(
// "rule_330",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_ge_node1 = Int___ge__::query(&int_init_node2, &int_init_node3);
// rule_330Pat::new(int_init_node3, int_ge_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.int_ge_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:339
// // Rule: rule_339
// MyTx::add_rule(
// "rule_339",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_lt_node1 = Int___lt__::query(&int_init_node2, &int_init_node3);
// rule_339Pat::new(int_init_node3, int_lt_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.int_lt_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:349
// // Rule: rule_349
// MyTx::add_rule(
// "rule_349",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_gt_node1 = Int___gt__::query(&int_init_node2, &int_init_node3);
// rule_349Pat::new(int_init_node3, int_gt_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.int_gt_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:362
// // Rule: rule_362
// MyTx::add_rule(
// "rule_362",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_add_node1 = Int___add__::query(&int_init_node2, &int_init_node3);
// rule_362Pat::new(int_init_node3, int_init_node2, int_add_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init((ctx.devalue(pat.int_init_node2.arg0) + ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_add_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:363
// // Rule: rule_363
// MyTx::add_rule(
// "rule_363",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_sub_node1 = Int___sub__::query(&int_init_node2, &int_init_node3);
// rule_363Pat::new(int_init_node3, int_init_node2, int_sub_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init((ctx.devalue(pat.int_init_node2.arg0) - ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_sub_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:364
// // Rule: rule_364
// MyTx::add_rule(
// "rule_364",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_mul_node1 = Int___mul__::query(&int_init_node2, &int_init_node3);
// rule_364Pat::new(int_init_node2, int_init_node3, int_mul_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init((ctx.devalue(pat.int_init_node2.arg0) * ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_mul_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:366
// // Rule: rule_366
// MyTx::add_rule(
// "rule_366",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_truediv_node1 = Int___truediv__::query(&int_init_node2, &int_init_node3);
// rule_366Pat::new(int_init_node2, int_init_node3, int_truediv_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init((ctx.devalue(pat.int_init_node2.arg0) / ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_truediv_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:368
// // Rule: rule_368
// MyTx::add_rule(
// "rule_368",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_mod_node1 = Int___mod__::query(&int_init_node2, &int_init_node3);
// rule_368Pat::new(int_init_node3, int_init_node2, int_mod_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(ctx.insert_(ctx.devalue(pat.int_init_node2.arg0), ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_mod_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:370
// // Rule: rule_370
// MyTx::add_rule(
// "rule_370",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_and_node1 = Int___and__::query(&int_init_node2, &int_init_node3);
// rule_370Pat::new(int_init_node2, int_init_node3, int_and_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(std::ops::BitAnd::bitand(ctx.devalue(pat.int_init_node2.arg0), ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_and_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:372
// // Rule: rule_372
// MyTx::add_rule(
// "rule_372",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_or_node1 = Int___or__::query(&int_init_node2, &int_init_node3);
// rule_372Pat::new(int_init_node2, int_init_node3, int_or_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(ctx.insert_(ctx.devalue(pat.int_init_node2.arg0), ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_or_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:374
// // Rule: rule_374
// MyTx::add_rule(
// "rule_374",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_xor_node1 = Int___xor__::query(&int_init_node2, &int_init_node3);
// rule_374Pat::new(int_init_node3, int_init_node2, int_xor_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(ctx.insert_(ctx.devalue(pat.int_init_node2.arg0), ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_xor_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:376
// // Rule: rule_376
// MyTx::add_rule(
// "rule_376",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_lshift_node1 = Int___lshift__::query(&int_init_node2, &int_init_node3);
// rule_376Pat::new(int_init_node2, int_init_node3, int_lshift_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(ctx.insert_(ctx.devalue(pat.int_init_node2.arg0), ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_lshift_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:378
// // Rule: rule_378
// MyTx::add_rule(
// "rule_378",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_init_node3 = Int___init__::query();
// let int_rshift_node1 = Int___rshift__::query(&int_init_node2, &int_init_node3);
// rule_378Pat::new(int_init_node3, int_init_node2, int_rshift_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(ctx.insert_(ctx.devalue(pat.int_init_node2.arg0), ctx.devalue(pat.int_init_node3.arg0)));
// ctx.union(pat.int_rshift_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:380
// // Rule: rule_380
// MyTx::add_rule(
// "rule_380",
// default_ruleset,
// || {
// let int_init_node2 = Int___init__::query();
// let int_invert_node1 = Int___invert__::query(&int_init_node2);
// rule_380Pat::new(int_init_node2, int_invert_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_int_init(ctx.insert_not_i64(ctx.devalue(pat.int_init_node2.arg0)));
// ctx.union(pat.int_invert_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:381
// // Rule: rule_381
// MyTx::add_rule(
// "rule_381",
// default_ruleset,
// || {
// let true_node2 = TRUE::query();
// let __var__o = Int::query_leaf();
// let __var__b = Int::query_leaf();
// let int_if_node1 = Int_if_::query(&true_node2, &__var__o, &__var__b);
// rule_381Pat::new(__var__o, __var__b, int_if_node1)
// },
// |ctx, pat| {
// let result = pat.__var__o;
// ctx.union(pat.int_if_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:382
// // Rule: rule_382
// MyTx::add_rule(
// "rule_382",
// default_ruleset,
// || {
// let false_node2 = FALSE::query();
// let __var__o = Int::query_leaf();
// let __var__b = Int::query_leaf();
// let int_if_node1 = Int_if_::query(&false_node2, &__var__o, &__var__b);
// rule_382Pat::new(__var__o, __var__b, int_if_node1)
// },
// |ctx, pat| {
// let result = pat.__var__b;
// ctx.union(pat.int_if_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:390
// // Rule: rule_390
// MyTx::add_rule(
// "rule_390",
// default_ruleset,
// || {
// let true_node2 = TRUE::query();
// let __var__x = Boolean::query_leaf();
// let boolean_or_node1 = Boolean___or__::query(&true_node2, &__var__x);
// rule_390Pat::new(__var__x, boolean_or_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.boolean_or_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:391
// // Rule: rule_391
// MyTx::add_rule(
// "rule_391",
// default_ruleset,
// || {
// let false_node2 = FALSE::query();
// let __var__x = Boolean::query_leaf();
// let boolean_or_node1 = Boolean___or__::query(&false_node2, &__var__x);
// rule_391Pat::new(__var__x, boolean_or_node1)
// },
// |ctx, pat| {
// let result = pat.__var__x;
// ctx.union(pat.boolean_or_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:393
// // Rule: rule_393
// MyTx::add_rule(
// "rule_393",
// default_ruleset,
// || {
// let true_node2 = TRUE::query();
// let __var__x = Boolean::query_leaf();
// let boolean_and_node1 = Boolean___and__::query(&true_node2, &__var__x);
// rule_393Pat::new(__var__x, boolean_and_node1)
// },
// |ctx, pat| {
// let result = pat.__var__x;
// ctx.union(pat.boolean_and_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:394
// // Rule: rule_394
// MyTx::add_rule(
// "rule_394",
// default_ruleset,
// || {
// let false_node2 = FALSE::query();
// let __var__x = Boolean::query_leaf();
// let boolean_and_node1 = Boolean___and__::query(&false_node2, &__var__x);
// rule_394Pat::new(__var__x, boolean_and_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.boolean_and_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:396
// // Rule: rule_396
// MyTx::add_rule(
// "rule_396",
// default_ruleset,
// || {
// let true_node2 = TRUE::query();
// let __var__i = Int::query_leaf();
// let __var__j = Int::query_leaf();
// let boolean_if_int_node1 = Boolean_if_int::query(&true_node2, &__var__i, &__var__j);
// rule_396Pat::new(__var__i, __var__j, boolean_if_int_node1)
// },
// |ctx, pat| {
// let result = pat.__var__i;
// ctx.union(pat.boolean_if_int_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:397
// // Rule: rule_397
// MyTx::add_rule(
// "rule_397",
// default_ruleset,
// || {
// let false_node2 = FALSE::query();
// let __var__i = Int::query_leaf();
// let __var__j = Int::query_leaf();
// let boolean_if_int_node1 = Boolean_if_int::query(&false_node2, &__var__i, &__var__j);
// rule_397Pat::new(__var__i, __var__j, boolean_if_int_node1)
// },
// |ctx, pat| {
// let result = pat.__var__j;
// ctx.union(pat.boolean_if_int_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:399
// // Rule: rule_399
// MyTx::add_rule(
// "rule_399",
// default_ruleset,
// || {
// let true_node2 = TRUE::query();
// let boolean_invert_node1 = Boolean___invert__::query(&true_node2);
// rule_399Pat::new(boolean_invert_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_false();
// ctx.union(pat.boolean_invert_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:400
// // Rule: rule_400
// MyTx::add_rule(
// "rule_400",
// default_ruleset,
// || {
// let false_node2 = FALSE::query();
// let boolean_invert_node1 = Boolean___invert__::query(&false_node2);
// rule_400Pat::new(boolean_invert_node1)
// },
// |ctx, pat| {
// let result = ctx.insert_true();
// ctx.union(pat.boolean_invert_node1, result);
// },
// );
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:444
// current_expr.pull();
// // Source: ./examples/tests/no-messages/stresstest_large_expr.egg:1
// MyTx::run_ruleset(default_ruleset, RunConfig::Sat);
// info!("Eggplant program executed successfully!");
// }
fn main() {}