diff --git a/build_tools/math/README.md b/build_tools/math/README.md index 1b8a48fbe7f..8e3a8f180dd 100644 --- a/build_tools/math/README.md +++ b/build_tools/math/README.md @@ -31,7 +31,7 @@ following requirements: - Python 3.11 or newer - mpmath 1.3 or newer -- functional_algorithms 0.10.1 or newer +- functional_algorithms 0.11.1 or newer that can be installed via pypi: diff --git a/build_tools/math/generate_ChloDecompositionPatternsMath.py b/build_tools/math/generate_ChloDecompositionPatternsMath.py index a7ebbaff21b..885849ce89c 100644 --- a/build_tools/math/generate_ChloDecompositionPatternsMath.py +++ b/build_tools/math/generate_ChloDecompositionPatternsMath.py @@ -96,15 +96,19 @@ def main(): ("CHLO_AsinhOp", "real_asinh", ("x:float",)), ("CHLO_AtanOp", "complex_atan", ("z:complex",)), ("CHLO_AtanhOp", "complex_atanh", ("z:complex",)), + ("CHLO_SquareOp", "complex_square", ("z:complex",)), + ("CHLO_SquareOp", "real_square", ("x:float",)), ]: + print(f'Generating {chloname} from {fname}{args}') func = getattr(fa.algorithms, fname, None) if func is None: warnings.warn( f"{fa.algorithms.__name__} does not define {fname}. Skipping." ) continue - ctx = fa.Context(paths=[fa.algorithms]) - graph = ctx.trace(func, *args).implement_missing(target).simplify() + ctx = fa.Context(paths=[fa.algorithms], + parameters=dict(rewrite_keep_integer_literals=True)) + graph = ctx.trace(func, *args).rewrite(target, fa.rewrite) graph.props.update(name=chloname) src = graph.tostring(target) sources.append(target.make_comment(func.__doc__)) if func.__doc__ else None diff --git a/build_tools/math/generate_tests.py b/build_tools/math/generate_tests.py index 3b728e8174e..ecd413cda2f 100644 --- a/build_tools/math/generate_tests.py +++ b/build_tools/math/generate_tests.py @@ -63,6 +63,7 @@ dict(name="asinh", mpmath_name="arcsinh"), dict(name="acosh", mpmath_name="arccosh"), dict(name="atanh", mpmath_name="arctanh"), + dict(name="square", mpmath_name="square"), ] diff --git a/stablehlo/dialect/ChloOps.cpp b/stablehlo/dialect/ChloOps.cpp index 237031892de..1868204647e 100644 --- a/stablehlo/dialect/ChloOps.cpp +++ b/stablehlo/dialect/ChloOps.cpp @@ -90,6 +90,7 @@ INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(LgammaOp) INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(NextAfterOp) INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(PolygammaOp) INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(SinhOp) +INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(SquareOp) INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(TanOp) INFER_RETURN_TYPE_COMPONENTS_FROM_OPERANDS(ZetaOp) diff --git a/stablehlo/dialect/ChloOps.td b/stablehlo/dialect/ChloOps.td index 86c38850031..77ed7b54938 100644 --- a/stablehlo/dialect/ChloOps.td +++ b/stablehlo/dialect/ChloOps.td @@ -747,6 +747,20 @@ def CHLO_LgammaOp : CHLO_UnaryElementwiseOp<"lgamma", }]; } +def CHLO_SquareOp : CHLO_UnaryElementwiseOp<"square", + [HLO_CompatibleOperandsAndResultType], HLO_AnyFpOrComplexTensor> { + let summary = "Square operation"; + + let description = [{ + Returns `Square(operand)` element-wise. + + $$ + \square(x) = complex((x.real - x.imag) * (x.real + x.imag), x.real * x.imag * 2) if x is a complex number + = x * x otherwise + $$ + }]; +} + //===----------------------------------------------------------------------===// // Broadcasting compare op //===----------------------------------------------------------------------===// diff --git a/stablehlo/tests/chlo/chlo_legalize_to_stablehlo.mlir b/stablehlo/tests/chlo/chlo_legalize_to_stablehlo.mlir index e55bde8b226..713f62f3ffd 100644 --- a/stablehlo/tests/chlo/chlo_legalize_to_stablehlo.mlir +++ b/stablehlo/tests/chlo/chlo_legalize_to_stablehlo.mlir @@ -97,38 +97,38 @@ func.func @asin_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_17:.*]] = stablehlo.maximum %[[VAL_16]], %[[VAL_5]] : tensor // CHECK: %[[VAL_18:.*]] = stablehlo.minimum %[[VAL_16]], %[[VAL_5]] : tensor // CHECK: %[[VAL_19:.*]] = stablehlo.compare EQ, %[[VAL_17]], %[[VAL_18]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_20:.*]] = stablehlo.constant dense<2.000000e+00> : tensor -// CHECK: %[[VAL_21:.*]] = stablehlo.sqrt %[[VAL_20]] : tensor -// CHECK: %[[VAL_22:.*]] = stablehlo.multiply %[[VAL_21]], %[[VAL_17]] : tensor -// CHECK: %[[VAL_23:.*]] = stablehlo.divide %[[VAL_18]], %[[VAL_17]] : tensor -// CHECK: %[[VAL_24:.*]] = stablehlo.multiply %[[VAL_23]], %[[VAL_23]] : tensor -// CHECK: %[[VAL_25:.*]] = stablehlo.add %[[VAL_12]], %[[VAL_24]] : tensor -// CHECK: %[[VAL_26:.*]] = stablehlo.sqrt %[[VAL_25]] : tensor -// CHECK: %[[VAL_27:.*]] = stablehlo.compare EQ, %[[VAL_26]], %[[VAL_12]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_28:.*]] = stablehlo.constant dense<0.000000e+00> : tensor -// CHECK: %[[VAL_29:.*]] = stablehlo.compare GT, %[[VAL_24]], %[[VAL_28]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_30:.*]] = stablehlo.and %[[VAL_27]], %[[VAL_29]] : tensor -// CHECK: %[[VAL_31:.*]] = stablehlo.multiply %[[VAL_17]], %[[VAL_24]] : tensor -// CHECK: %[[VAL_32:.*]] = stablehlo.divide %[[VAL_31]], %[[VAL_20]] : tensor +// CHECK: %[[VAL_20:.*]] = stablehlo.constant dense<1.41421354> : tensor +// CHECK: %[[VAL_21:.*]] = stablehlo.multiply %[[VAL_20]], %[[VAL_17]] : tensor +// CHECK: %[[VAL_22:.*]] = stablehlo.divide %[[VAL_18]], %[[VAL_17]] : tensor +// CHECK: %[[VAL_23:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_22]] : tensor +// CHECK: %[[VAL_24:.*]] = stablehlo.add %[[VAL_12]], %[[VAL_23]] : tensor +// CHECK: %[[VAL_25:.*]] = stablehlo.sqrt %[[VAL_24]] : tensor +// CHECK: %[[VAL_26:.*]] = stablehlo.compare EQ, %[[VAL_25]], %[[VAL_12]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_27:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_28:.*]] = stablehlo.compare GT, %[[VAL_23]], %[[VAL_27]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_29:.*]] = stablehlo.and %[[VAL_26]], %[[VAL_28]] : tensor +// CHECK: %[[VAL_30:.*]] = stablehlo.multiply %[[VAL_17]], %[[VAL_23]] : tensor +// CHECK: %[[VAL_31:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_32:.*]] = stablehlo.divide %[[VAL_30]], %[[VAL_31]] : tensor // CHECK: %[[VAL_33:.*]] = stablehlo.add %[[VAL_17]], %[[VAL_32]] : tensor -// CHECK: %[[VAL_34:.*]] = stablehlo.multiply %[[VAL_17]], %[[VAL_26]] : tensor -// CHECK: %[[VAL_35:.*]] = stablehlo.select %[[VAL_30]], %[[VAL_33]], %[[VAL_34]] : tensor, tensor -// CHECK: %[[VAL_36:.*]] = stablehlo.select %[[VAL_19]], %[[VAL_22]], %[[VAL_35]] : tensor, tensor +// CHECK: %[[VAL_34:.*]] = stablehlo.multiply %[[VAL_17]], %[[VAL_25]] : tensor +// CHECK: %[[VAL_35:.*]] = stablehlo.select %[[VAL_29]], %[[VAL_33]], %[[VAL_34]] : tensor, tensor +// CHECK: %[[VAL_36:.*]] = stablehlo.select %[[VAL_19]], %[[VAL_21]], %[[VAL_35]] : tensor, tensor // CHECK: %[[VAL_37:.*]] = stablehlo.subtract %[[VAL_3]], %[[VAL_12]] : tensor // CHECK: %[[VAL_38:.*]] = stablehlo.abs %[[VAL_37]] : tensor // CHECK: %[[VAL_39:.*]] = stablehlo.maximum %[[VAL_38]], %[[VAL_5]] : tensor // CHECK: %[[VAL_40:.*]] = stablehlo.minimum %[[VAL_38]], %[[VAL_5]] : tensor // CHECK: %[[VAL_41:.*]] = stablehlo.compare EQ, %[[VAL_39]], %[[VAL_40]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_42:.*]] = stablehlo.multiply %[[VAL_21]], %[[VAL_39]] : tensor +// CHECK: %[[VAL_42:.*]] = stablehlo.multiply %[[VAL_20]], %[[VAL_39]] : tensor // CHECK: %[[VAL_43:.*]] = stablehlo.divide %[[VAL_40]], %[[VAL_39]] : tensor // CHECK: %[[VAL_44:.*]] = stablehlo.multiply %[[VAL_43]], %[[VAL_43]] : tensor // CHECK: %[[VAL_45:.*]] = stablehlo.add %[[VAL_12]], %[[VAL_44]] : tensor // CHECK: %[[VAL_46:.*]] = stablehlo.sqrt %[[VAL_45]] : tensor // CHECK: %[[VAL_47:.*]] = stablehlo.compare EQ, %[[VAL_46]], %[[VAL_12]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_48:.*]] = stablehlo.compare GT, %[[VAL_44]], %[[VAL_28]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_48:.*]] = stablehlo.compare GT, %[[VAL_44]], %[[VAL_27]] : (tensor, tensor) -> tensor // CHECK: %[[VAL_49:.*]] = stablehlo.and %[[VAL_47]], %[[VAL_48]] : tensor // CHECK: %[[VAL_50:.*]] = stablehlo.multiply %[[VAL_39]], %[[VAL_44]] : tensor -// CHECK: %[[VAL_51:.*]] = stablehlo.divide %[[VAL_50]], %[[VAL_20]] : tensor +// CHECK: %[[VAL_51:.*]] = stablehlo.divide %[[VAL_50]], %[[VAL_31]] : tensor // CHECK: %[[VAL_52:.*]] = stablehlo.add %[[VAL_39]], %[[VAL_51]] : tensor // CHECK: %[[VAL_53:.*]] = stablehlo.multiply %[[VAL_39]], %[[VAL_46]] : tensor // CHECK: %[[VAL_54:.*]] = stablehlo.select %[[VAL_49]], %[[VAL_52]], %[[VAL_53]] : tensor, tensor @@ -164,7 +164,7 @@ func.func @asin_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_84:.*]] = stablehlo.select %[[VAL_83]], %[[VAL_5]], %[[VAL_3]] : tensor, tensor // CHECK: %[[VAL_85:.*]] = stablehlo.select %[[VAL_83]], %[[VAL_82]], %[[VAL_10]] : tensor, tensor // CHECK: %[[VAL_86:.*]] = stablehlo.compare GE, %[[VAL_84]], %[[VAL_85]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_87:.*]] = stablehlo.log %[[VAL_20]] : tensor +// CHECK: %[[VAL_87:.*]] = stablehlo.log %[[VAL_31]] : tensor // CHECK: %[[VAL_88:.*]] = stablehlo.log %[[VAL_84]] : tensor // CHECK: %[[VAL_89:.*]] = stablehlo.add %[[VAL_87]], %[[VAL_88]] : tensor // CHECK: %[[VAL_90:.*]] = stablehlo.constant dense<0x7F800000> : tensor @@ -172,7 +172,7 @@ func.func @asin_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_92:.*]] = stablehlo.not %[[VAL_91]] : tensor // CHECK: %[[VAL_93:.*]] = stablehlo.and %[[VAL_83]], %[[VAL_92]] : tensor // CHECK: %[[VAL_94:.*]] = stablehlo.divide %[[VAL_3]], %[[VAL_5]] : tensor -// CHECK: %[[VAL_95:.*]] = stablehlo.select %[[VAL_93]], %[[VAL_94]], %[[VAL_28]] : tensor, tensor +// CHECK: %[[VAL_95:.*]] = stablehlo.select %[[VAL_93]], %[[VAL_94]], %[[VAL_27]] : tensor, tensor // CHECK: %[[VAL_96:.*]] = stablehlo.multiply %[[VAL_95]], %[[VAL_95]] : tensor // CHECK: %[[VAL_97:.*]] = stablehlo.log_plus_one %[[VAL_96]] : tensor // CHECK: %[[VAL_98:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_97]] : tensor @@ -212,11 +212,11 @@ func.func @asin_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_132:.*]] = stablehlo.real %[[VAL_131]] : (tensor>) -> tensor // CHECK: %[[VAL_133:.*]] = stablehlo.atan2 %[[VAL_1]], %[[VAL_132]] : tensor // CHECK: %[[VAL_134:.*]] = stablehlo.imag %[[VAL_0]] : (tensor>) -> tensor -// CHECK: %[[VAL_135:.*]] = stablehlo.imag %[[VAL_131]] : (tensor>) -> tensor -// CHECK: %[[VAL_136:.*]] = stablehlo.constant dense<0.000000e+00> : tensor -// CHECK: %[[VAL_137:.*]] = stablehlo.compare LT, %[[VAL_134]], %[[VAL_136]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_138:.*]] = stablehlo.negate %[[VAL_135]] : tensor -// CHECK: %[[VAL_139:.*]] = stablehlo.select %[[VAL_137]], %[[VAL_138]], %[[VAL_135]] : tensor, tensor +// CHECK: %[[VAL_135:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_136:.*]] = stablehlo.compare LT, %[[VAL_134]], %[[VAL_135]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_137:.*]] = stablehlo.imag %[[VAL_131]] : (tensor>) -> tensor +// CHECK: %[[VAL_138:.*]] = stablehlo.negate %[[VAL_137]] : tensor +// CHECK: %[[VAL_139:.*]] = stablehlo.select %[[VAL_136]], %[[VAL_138]], %[[VAL_137]] : tensor, tensor // CHECK: %[[VAL_140:.*]] = stablehlo.complex %[[VAL_133]], %[[VAL_139]] : tensor> // CHECK: return %[[VAL_140]] : tensor> // CHECK: } @@ -256,148 +256,150 @@ func.func @asin_complex_f32(%arg : tensor>) -> tensor> // CHECK: %[[VAL_25:.*]] = stablehlo.maximum %[[VAL_24]], %[[VAL_5]] : tensor // CHECK: %[[VAL_26:.*]] = stablehlo.minimum %[[VAL_24]], %[[VAL_5]] : tensor // CHECK: %[[VAL_27:.*]] = stablehlo.compare EQ, %[[VAL_25]], %[[VAL_26]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_28:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_28:.*]] = stablehlo.constant dense<1.4142135623730951> : tensor // CHECK: %[[VAL_29:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> // CHECK: %[[VAL_30:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_28]], %[[VAL_29]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_31:.*]] = stablehlo.sqrt %[[VAL_30]] : tensor -// CHECK: %[[VAL_32:.*]] = stablehlo.multiply %[[VAL_31]], %[[VAL_25]] : tensor -// CHECK: %[[VAL_33:.*]] = stablehlo.divide %[[VAL_26]], %[[VAL_25]] : tensor -// CHECK: %[[VAL_34:.*]] = stablehlo.multiply %[[VAL_33]], %[[VAL_33]] : tensor -// CHECK: %[[VAL_35:.*]] = stablehlo.add %[[VAL_18]], %[[VAL_34]] : tensor -// CHECK: %[[VAL_36:.*]] = stablehlo.sqrt %[[VAL_35]] : tensor -// CHECK: %[[VAL_37:.*]] = stablehlo.compare EQ, %[[VAL_36]], %[[VAL_18]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_38:.*]] = stablehlo.constant dense<0.000000e+00> : tensor -// CHECK: %[[VAL_39:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_40:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_38]], %[[VAL_39]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_41:.*]] = stablehlo.compare GT, %[[VAL_34]], %[[VAL_40]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_42:.*]] = stablehlo.and %[[VAL_37]], %[[VAL_41]] : tensor -// CHECK: %[[VAL_43:.*]] = stablehlo.multiply %[[VAL_25]], %[[VAL_34]] : tensor -// CHECK: %[[VAL_44:.*]] = stablehlo.divide %[[VAL_43]], %[[VAL_30]] : tensor -// CHECK: %[[VAL_45:.*]] = stablehlo.add %[[VAL_25]], %[[VAL_44]] : tensor -// CHECK: %[[VAL_46:.*]] = stablehlo.multiply %[[VAL_25]], %[[VAL_36]] : tensor -// CHECK: %[[VAL_47:.*]] = stablehlo.select %[[VAL_42]], %[[VAL_45]], %[[VAL_46]] : tensor, tensor -// CHECK: %[[VAL_48:.*]] = stablehlo.select %[[VAL_27]], %[[VAL_32]], %[[VAL_47]] : tensor, tensor -// CHECK: %[[VAL_49:.*]] = stablehlo.subtract %[[VAL_3]], %[[VAL_18]] : tensor -// CHECK: %[[VAL_50:.*]] = stablehlo.abs %[[VAL_49]] : tensor -// CHECK: %[[VAL_51:.*]] = stablehlo.maximum %[[VAL_50]], %[[VAL_5]] : tensor -// CHECK: %[[VAL_52:.*]] = stablehlo.minimum %[[VAL_50]], %[[VAL_5]] : tensor -// CHECK: %[[VAL_53:.*]] = stablehlo.compare EQ, %[[VAL_51]], %[[VAL_52]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_54:.*]] = stablehlo.multiply %[[VAL_31]], %[[VAL_51]] : tensor -// CHECK: %[[VAL_55:.*]] = stablehlo.divide %[[VAL_52]], %[[VAL_51]] : tensor -// CHECK: %[[VAL_56:.*]] = stablehlo.multiply %[[VAL_55]], %[[VAL_55]] : tensor -// CHECK: %[[VAL_57:.*]] = stablehlo.add %[[VAL_18]], %[[VAL_56]] : tensor -// CHECK: %[[VAL_58:.*]] = stablehlo.sqrt %[[VAL_57]] : tensor -// CHECK: %[[VAL_59:.*]] = stablehlo.compare EQ, %[[VAL_58]], %[[VAL_18]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_60:.*]] = stablehlo.compare GT, %[[VAL_56]], %[[VAL_40]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_61:.*]] = stablehlo.and %[[VAL_59]], %[[VAL_60]] : tensor -// CHECK: %[[VAL_62:.*]] = stablehlo.multiply %[[VAL_51]], %[[VAL_56]] : tensor -// CHECK: %[[VAL_63:.*]] = stablehlo.divide %[[VAL_62]], %[[VAL_30]] : tensor -// CHECK: %[[VAL_64:.*]] = stablehlo.add %[[VAL_51]], %[[VAL_63]] : tensor -// CHECK: %[[VAL_65:.*]] = stablehlo.multiply %[[VAL_51]], %[[VAL_58]] : tensor -// CHECK: %[[VAL_66:.*]] = stablehlo.select %[[VAL_61]], %[[VAL_64]], %[[VAL_65]] : tensor, tensor -// CHECK: %[[VAL_67:.*]] = stablehlo.select %[[VAL_53]], %[[VAL_54]], %[[VAL_66]] : tensor, tensor -// CHECK: %[[VAL_68:.*]] = stablehlo.add %[[VAL_48]], %[[VAL_67]] : tensor -// CHECK: %[[VAL_69:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_68]] : tensor -// CHECK: %[[VAL_70:.*]] = stablehlo.add %[[VAL_69]], %[[VAL_3]] : tensor +// CHECK: %[[VAL_31:.*]] = stablehlo.multiply %[[VAL_30]], %[[VAL_25]] : tensor +// CHECK: %[[VAL_32:.*]] = stablehlo.divide %[[VAL_26]], %[[VAL_25]] : tensor +// CHECK: %[[VAL_33:.*]] = stablehlo.multiply %[[VAL_32]], %[[VAL_32]] : tensor +// CHECK: %[[VAL_34:.*]] = stablehlo.add %[[VAL_18]], %[[VAL_33]] : tensor +// CHECK: %[[VAL_35:.*]] = stablehlo.sqrt %[[VAL_34]] : tensor +// CHECK: %[[VAL_36:.*]] = stablehlo.compare EQ, %[[VAL_35]], %[[VAL_18]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_37:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_38:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_39:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_37]], %[[VAL_38]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_40:.*]] = stablehlo.compare GT, %[[VAL_33]], %[[VAL_39]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_41:.*]] = stablehlo.and %[[VAL_36]], %[[VAL_40]] : tensor +// CHECK: %[[VAL_42:.*]] = stablehlo.multiply %[[VAL_25]], %[[VAL_33]] : tensor +// CHECK: %[[VAL_43:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_44:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_45:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_43]], %[[VAL_44]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_46:.*]] = stablehlo.divide %[[VAL_42]], %[[VAL_45]] : tensor +// CHECK: %[[VAL_47:.*]] = stablehlo.add %[[VAL_25]], %[[VAL_46]] : tensor +// CHECK: %[[VAL_48:.*]] = stablehlo.multiply %[[VAL_25]], %[[VAL_35]] : tensor +// CHECK: %[[VAL_49:.*]] = stablehlo.select %[[VAL_41]], %[[VAL_47]], %[[VAL_48]] : tensor, tensor +// CHECK: %[[VAL_50:.*]] = stablehlo.select %[[VAL_27]], %[[VAL_31]], %[[VAL_49]] : tensor, tensor +// CHECK: %[[VAL_51:.*]] = stablehlo.subtract %[[VAL_3]], %[[VAL_18]] : tensor +// CHECK: %[[VAL_52:.*]] = stablehlo.abs %[[VAL_51]] : tensor +// CHECK: %[[VAL_53:.*]] = stablehlo.maximum %[[VAL_52]], %[[VAL_5]] : tensor +// CHECK: %[[VAL_54:.*]] = stablehlo.minimum %[[VAL_52]], %[[VAL_5]] : tensor +// CHECK: %[[VAL_55:.*]] = stablehlo.compare EQ, %[[VAL_53]], %[[VAL_54]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_56:.*]] = stablehlo.multiply %[[VAL_30]], %[[VAL_53]] : tensor +// CHECK: %[[VAL_57:.*]] = stablehlo.divide %[[VAL_54]], %[[VAL_53]] : tensor +// CHECK: %[[VAL_58:.*]] = stablehlo.multiply %[[VAL_57]], %[[VAL_57]] : tensor +// CHECK: %[[VAL_59:.*]] = stablehlo.add %[[VAL_18]], %[[VAL_58]] : tensor +// CHECK: %[[VAL_60:.*]] = stablehlo.sqrt %[[VAL_59]] : tensor +// CHECK: %[[VAL_61:.*]] = stablehlo.compare EQ, %[[VAL_60]], %[[VAL_18]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_62:.*]] = stablehlo.compare GT, %[[VAL_58]], %[[VAL_39]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_63:.*]] = stablehlo.and %[[VAL_61]], %[[VAL_62]] : tensor +// CHECK: %[[VAL_64:.*]] = stablehlo.multiply %[[VAL_53]], %[[VAL_58]] : tensor +// CHECK: %[[VAL_65:.*]] = stablehlo.divide %[[VAL_64]], %[[VAL_45]] : tensor +// CHECK: %[[VAL_66:.*]] = stablehlo.add %[[VAL_53]], %[[VAL_65]] : tensor +// CHECK: %[[VAL_67:.*]] = stablehlo.multiply %[[VAL_53]], %[[VAL_60]] : tensor +// CHECK: %[[VAL_68:.*]] = stablehlo.select %[[VAL_63]], %[[VAL_66]], %[[VAL_67]] : tensor, tensor +// CHECK: %[[VAL_69:.*]] = stablehlo.select %[[VAL_55]], %[[VAL_56]], %[[VAL_68]] : tensor, tensor +// CHECK: %[[VAL_70:.*]] = stablehlo.add %[[VAL_50]], %[[VAL_69]] : tensor // CHECK: %[[VAL_71:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_70]] : tensor -// CHECK: %[[VAL_72:.*]] = stablehlo.multiply %[[VAL_5]], %[[VAL_5]] : tensor -// CHECK: %[[VAL_73:.*]] = stablehlo.add %[[VAL_48]], %[[VAL_23]] : tensor -// CHECK: %[[VAL_74:.*]] = stablehlo.divide %[[VAL_72]], %[[VAL_73]] : tensor -// CHECK: %[[VAL_75:.*]] = stablehlo.subtract %[[VAL_67]], %[[VAL_49]] : tensor -// CHECK: %[[VAL_76:.*]] = stablehlo.add %[[VAL_74]], %[[VAL_75]] : tensor -// CHECK: %[[VAL_77:.*]] = stablehlo.multiply %[[VAL_71]], %[[VAL_76]] : tensor -// CHECK: %[[VAL_78:.*]] = stablehlo.sqrt %[[VAL_77]] : tensor -// CHECK: %[[VAL_79:.*]] = stablehlo.divide %[[VAL_71]], %[[VAL_73]] : tensor -// CHECK: %[[VAL_80:.*]] = stablehlo.add %[[VAL_67]], %[[VAL_49]] : tensor -// CHECK: %[[VAL_81:.*]] = stablehlo.divide %[[VAL_71]], %[[VAL_80]] : tensor -// CHECK: %[[VAL_82:.*]] = stablehlo.add %[[VAL_79]], %[[VAL_81]] : tensor -// CHECK: %[[VAL_83:.*]] = stablehlo.sqrt %[[VAL_82]] : tensor -// CHECK: %[[VAL_84:.*]] = stablehlo.multiply %[[VAL_5]], %[[VAL_83]] : tensor -// CHECK: %[[VAL_85:.*]] = stablehlo.select %[[VAL_19]], %[[VAL_78]], %[[VAL_84]] : tensor, tensor -// CHECK: %[[VAL_86:.*]] = stablehlo.select %[[VAL_15]], %[[VAL_5]], %[[VAL_85]] : tensor, tensor -// CHECK: %[[VAL_87:.*]] = stablehlo.constant dense<1.000000e+12> : tensor -// CHECK: %[[VAL_88:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_89:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_87]], %[[VAL_88]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_90:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_89]] : tensor -// CHECK: %[[VAL_91:.*]] = stablehlo.compare LT, %[[VAL_3]], %[[VAL_90]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_92:.*]] = stablehlo.constant dense<9.9999999999999995E-7> : tensor -// CHECK: %[[VAL_93:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_94:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_92]], %[[VAL_93]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_95:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_94]] : tensor -// CHECK: %[[VAL_96:.*]] = stablehlo.constant dense<1.000000e+02> : tensor -// CHECK: %[[VAL_97:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_98:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_96]], %[[VAL_97]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_99:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_98]] : tensor -// CHECK: %[[VAL_100:.*]] = stablehlo.select %[[VAL_91]], %[[VAL_95]], %[[VAL_99]] : tensor, tensor -// CHECK: %[[VAL_101:.*]] = stablehlo.compare GE, %[[VAL_5]], %[[VAL_100]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_102:.*]] = stablehlo.select %[[VAL_101]], %[[VAL_5]], %[[VAL_3]] : tensor, tensor -// CHECK: %[[VAL_103:.*]] = stablehlo.select %[[VAL_101]], %[[VAL_100]], %[[VAL_14]] : tensor, tensor -// CHECK: %[[VAL_104:.*]] = stablehlo.compare GE, %[[VAL_102]], %[[VAL_103]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_105:.*]] = stablehlo.log %[[VAL_30]] : tensor -// CHECK: %[[VAL_106:.*]] = stablehlo.log %[[VAL_102]] : tensor -// CHECK: %[[VAL_107:.*]] = stablehlo.add %[[VAL_105]], %[[VAL_106]] : tensor -// CHECK: %[[VAL_108:.*]] = stablehlo.constant dense<0x7FF0000000000000> : tensor -// CHECK: %[[VAL_109:.*]] = shape.shape_of %[[VAL_4]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_110:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_108]], %[[VAL_109]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_111:.*]] = stablehlo.compare EQ, %[[VAL_5]], %[[VAL_110]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_112:.*]] = stablehlo.not %[[VAL_111]] : tensor -// CHECK: %[[VAL_113:.*]] = stablehlo.and %[[VAL_101]], %[[VAL_112]] : tensor -// CHECK: %[[VAL_114:.*]] = stablehlo.divide %[[VAL_3]], %[[VAL_5]] : tensor -// CHECK: %[[VAL_115:.*]] = stablehlo.select %[[VAL_113]], %[[VAL_114]], %[[VAL_40]] : tensor, tensor -// CHECK: %[[VAL_116:.*]] = stablehlo.multiply %[[VAL_115]], %[[VAL_115]] : tensor -// CHECK: %[[VAL_117:.*]] = stablehlo.log_plus_one %[[VAL_116]] : tensor -// CHECK: %[[VAL_118:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_117]] : tensor -// CHECK: %[[VAL_119:.*]] = stablehlo.add %[[VAL_107]], %[[VAL_118]] : tensor -// CHECK: %[[VAL_120:.*]] = stablehlo.constant dense<2.2250738585072014E-308> : tensor -// CHECK: %[[VAL_121:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_122:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_120]], %[[VAL_121]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_123:.*]] = stablehlo.sqrt %[[VAL_122]] : tensor -// CHECK: %[[VAL_124:.*]] = stablehlo.constant dense<4.000000e+00> : tensor -// CHECK: %[[VAL_125:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_126:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_124]], %[[VAL_125]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_127:.*]] = stablehlo.multiply %[[VAL_123]], %[[VAL_126]] : tensor -// CHECK: %[[VAL_128:.*]] = stablehlo.compare LT, %[[VAL_5]], %[[VAL_127]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_129:.*]] = stablehlo.compare LT, %[[VAL_3]], %[[VAL_18]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_130:.*]] = stablehlo.and %[[VAL_128]], %[[VAL_129]] : tensor -// CHECK: %[[VAL_131:.*]] = stablehlo.multiply %[[VAL_23]], %[[VAL_49]] : tensor -// CHECK: %[[VAL_132:.*]] = stablehlo.add %[[VAL_69]], %[[VAL_18]] : tensor -// CHECK: %[[VAL_133:.*]] = stablehlo.divide %[[VAL_131]], %[[VAL_132]] : tensor -// CHECK: %[[VAL_134:.*]] = stablehlo.negate %[[VAL_133]] : tensor -// CHECK: %[[VAL_135:.*]] = stablehlo.compare GE, %[[VAL_3]], %[[VAL_18]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_136:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_72]] : tensor -// CHECK: %[[VAL_137:.*]] = stablehlo.divide %[[VAL_136]], %[[VAL_73]] : tensor -// CHECK: %[[VAL_138:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_80]] : tensor -// CHECK: %[[VAL_139:.*]] = stablehlo.add %[[VAL_137]], %[[VAL_138]] : tensor -// CHECK: %[[VAL_140:.*]] = stablehlo.constant dense<1.500000e+00> : tensor -// CHECK: %[[VAL_141:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_142:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_140]], %[[VAL_141]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_143:.*]] = stablehlo.compare LE, %[[VAL_69]], %[[VAL_142]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_144:.*]] = stablehlo.divide %[[VAL_136]], %[[VAL_75]] : tensor -// CHECK: %[[VAL_145:.*]] = stablehlo.add %[[VAL_137]], %[[VAL_144]] : tensor -// CHECK: %[[VAL_146:.*]] = stablehlo.subtract %[[VAL_69]], %[[VAL_18]] : tensor -// CHECK: %[[VAL_147:.*]] = stablehlo.select %[[VAL_143]], %[[VAL_145]], %[[VAL_146]] : tensor, tensor -// CHECK: %[[VAL_148:.*]] = stablehlo.select %[[VAL_135]], %[[VAL_139]], %[[VAL_147]] : tensor, tensor -// CHECK: %[[VAL_149:.*]] = stablehlo.select %[[VAL_130]], %[[VAL_134]], %[[VAL_148]] : tensor, tensor -// CHECK: %[[VAL_150:.*]] = stablehlo.multiply %[[VAL_149]], %[[VAL_132]] : tensor -// CHECK: %[[VAL_151:.*]] = stablehlo.sqrt %[[VAL_150]] : tensor -// CHECK: %[[VAL_152:.*]] = stablehlo.divide %[[VAL_5]], %[[VAL_151]] : tensor -// CHECK: %[[VAL_153:.*]] = stablehlo.add %[[VAL_149]], %[[VAL_151]] : tensor -// CHECK: %[[VAL_154:.*]] = stablehlo.log_plus_one %[[VAL_153]] : tensor -// CHECK: %[[VAL_155:.*]] = stablehlo.select %[[VAL_130]], %[[VAL_152]], %[[VAL_154]] : tensor, tensor -// CHECK: %[[VAL_156:.*]] = stablehlo.select %[[VAL_104]], %[[VAL_119]], %[[VAL_155]] : tensor, tensor -// CHECK: %[[VAL_157:.*]] = stablehlo.complex %[[VAL_86]], %[[VAL_156]] : tensor> -// CHECK: %[[VAL_158:.*]] = stablehlo.real %[[VAL_157]] : (tensor>) -> tensor -// CHECK: %[[VAL_159:.*]] = stablehlo.atan2 %[[VAL_1]], %[[VAL_158]] : tensor -// CHECK: %[[VAL_160:.*]] = stablehlo.imag %[[VAL_0]] : (tensor>) -> tensor -// CHECK: %[[VAL_161:.*]] = stablehlo.imag %[[VAL_157]] : (tensor>) -> tensor -// CHECK: %[[VAL_162:.*]] = stablehlo.constant dense<0.000000e+00> : tensor -// CHECK: %[[VAL_163:.*]] = shape.shape_of %[[VAL_161]] : tensor -> tensor<1xindex> -// CHECK: %[[VAL_164:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_162]], %[[VAL_163]], dims = [] : (tensor, tensor<1xindex>) -> tensor -// CHECK: %[[VAL_165:.*]] = stablehlo.compare LT, %[[VAL_160]], %[[VAL_164]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_166:.*]] = stablehlo.negate %[[VAL_161]] : tensor -// CHECK: %[[VAL_167:.*]] = stablehlo.select %[[VAL_165]], %[[VAL_166]], %[[VAL_161]] : tensor, tensor -// CHECK: %[[VAL_168:.*]] = stablehlo.complex %[[VAL_159]], %[[VAL_167]] : tensor> -// CHECK: return %[[VAL_168]] : tensor> +// CHECK: %[[VAL_72:.*]] = stablehlo.add %[[VAL_71]], %[[VAL_3]] : tensor +// CHECK: %[[VAL_73:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_72]] : tensor +// CHECK: %[[VAL_74:.*]] = stablehlo.multiply %[[VAL_5]], %[[VAL_5]] : tensor +// CHECK: %[[VAL_75:.*]] = stablehlo.add %[[VAL_50]], %[[VAL_23]] : tensor +// CHECK: %[[VAL_76:.*]] = stablehlo.divide %[[VAL_74]], %[[VAL_75]] : tensor +// CHECK: %[[VAL_77:.*]] = stablehlo.subtract %[[VAL_69]], %[[VAL_51]] : tensor +// CHECK: %[[VAL_78:.*]] = stablehlo.add %[[VAL_76]], %[[VAL_77]] : tensor +// CHECK: %[[VAL_79:.*]] = stablehlo.multiply %[[VAL_73]], %[[VAL_78]] : tensor +// CHECK: %[[VAL_80:.*]] = stablehlo.sqrt %[[VAL_79]] : tensor +// CHECK: %[[VAL_81:.*]] = stablehlo.divide %[[VAL_73]], %[[VAL_75]] : tensor +// CHECK: %[[VAL_82:.*]] = stablehlo.add %[[VAL_69]], %[[VAL_51]] : tensor +// CHECK: %[[VAL_83:.*]] = stablehlo.divide %[[VAL_73]], %[[VAL_82]] : tensor +// CHECK: %[[VAL_84:.*]] = stablehlo.add %[[VAL_81]], %[[VAL_83]] : tensor +// CHECK: %[[VAL_85:.*]] = stablehlo.sqrt %[[VAL_84]] : tensor +// CHECK: %[[VAL_86:.*]] = stablehlo.multiply %[[VAL_5]], %[[VAL_85]] : tensor +// CHECK: %[[VAL_87:.*]] = stablehlo.select %[[VAL_19]], %[[VAL_80]], %[[VAL_86]] : tensor, tensor +// CHECK: %[[VAL_88:.*]] = stablehlo.select %[[VAL_15]], %[[VAL_5]], %[[VAL_87]] : tensor, tensor +// CHECK: %[[VAL_89:.*]] = stablehlo.constant dense<1.000000e+12> : tensor +// CHECK: %[[VAL_90:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_91:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_89]], %[[VAL_90]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_92:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_91]] : tensor +// CHECK: %[[VAL_93:.*]] = stablehlo.compare LT, %[[VAL_3]], %[[VAL_92]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_94:.*]] = stablehlo.constant dense<9.9999999999999995E-7> : tensor +// CHECK: %[[VAL_95:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_96:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_94]], %[[VAL_95]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_97:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_96]] : tensor +// CHECK: %[[VAL_98:.*]] = stablehlo.constant dense<1.000000e+02> : tensor +// CHECK: %[[VAL_99:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_100:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_98]], %[[VAL_99]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_101:.*]] = stablehlo.multiply %[[VAL_14]], %[[VAL_100]] : tensor +// CHECK: %[[VAL_102:.*]] = stablehlo.select %[[VAL_93]], %[[VAL_97]], %[[VAL_101]] : tensor, tensor +// CHECK: %[[VAL_103:.*]] = stablehlo.compare GE, %[[VAL_5]], %[[VAL_102]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_104:.*]] = stablehlo.select %[[VAL_103]], %[[VAL_5]], %[[VAL_3]] : tensor, tensor +// CHECK: %[[VAL_105:.*]] = stablehlo.select %[[VAL_103]], %[[VAL_102]], %[[VAL_14]] : tensor, tensor +// CHECK: %[[VAL_106:.*]] = stablehlo.compare GE, %[[VAL_104]], %[[VAL_105]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_107:.*]] = stablehlo.log %[[VAL_45]] : tensor +// CHECK: %[[VAL_108:.*]] = stablehlo.log %[[VAL_104]] : tensor +// CHECK: %[[VAL_109:.*]] = stablehlo.add %[[VAL_107]], %[[VAL_108]] : tensor +// CHECK: %[[VAL_110:.*]] = stablehlo.constant dense<0x7FF0000000000000> : tensor +// CHECK: %[[VAL_111:.*]] = shape.shape_of %[[VAL_4]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_112:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_110]], %[[VAL_111]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_113:.*]] = stablehlo.compare EQ, %[[VAL_5]], %[[VAL_112]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_114:.*]] = stablehlo.not %[[VAL_113]] : tensor +// CHECK: %[[VAL_115:.*]] = stablehlo.and %[[VAL_103]], %[[VAL_114]] : tensor +// CHECK: %[[VAL_116:.*]] = stablehlo.divide %[[VAL_3]], %[[VAL_5]] : tensor +// CHECK: %[[VAL_117:.*]] = stablehlo.select %[[VAL_115]], %[[VAL_116]], %[[VAL_39]] : tensor, tensor +// CHECK: %[[VAL_118:.*]] = stablehlo.multiply %[[VAL_117]], %[[VAL_117]] : tensor +// CHECK: %[[VAL_119:.*]] = stablehlo.log_plus_one %[[VAL_118]] : tensor +// CHECK: %[[VAL_120:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_119]] : tensor +// CHECK: %[[VAL_121:.*]] = stablehlo.add %[[VAL_109]], %[[VAL_120]] : tensor +// CHECK: %[[VAL_122:.*]] = stablehlo.constant dense<2.2250738585072014E-308> : tensor +// CHECK: %[[VAL_123:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_124:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_122]], %[[VAL_123]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_125:.*]] = stablehlo.sqrt %[[VAL_124]] : tensor +// CHECK: %[[VAL_126:.*]] = stablehlo.constant dense<4.000000e+00> : tensor +// CHECK: %[[VAL_127:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_128:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_126]], %[[VAL_127]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_129:.*]] = stablehlo.multiply %[[VAL_125]], %[[VAL_128]] : tensor +// CHECK: %[[VAL_130:.*]] = stablehlo.compare LT, %[[VAL_5]], %[[VAL_129]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_131:.*]] = stablehlo.compare LT, %[[VAL_3]], %[[VAL_18]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_132:.*]] = stablehlo.and %[[VAL_130]], %[[VAL_131]] : tensor +// CHECK: %[[VAL_133:.*]] = stablehlo.multiply %[[VAL_23]], %[[VAL_51]] : tensor +// CHECK: %[[VAL_134:.*]] = stablehlo.add %[[VAL_71]], %[[VAL_18]] : tensor +// CHECK: %[[VAL_135:.*]] = stablehlo.divide %[[VAL_133]], %[[VAL_134]] : tensor +// CHECK: %[[VAL_136:.*]] = stablehlo.negate %[[VAL_135]] : tensor +// CHECK: %[[VAL_137:.*]] = stablehlo.compare GE, %[[VAL_3]], %[[VAL_18]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_138:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_74]] : tensor +// CHECK: %[[VAL_139:.*]] = stablehlo.divide %[[VAL_138]], %[[VAL_75]] : tensor +// CHECK: %[[VAL_140:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_82]] : tensor +// CHECK: %[[VAL_141:.*]] = stablehlo.add %[[VAL_139]], %[[VAL_140]] : tensor +// CHECK: %[[VAL_142:.*]] = stablehlo.constant dense<1.500000e+00> : tensor +// CHECK: %[[VAL_143:.*]] = shape.shape_of %[[VAL_2]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_144:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_142]], %[[VAL_143]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_145:.*]] = stablehlo.compare LE, %[[VAL_71]], %[[VAL_144]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_146:.*]] = stablehlo.divide %[[VAL_138]], %[[VAL_77]] : tensor +// CHECK: %[[VAL_147:.*]] = stablehlo.add %[[VAL_139]], %[[VAL_146]] : tensor +// CHECK: %[[VAL_148:.*]] = stablehlo.subtract %[[VAL_71]], %[[VAL_18]] : tensor +// CHECK: %[[VAL_149:.*]] = stablehlo.select %[[VAL_145]], %[[VAL_147]], %[[VAL_148]] : tensor, tensor +// CHECK: %[[VAL_150:.*]] = stablehlo.select %[[VAL_137]], %[[VAL_141]], %[[VAL_149]] : tensor, tensor +// CHECK: %[[VAL_151:.*]] = stablehlo.select %[[VAL_132]], %[[VAL_136]], %[[VAL_150]] : tensor, tensor +// CHECK: %[[VAL_152:.*]] = stablehlo.multiply %[[VAL_151]], %[[VAL_134]] : tensor +// CHECK: %[[VAL_153:.*]] = stablehlo.sqrt %[[VAL_152]] : tensor +// CHECK: %[[VAL_154:.*]] = stablehlo.divide %[[VAL_5]], %[[VAL_153]] : tensor +// CHECK: %[[VAL_155:.*]] = stablehlo.add %[[VAL_151]], %[[VAL_153]] : tensor +// CHECK: %[[VAL_156:.*]] = stablehlo.log_plus_one %[[VAL_155]] : tensor +// CHECK: %[[VAL_157:.*]] = stablehlo.select %[[VAL_132]], %[[VAL_154]], %[[VAL_156]] : tensor, tensor +// CHECK: %[[VAL_158:.*]] = stablehlo.select %[[VAL_106]], %[[VAL_121]], %[[VAL_157]] : tensor, tensor +// CHECK: %[[VAL_159:.*]] = stablehlo.complex %[[VAL_88]], %[[VAL_158]] : tensor> +// CHECK: %[[VAL_160:.*]] = stablehlo.real %[[VAL_159]] : (tensor>) -> tensor +// CHECK: %[[VAL_161:.*]] = stablehlo.atan2 %[[VAL_1]], %[[VAL_160]] : tensor +// CHECK: %[[VAL_162:.*]] = stablehlo.imag %[[VAL_0]] : (tensor>) -> tensor +// CHECK: %[[VAL_163:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_164:.*]] = shape.shape_of %[[VAL_1]] : tensor -> tensor<1xindex> +// CHECK: %[[VAL_165:.*]] = stablehlo.dynamic_broadcast_in_dim %[[VAL_163]], %[[VAL_164]], dims = [] : (tensor, tensor<1xindex>) -> tensor +// CHECK: %[[VAL_166:.*]] = stablehlo.compare LT, %[[VAL_162]], %[[VAL_165]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_167:.*]] = stablehlo.imag %[[VAL_159]] : (tensor>) -> tensor +// CHECK: %[[VAL_168:.*]] = stablehlo.negate %[[VAL_167]] : tensor +// CHECK: %[[VAL_169:.*]] = stablehlo.select %[[VAL_166]], %[[VAL_168]], %[[VAL_167]] : tensor, tensor +// CHECK: %[[VAL_170:.*]] = stablehlo.complex %[[VAL_161]], %[[VAL_169]] : tensor> +// CHECK: return %[[VAL_170]] : tensor> // CHECK: } func.func @asin_complex_f64_dynamic(%arg : tensor>) -> tensor> { %result = "chlo.asin"(%arg) : (tensor>) -> tensor> @@ -496,38 +498,38 @@ func.func @asinh_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_22:.*]] = stablehlo.maximum %[[VAL_21]], %[[VAL_10]] : tensor // CHECK: %[[VAL_23:.*]] = stablehlo.minimum %[[VAL_21]], %[[VAL_10]] : tensor // CHECK: %[[VAL_24:.*]] = stablehlo.compare EQ, %[[VAL_22]], %[[VAL_23]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_25:.*]] = stablehlo.constant dense<2.000000e+00> : tensor -// CHECK: %[[VAL_26:.*]] = stablehlo.sqrt %[[VAL_25]] : tensor -// CHECK: %[[VAL_27:.*]] = stablehlo.multiply %[[VAL_26]], %[[VAL_22]] : tensor -// CHECK: %[[VAL_28:.*]] = stablehlo.divide %[[VAL_23]], %[[VAL_22]] : tensor -// CHECK: %[[VAL_29:.*]] = stablehlo.multiply %[[VAL_28]], %[[VAL_28]] : tensor -// CHECK: %[[VAL_30:.*]] = stablehlo.add %[[VAL_17]], %[[VAL_29]] : tensor -// CHECK: %[[VAL_31:.*]] = stablehlo.sqrt %[[VAL_30]] : tensor -// CHECK: %[[VAL_32:.*]] = stablehlo.compare EQ, %[[VAL_31]], %[[VAL_17]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_33:.*]] = stablehlo.constant dense<0.000000e+00> : tensor -// CHECK: %[[VAL_34:.*]] = stablehlo.compare GT, %[[VAL_29]], %[[VAL_33]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_35:.*]] = stablehlo.and %[[VAL_32]], %[[VAL_34]] : tensor -// CHECK: %[[VAL_36:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_29]] : tensor -// CHECK: %[[VAL_37:.*]] = stablehlo.divide %[[VAL_36]], %[[VAL_25]] : tensor +// CHECK: %[[VAL_25:.*]] = stablehlo.constant dense<1.41421354> : tensor +// CHECK: %[[VAL_26:.*]] = stablehlo.multiply %[[VAL_25]], %[[VAL_22]] : tensor +// CHECK: %[[VAL_27:.*]] = stablehlo.divide %[[VAL_23]], %[[VAL_22]] : tensor +// CHECK: %[[VAL_28:.*]] = stablehlo.multiply %[[VAL_27]], %[[VAL_27]] : tensor +// CHECK: %[[VAL_29:.*]] = stablehlo.add %[[VAL_17]], %[[VAL_28]] : tensor +// CHECK: %[[VAL_30:.*]] = stablehlo.sqrt %[[VAL_29]] : tensor +// CHECK: %[[VAL_31:.*]] = stablehlo.compare EQ, %[[VAL_30]], %[[VAL_17]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_32:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_33:.*]] = stablehlo.compare GT, %[[VAL_28]], %[[VAL_32]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_34:.*]] = stablehlo.and %[[VAL_31]], %[[VAL_33]] : tensor +// CHECK: %[[VAL_35:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_28]] : tensor +// CHECK: %[[VAL_36:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_37:.*]] = stablehlo.divide %[[VAL_35]], %[[VAL_36]] : tensor // CHECK: %[[VAL_38:.*]] = stablehlo.add %[[VAL_22]], %[[VAL_37]] : tensor -// CHECK: %[[VAL_39:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_31]] : tensor -// CHECK: %[[VAL_40:.*]] = stablehlo.select %[[VAL_35]], %[[VAL_38]], %[[VAL_39]] : tensor, tensor -// CHECK: %[[VAL_41:.*]] = stablehlo.select %[[VAL_24]], %[[VAL_27]], %[[VAL_40]] : tensor, tensor +// CHECK: %[[VAL_39:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_30]] : tensor +// CHECK: %[[VAL_40:.*]] = stablehlo.select %[[VAL_34]], %[[VAL_38]], %[[VAL_39]] : tensor, tensor +// CHECK: %[[VAL_41:.*]] = stablehlo.select %[[VAL_24]], %[[VAL_26]], %[[VAL_40]] : tensor, tensor // CHECK: %[[VAL_42:.*]] = stablehlo.subtract %[[VAL_8]], %[[VAL_17]] : tensor // CHECK: %[[VAL_43:.*]] = stablehlo.abs %[[VAL_42]] : tensor // CHECK: %[[VAL_44:.*]] = stablehlo.maximum %[[VAL_43]], %[[VAL_10]] : tensor // CHECK: %[[VAL_45:.*]] = stablehlo.minimum %[[VAL_43]], %[[VAL_10]] : tensor // CHECK: %[[VAL_46:.*]] = stablehlo.compare EQ, %[[VAL_44]], %[[VAL_45]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_47:.*]] = stablehlo.multiply %[[VAL_26]], %[[VAL_44]] : tensor +// CHECK: %[[VAL_47:.*]] = stablehlo.multiply %[[VAL_25]], %[[VAL_44]] : tensor // CHECK: %[[VAL_48:.*]] = stablehlo.divide %[[VAL_45]], %[[VAL_44]] : tensor // CHECK: %[[VAL_49:.*]] = stablehlo.multiply %[[VAL_48]], %[[VAL_48]] : tensor // CHECK: %[[VAL_50:.*]] = stablehlo.add %[[VAL_17]], %[[VAL_49]] : tensor // CHECK: %[[VAL_51:.*]] = stablehlo.sqrt %[[VAL_50]] : tensor // CHECK: %[[VAL_52:.*]] = stablehlo.compare EQ, %[[VAL_51]], %[[VAL_17]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_53:.*]] = stablehlo.compare GT, %[[VAL_49]], %[[VAL_33]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_53:.*]] = stablehlo.compare GT, %[[VAL_49]], %[[VAL_32]] : (tensor, tensor) -> tensor // CHECK: %[[VAL_54:.*]] = stablehlo.and %[[VAL_52]], %[[VAL_53]] : tensor // CHECK: %[[VAL_55:.*]] = stablehlo.multiply %[[VAL_44]], %[[VAL_49]] : tensor -// CHECK: %[[VAL_56:.*]] = stablehlo.divide %[[VAL_55]], %[[VAL_25]] : tensor +// CHECK: %[[VAL_56:.*]] = stablehlo.divide %[[VAL_55]], %[[VAL_36]] : tensor // CHECK: %[[VAL_57:.*]] = stablehlo.add %[[VAL_44]], %[[VAL_56]] : tensor // CHECK: %[[VAL_58:.*]] = stablehlo.multiply %[[VAL_44]], %[[VAL_51]] : tensor // CHECK: %[[VAL_59:.*]] = stablehlo.select %[[VAL_54]], %[[VAL_57]], %[[VAL_58]] : tensor, tensor @@ -563,7 +565,7 @@ func.func @asinh_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_89:.*]] = stablehlo.select %[[VAL_88]], %[[VAL_10]], %[[VAL_8]] : tensor, tensor // CHECK: %[[VAL_90:.*]] = stablehlo.select %[[VAL_88]], %[[VAL_87]], %[[VAL_15]] : tensor, tensor // CHECK: %[[VAL_91:.*]] = stablehlo.compare GE, %[[VAL_89]], %[[VAL_90]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_92:.*]] = stablehlo.log %[[VAL_25]] : tensor +// CHECK: %[[VAL_92:.*]] = stablehlo.log %[[VAL_36]] : tensor // CHECK: %[[VAL_93:.*]] = stablehlo.log %[[VAL_89]] : tensor // CHECK: %[[VAL_94:.*]] = stablehlo.add %[[VAL_92]], %[[VAL_93]] : tensor // CHECK: %[[VAL_95:.*]] = stablehlo.constant dense<0x7F800000> : tensor @@ -571,7 +573,7 @@ func.func @asinh_f64(%arg : tensor) -> tensor { // CHECK: %[[VAL_97:.*]] = stablehlo.not %[[VAL_96]] : tensor // CHECK: %[[VAL_98:.*]] = stablehlo.and %[[VAL_88]], %[[VAL_97]] : tensor // CHECK: %[[VAL_99:.*]] = stablehlo.divide %[[VAL_8]], %[[VAL_10]] : tensor -// CHECK: %[[VAL_100:.*]] = stablehlo.select %[[VAL_98]], %[[VAL_99]], %[[VAL_33]] : tensor, tensor +// CHECK: %[[VAL_100:.*]] = stablehlo.select %[[VAL_98]], %[[VAL_99]], %[[VAL_32]] : tensor, tensor // CHECK: %[[VAL_101:.*]] = stablehlo.multiply %[[VAL_100]], %[[VAL_100]] : tensor // CHECK: %[[VAL_102:.*]] = stablehlo.log_plus_one %[[VAL_101]] : tensor // CHECK: %[[VAL_103:.*]] = stablehlo.multiply %[[VAL_19]], %[[VAL_102]] : tensor @@ -886,33 +888,34 @@ func.func @erf_bf16(%arg : tensor) -> tensor { // ----- -// CHECK-LABEL: @acosh -// CHECK-SAME: %[[TMP_arg0:.*]]: tensor) -> tensor +// CHECK-LABEL: @acosh( +// CHECK-SAME: %[[VAL_0:.*]]: tensor) -> tensor { +// CHECK: %[[VAL_1:.*]] = stablehlo.constant dense<6.550400e+04> : tensor +// CHECK: %[[VAL_2:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_3:.*]] = stablehlo.divide %[[VAL_1]], %[[VAL_2]] : tensor +// CHECK: %[[VAL_4:.*]] = stablehlo.compare GE, %[[VAL_0]], %[[VAL_3]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_5:.*]] = stablehlo.log %[[VAL_2]] : tensor +// CHECK: %[[VAL_6:.*]] = stablehlo.log %[[VAL_0]] : tensor +// CHECK: %[[VAL_7:.*]] = stablehlo.add %[[VAL_5]], %[[VAL_6]] : tensor +// CHECK: %[[VAL_8:.*]] = stablehlo.constant dense<1.000000e+00> : tensor +// CHECK: %[[VAL_9:.*]] = stablehlo.subtract %[[VAL_0]], %[[VAL_8]] : tensor +// CHECK: %[[VAL_10:.*]] = stablehlo.sqrt %[[VAL_9]] : tensor +// CHECK: %[[VAL_11:.*]] = stablehlo.add %[[VAL_0]], %[[VAL_8]] : tensor +// CHECK: %[[VAL_12:.*]] = stablehlo.sqrt %[[VAL_11]] : tensor +// CHECK: %[[VAL_13:.*]] = stablehlo.add %[[VAL_12]], %[[VAL_10]] : tensor +// CHECK: %[[VAL_14:.*]] = stablehlo.multiply %[[VAL_10]], %[[VAL_13]] : tensor +// CHECK: %[[VAL_15:.*]] = stablehlo.log_plus_one %[[VAL_14]] : tensor +// CHECK: %[[VAL_16:.*]] = stablehlo.select %[[VAL_4]], %[[VAL_7]], %[[VAL_15]] : tensor, tensor +// CHECK: return %[[VAL_16]] : tensor +// CHECK: } func.func @acosh(%arg: tensor) -> tensor { - // CHECK: %[[TMP_0:.*]] = stablehlo.constant dense<6.550400e+04> : tensor - // CHECK: %[[TMP_1:.*]] = stablehlo.constant dense<2.000000e+00> : tensor - // CHECK: %[[TMP_2:.*]] = stablehlo.divide %[[TMP_0]], %[[TMP_1]] : tensor - // CHECK: %[[TMP_3:.*]] = stablehlo.compare GE, %[[TMP_arg0]], %[[TMP_2]] : (tensor, tensor) -> tensor - // CHECK: %[[TMP_4:.*]] = stablehlo.log %[[TMP_1]] : tensor - // CHECK: %[[TMP_5:.*]] = stablehlo.log %[[TMP_arg0]] : tensor - // CHECK: %[[TMP_6:.*]] = stablehlo.add %[[TMP_4]], %[[TMP_5]] : tensor - // CHECK: %[[TMP_7:.*]] = stablehlo.constant dense<1.000000e+00> : tensor - // CHECK: %[[TMP_8:.*]] = stablehlo.subtract %[[TMP_arg0]], %[[TMP_7]] : tensor - // CHECK: %[[TMP_9:.*]] = stablehlo.sqrt %[[TMP_8]] : tensor - // CHECK: %[[TMP_10:.*]] = stablehlo.add %[[TMP_arg0]], %[[TMP_7]] : tensor - // CHECK: %[[TMP_11:.*]] = stablehlo.sqrt %[[TMP_10]] : tensor - // CHECK: %[[TMP_12:.*]] = stablehlo.add %[[TMP_11]], %[[TMP_9]] : tensor - // CHECK: %[[TMP_13:.*]] = stablehlo.multiply %[[TMP_9]], %[[TMP_12]] : tensor - // CHECK: %[[TMP_14:.*]] = stablehlo.log_plus_one %[[TMP_13]] : tensor - // CHECK: %[[TMP_15:.*]] = stablehlo.select %[[TMP_3]], %[[TMP_6]], %[[TMP_14]] : tensor, tensor - // CHECK: return %[[TMP_15]] : tensor %1 = "chlo.acosh"(%arg) : (tensor) -> tensor func.return %1 : tensor } // ----- -// CHECK-LABEL: func.func @acosh_complex_f32( +// CHECK-LABEL: @acosh_complex_f32( // CHECK-SAME: %[[VAL_0:.*]]: tensor>) -> tensor> { // CHECK: %[[VAL_1:.*]] = stablehlo.real %[[VAL_0]] : (tensor>) -> tensor // CHECK: %[[VAL_2:.*]] = stablehlo.abs %[[VAL_1]] : tensor @@ -932,38 +935,38 @@ func.func @acosh(%arg: tensor) -> tensor { // CHECK: %[[VAL_16:.*]] = stablehlo.maximum %[[VAL_15]], %[[VAL_4]] : tensor // CHECK: %[[VAL_17:.*]] = stablehlo.minimum %[[VAL_15]], %[[VAL_4]] : tensor // CHECK: %[[VAL_18:.*]] = stablehlo.compare EQ, %[[VAL_16]], %[[VAL_17]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_19:.*]] = stablehlo.constant dense<2.000000e+00> : tensor -// CHECK: %[[VAL_20:.*]] = stablehlo.sqrt %[[VAL_19]] : tensor -// CHECK: %[[VAL_21:.*]] = stablehlo.multiply %[[VAL_20]], %[[VAL_16]] : tensor -// CHECK: %[[VAL_22:.*]] = stablehlo.divide %[[VAL_17]], %[[VAL_16]] : tensor -// CHECK: %[[VAL_23:.*]] = stablehlo.multiply %[[VAL_22]], %[[VAL_22]] : tensor -// CHECK: %[[VAL_24:.*]] = stablehlo.add %[[VAL_11]], %[[VAL_23]] : tensor -// CHECK: %[[VAL_25:.*]] = stablehlo.sqrt %[[VAL_24]] : tensor -// CHECK: %[[VAL_26:.*]] = stablehlo.compare EQ, %[[VAL_25]], %[[VAL_11]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_27:.*]] = stablehlo.constant dense<0.000000e+00> : tensor -// CHECK: %[[VAL_28:.*]] = stablehlo.compare GT, %[[VAL_23]], %[[VAL_27]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_29:.*]] = stablehlo.and %[[VAL_26]], %[[VAL_28]] : tensor -// CHECK: %[[VAL_30:.*]] = stablehlo.multiply %[[VAL_16]], %[[VAL_23]] : tensor -// CHECK: %[[VAL_31:.*]] = stablehlo.divide %[[VAL_30]], %[[VAL_19]] : tensor +// CHECK: %[[VAL_19:.*]] = stablehlo.constant dense<1.41421354> : tensor +// CHECK: %[[VAL_20:.*]] = stablehlo.multiply %[[VAL_19]], %[[VAL_16]] : tensor +// CHECK: %[[VAL_21:.*]] = stablehlo.divide %[[VAL_17]], %[[VAL_16]] : tensor +// CHECK: %[[VAL_22:.*]] = stablehlo.multiply %[[VAL_21]], %[[VAL_21]] : tensor +// CHECK: %[[VAL_23:.*]] = stablehlo.add %[[VAL_11]], %[[VAL_22]] : tensor +// CHECK: %[[VAL_24:.*]] = stablehlo.sqrt %[[VAL_23]] : tensor +// CHECK: %[[VAL_25:.*]] = stablehlo.compare EQ, %[[VAL_24]], %[[VAL_11]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_26:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_27:.*]] = stablehlo.compare GT, %[[VAL_22]], %[[VAL_26]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_28:.*]] = stablehlo.and %[[VAL_25]], %[[VAL_27]] : tensor +// CHECK: %[[VAL_29:.*]] = stablehlo.multiply %[[VAL_16]], %[[VAL_22]] : tensor +// CHECK: %[[VAL_30:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_31:.*]] = stablehlo.divide %[[VAL_29]], %[[VAL_30]] : tensor // CHECK: %[[VAL_32:.*]] = stablehlo.add %[[VAL_16]], %[[VAL_31]] : tensor -// CHECK: %[[VAL_33:.*]] = stablehlo.multiply %[[VAL_16]], %[[VAL_25]] : tensor -// CHECK: %[[VAL_34:.*]] = stablehlo.select %[[VAL_29]], %[[VAL_32]], %[[VAL_33]] : tensor, tensor -// CHECK: %[[VAL_35:.*]] = stablehlo.select %[[VAL_18]], %[[VAL_21]], %[[VAL_34]] : tensor, tensor +// CHECK: %[[VAL_33:.*]] = stablehlo.multiply %[[VAL_16]], %[[VAL_24]] : tensor +// CHECK: %[[VAL_34:.*]] = stablehlo.select %[[VAL_28]], %[[VAL_32]], %[[VAL_33]] : tensor, tensor +// CHECK: %[[VAL_35:.*]] = stablehlo.select %[[VAL_18]], %[[VAL_20]], %[[VAL_34]] : tensor, tensor // CHECK: %[[VAL_36:.*]] = stablehlo.subtract %[[VAL_2]], %[[VAL_11]] : tensor // CHECK: %[[VAL_37:.*]] = stablehlo.abs %[[VAL_36]] : tensor // CHECK: %[[VAL_38:.*]] = stablehlo.maximum %[[VAL_37]], %[[VAL_4]] : tensor // CHECK: %[[VAL_39:.*]] = stablehlo.minimum %[[VAL_37]], %[[VAL_4]] : tensor // CHECK: %[[VAL_40:.*]] = stablehlo.compare EQ, %[[VAL_38]], %[[VAL_39]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_41:.*]] = stablehlo.multiply %[[VAL_20]], %[[VAL_38]] : tensor +// CHECK: %[[VAL_41:.*]] = stablehlo.multiply %[[VAL_19]], %[[VAL_38]] : tensor // CHECK: %[[VAL_42:.*]] = stablehlo.divide %[[VAL_39]], %[[VAL_38]] : tensor // CHECK: %[[VAL_43:.*]] = stablehlo.multiply %[[VAL_42]], %[[VAL_42]] : tensor // CHECK: %[[VAL_44:.*]] = stablehlo.add %[[VAL_11]], %[[VAL_43]] : tensor // CHECK: %[[VAL_45:.*]] = stablehlo.sqrt %[[VAL_44]] : tensor // CHECK: %[[VAL_46:.*]] = stablehlo.compare EQ, %[[VAL_45]], %[[VAL_11]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_47:.*]] = stablehlo.compare GT, %[[VAL_43]], %[[VAL_27]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_47:.*]] = stablehlo.compare GT, %[[VAL_43]], %[[VAL_26]] : (tensor, tensor) -> tensor // CHECK: %[[VAL_48:.*]] = stablehlo.and %[[VAL_46]], %[[VAL_47]] : tensor // CHECK: %[[VAL_49:.*]] = stablehlo.multiply %[[VAL_38]], %[[VAL_43]] : tensor -// CHECK: %[[VAL_50:.*]] = stablehlo.divide %[[VAL_49]], %[[VAL_19]] : tensor +// CHECK: %[[VAL_50:.*]] = stablehlo.divide %[[VAL_49]], %[[VAL_30]] : tensor // CHECK: %[[VAL_51:.*]] = stablehlo.add %[[VAL_38]], %[[VAL_50]] : tensor // CHECK: %[[VAL_52:.*]] = stablehlo.multiply %[[VAL_38]], %[[VAL_45]] : tensor // CHECK: %[[VAL_53:.*]] = stablehlo.select %[[VAL_48]], %[[VAL_51]], %[[VAL_52]] : tensor, tensor @@ -999,7 +1002,7 @@ func.func @acosh(%arg: tensor) -> tensor { // CHECK: %[[VAL_83:.*]] = stablehlo.select %[[VAL_82]], %[[VAL_4]], %[[VAL_2]] : tensor, tensor // CHECK: %[[VAL_84:.*]] = stablehlo.select %[[VAL_82]], %[[VAL_81]], %[[VAL_9]] : tensor, tensor // CHECK: %[[VAL_85:.*]] = stablehlo.compare GE, %[[VAL_83]], %[[VAL_84]] : (tensor, tensor) -> tensor -// CHECK: %[[VAL_86:.*]] = stablehlo.log %[[VAL_19]] : tensor +// CHECK: %[[VAL_86:.*]] = stablehlo.log %[[VAL_30]] : tensor // CHECK: %[[VAL_87:.*]] = stablehlo.log %[[VAL_83]] : tensor // CHECK: %[[VAL_88:.*]] = stablehlo.add %[[VAL_86]], %[[VAL_87]] : tensor // CHECK: %[[VAL_89:.*]] = stablehlo.constant dense<0x7F800000> : tensor @@ -1007,7 +1010,7 @@ func.func @acosh(%arg: tensor) -> tensor { // CHECK: %[[VAL_91:.*]] = stablehlo.not %[[VAL_90]] : tensor // CHECK: %[[VAL_92:.*]] = stablehlo.and %[[VAL_82]], %[[VAL_91]] : tensor // CHECK: %[[VAL_93:.*]] = stablehlo.divide %[[VAL_2]], %[[VAL_4]] : tensor -// CHECK: %[[VAL_94:.*]] = stablehlo.select %[[VAL_92]], %[[VAL_93]], %[[VAL_27]] : tensor, tensor +// CHECK: %[[VAL_94:.*]] = stablehlo.select %[[VAL_92]], %[[VAL_93]], %[[VAL_26]] : tensor, tensor // CHECK: %[[VAL_95:.*]] = stablehlo.multiply %[[VAL_94]], %[[VAL_94]] : tensor // CHECK: %[[VAL_96:.*]] = stablehlo.log_plus_one %[[VAL_95]] : tensor // CHECK: %[[VAL_97:.*]] = stablehlo.multiply %[[VAL_13]], %[[VAL_96]] : tensor @@ -3887,3 +3890,38 @@ func.func @erf_inv_wide(%arg0 : tensor<16x16xf64>) { %0 = chlo.erf_inv %arg0 : tensor<16x16xf64> -> tensor<16x16xf64> return } + +// CHECK-LABEL: @square_complex_f32( +// CHECK-SAME: %[[VAL_0:.*]]: tensor>) -> tensor> { +// CHECK: %[[VAL_1:.*]] = stablehlo.real %[[VAL_0]] : (tensor>) -> tensor +// CHECK: %[[VAL_2:.*]] = stablehlo.is_finite %[[VAL_1]] : (tensor) -> tensor +// CHECK: %[[VAL_3:.*]] = stablehlo.abs %[[VAL_1]] : tensor +// CHECK: %[[VAL_4:.*]] = stablehlo.imag %[[VAL_0]] : (tensor>) -> tensor +// CHECK: %[[VAL_5:.*]] = stablehlo.abs %[[VAL_4]] : tensor +// CHECK: %[[VAL_6:.*]] = stablehlo.compare EQ, %[[VAL_3]], %[[VAL_5]] : (tensor, tensor) -> tensor +// CHECK: %[[VAL_7:.*]] = stablehlo.and %[[VAL_2]], %[[VAL_6]] : tensor +// CHECK: %[[VAL_8:.*]] = stablehlo.constant dense<0.000000e+00> : tensor +// CHECK: %[[VAL_9:.*]] = stablehlo.subtract %[[VAL_1]], %[[VAL_4]] : tensor +// CHECK: %[[VAL_10:.*]] = stablehlo.add %[[VAL_1]], %[[VAL_4]] : tensor +// CHECK: %[[VAL_11:.*]] = stablehlo.multiply %[[VAL_9]], %[[VAL_10]] : tensor +// CHECK: %[[VAL_12:.*]] = stablehlo.select %[[VAL_7]], %[[VAL_8]], %[[VAL_11]] : tensor, tensor +// CHECK: %[[VAL_13:.*]] = stablehlo.constant dense<2.000000e+00> : tensor +// CHECK: %[[VAL_14:.*]] = stablehlo.multiply %[[VAL_1]], %[[VAL_4]] : tensor +// CHECK: %[[VAL_15:.*]] = stablehlo.multiply %[[VAL_13]], %[[VAL_14]] : tensor +// CHECK: %[[VAL_16:.*]] = stablehlo.complex %[[VAL_12]], %[[VAL_15]] : tensor> +// CHECK: return %[[VAL_16]] : tensor> +// CHECK: } +func.func @square_complex_f32(%arg : tensor>) -> tensor> { + %result = "chlo.square"(%arg) : (tensor>) -> tensor> + func.return %result : tensor> +} + +// CHECK-LABEL: @square_f32( +// CHECK-SAME: %[[VAL_0:.*]]: tensor) -> tensor { +// CHECK: %[[VAL_1:.*]] = stablehlo.multiply %[[VAL_0]], %[[VAL_0]] : tensor +// CHECK: return %[[VAL_1]] : tensor +// CHECK: } +func.func @square_f32(%arg : tensor) -> tensor { + %result = "chlo.square"(%arg) : (tensor) -> tensor + func.return %result : tensor +} diff --git a/stablehlo/tests/math/acos_float64.mlir b/stablehlo/tests/math/acos_float64.mlir index bcf3031a9df..a87e5bd2379 100644 --- a/stablehlo/tests/math/acos_float64.mlir +++ b/stablehlo/tests/math/acos_float64.mlir @@ -2,7 +2,7 @@ // This file is generated, see build_tools/math/README.md for more information. module @acos_float64 { func.func private @samples() -> tensor<175xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF0054BB12B52BD1FC00FC189C8FC141FB00A476256A57B2F9004CD4AE44ED22F800F431381F8393F6009C8FC1F91804F50048ED4AD4AE74F300F04AD4AE44E5F10098A85D89DA55F0004006E76370C6EE00E863703E0637ED0090C1F9189CA7EB00381F83F33118EA00E47C0CCEC788E8008CDA95A85DF9E60034381F83F369E500DC95A85D89DAE30084F331381F4BE2002C51BB12B5BBE000D4AE44ED4A2CDF00800CCEC7E09CDD00286A57A2760DDC00D0C7E07C0C7EDA0078256A57A2EED8002083F331385FD700C8E07C0CCECFD500703E06E76340D4001C9C8FC1F9B0D200C4F9189C8F21D1006C57A2762592CF0014B52B51BB02CE00BC12B52B5173CC0064703E06E7E3CA000CCEC7E07C54C900B82B51BB12C5C7006089DA95A835C60008E763703EA6C400B044ED4AD416C30058A276256A87C1000000000000F8BF00AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C00AA5D89DA95683E000000000000F83F0058A276256A874100B044ED4AD416430008E763703EA644006089DA95A8354600B82B51BB12C547000CCEC7E07C54490064703E06E7E34A00BC12B52B51734C0014B52B51BB024E006C57A27625924F00C4F9189C8F2151001C9C8FC1F9B05200703E06E763405400C8E07C0CCECF55002083F331385F570078256A57A2EE5800D0C7E07C0C7E5A00286A57A2760D5C00800CCEC7E09C5D00D4AE44ED4A2C5F002C51BB12B5BB600084F331381F4B6200DC95A85D89DA630034381F83F36965008CDA95A85DF96600E47C0CCEC7886800381F83F331186A0090C1F9189CA76B00E863703E06376D004006E76370C66E0098A85D89DA557000F04AD4AE44E5710048ED4AD4AE7473009C8FC1F918047500F431381F839376004CD4AE44ED227800A476256A57B27900FC189C8FC1417B0054BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F010000000000F0BF000000000000F0BFFFFFFFFFFFFFEFBFFFFFFFFFFFFFEF3F000000000000F03F010000000000F03F"> : tensor<175xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F010000000000F0BF000000000000F0BFFFFFFFFFFFFFEFBFFFFFFFFFFFFFEF3F000000000000F03F010000000000F03F"> : tensor<175xf64> return %0 : tensor<175xf64> } func.func private @expected() -> tensor<175xf64> { diff --git a/stablehlo/tests/math/acosh_complex128.mlir b/stablehlo/tests/math/acosh_complex128.mlir index 09fa66c76f2..6f11a47b72c 100644 --- a/stablehlo/tests/math/acosh_complex128.mlir +++ b/stablehlo/tests/math/acosh_complex128.mlir @@ -6,7 +6,7 @@ module @acosh_complex128 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0x000000000000F07FD221337F7CD902C0000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21E9BF000000000000F07F182D4454FB2109C0C5D7195894368640D221337F7CD902C0C5D7195894368640D221337F7CD902C07EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640192D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F07F182D4454FB2109C0C5D7195894368640D221337F7CD902C0C5D7195894368640D221337F7CD902C07EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640182D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F07F182D4454FB2109C07EF8B98FCE338640182D4454FB2109C07EF8B98FCE338640182D4454FB2109C013B635A51C32F73F24A12242DA6802C0D8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BF13B635A51C32F73FD32F864884E4EABF7EF8B98FCE33864000000000000006807EF8B98FCE3386400000000000000680000000000000F07F0000000000000000000000000000F07F182D4454FB2109C07EF8B98FCE338640182D4454FB2109C07EF8B98FCE338640182D4454FB2109C00A16C5AE2CCCEE3F182D4454FB2109C0000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF0A16C5AE2CCCEE3F1EF0070D410BF99F7EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109C07EF8B98FCE338640182D4454FB2109C07EF8B98FCE338640182D4454FB2109C00A16C5AE2CCCEE3F182D4454FB2109C00100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0A16C5AE2CCCEE3F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB2109400A16C5AE2CCCEE3F182D4454FB2109400000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0A16C5AE2CCCEE3F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB2109400A16C5AE2CCCEE3F182D4454FB2109400100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0A16C5AE2CCCEE3F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB2109400A16C5AE2CCCEE3F182D4454FB210940000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F0A16C5AE2CCCEE3F1EF0070D410BF91F7EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB21094013B635A51C32F73F24A12242DA680240D8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93F13B635A51C32F73FD32F864884E4EA3F7EF8B98FCE33864000000000000006007EF8B98FCE3386400000000000000600000000000000F07F0000000000000000000000000000F07F182D4454FB210940C5D7195894368640D221337F7CD90240C5D7195894368640D221337F7CD902407EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640182D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F07F182D4454FB210940C5D7195894368640D221337F7CD90240C5D7195894368640D221337F7CD902407EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640192D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F07FD221337F7CD90240000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21E93F"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0x000000000000F07FD221337F7CD902C0000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21E9BF000000000000F07F182D4454FB2109C0C5D7195894368640D221337F7CD902C0C5D7195894368640D221337F7CD902C07EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640192D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F07F182D4454FB2109C0C5D7195894368640D221337F7CD902C0C5D7195894368640D221337F7CD902C07EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640182D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F07F182D4454FB2109C07EF8B98FCE338640182D4454FB2109C07EF8B98FCE338640182D4454FB2109C013B635A51C32F73F24A12242DA6802C0D8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BFD8630B09C01DF33F182D4454FB21F9BF13B635A51C32F73FD32F864884E4EABF7EF8B98FCE33864000000000000006807EF8B98FCE3386400000000000000680000000000000F07F0000000000000000000000000000F07F182D4454FB2109C07EF8B98FCE338640182D4454FB2109C07EF8B98FCE338640182D4454FB2109C00A16C5AE2CCCEE3F182D4454FB2109C0000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF000000000000FC1F182D4454FB21F9BF0A16C5AE2CCCEE3F1EF0070D410BF99F7EF8B98FCE33864000000000000000807EF8B98FCE3386400000000000000080000000000000F07F0000000000000000000000000000F07F182D4454FB2109C07EF8B98FCE338640182D4454FB2109C07EF8B98FCE338640182D4454FB2109C00A16C5AE2CCCEE3F182D4454FB2109C00100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0100000000000000182D4454FB21F9BF0A16C5AE2CCCEE3F00000000000000807EF8B98FCE33864000000000000000807EF8B98FCE3386400000000000000080000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB2109400A16C5AE2CCCEE3F182D4454FB2109400000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0A16C5AE2CCCEE3F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB2109400A16C5AE2CCCEE3F182D4454FB2109400100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0100000000000000182D4454FB21F93F0A16C5AE2CCCEE3F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB2109400A16C5AE2CCCEE3F182D4454FB210940000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F000000000000FC1F182D4454FB21F93F0A16C5AE2CCCEE3F1EF0070D410BF91F7EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB2109407EF8B98FCE338640182D4454FB2109407EF8B98FCE338640182D4454FB21094013B635A51C32F73F24A12242DA680240D8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93FD8630B09C01DF33F182D4454FB21F93F13B635A51C32F73FD32F864884E4EA3F7EF8B98FCE33864000000000000006007EF8B98FCE3386400000000000000600000000000000F07F0000000000000000000000000000F07F182D4454FB210940C5D7195894368640D221337F7CD90240C5D7195894368640D221337F7CD902407EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640182D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F07F182D4454FB210940C5D7195894368640D221337F7CD90240C5D7195894368640D221337F7CD902407EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640192D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F07FD221337F7CD90240000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21E93F"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/acosh_complex64.mlir b/stablehlo/tests/math/acosh_complex64.mlir index 64c0e13a28f..ff52e6e7e8e 100644 --- a/stablehlo/tests/math/acosh_complex64.mlir +++ b/stablehlo/tests/math/acosh_complex64.mlir @@ -6,7 +6,7 @@ module @acosh_complex64 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0x0000807FE4CB16C00000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0F49BF0000807FDB0F49C06E86B342E4CB16C06E86B342E4CB16C0FCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DB0F49BF0000807F000000000000807FDB0F49C06E86B342E4CB16C06E86B342E4CB16C0FCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DA0F49BF0000807F000000000000807FDB0F49C0FCD4B242DB0F49C0FCD4B242DB0F49C0E590B93FD24613C000EE983FDB0FC9BF00EE983FDB0FC9BF00EE983FDB0FC9BF00EE983FDB0FC9BF00EE983FDB0FC9BFE590B93F222457BFFCD4B24200003080FCD4B242000030800000807F000000000000807FDB0F49C0FCD4B242DB0F49C0FCD4B242DB0F49C06561763FDB0F49C00000E01FDB0FC9BF0000E01FDB0FC9BF0000E01FDB0FC9BF0000E01FDB0FC9BF0000E01FDB0FC9BF6561763F085AC89FFCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F49C0FCD4B242DB0F49C0FCD4B242DB0F49C06561763FDB0F49C001000000DB0FC9BF01000000DB0FC9BF01000000DB0FC9BF01000000DB0FC9BF01000000DB0FC9BF6561763F00000000FCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F49406561763FDB0F494000000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F6561763F00000000FCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F49406561763FDB0F494001000000DB0FC93F01000000DB0FC93F01000000DB0FC93F01000000DB0FC93F01000000DB0FC93F6561763F00000000FCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F49406561763FDB0F49400000E01FDB0FC93F0000E01FDB0FC93F0000E01FDB0FC93F0000E01FDB0FC93F0000E01FDB0FC93F6561763F085AC81FFCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F4940E590B93FD246134000EE983FDB0FC93F00EE983FDB0FC93F00EE983FDB0FC93F00EE983FDB0FC93F00EE983FDB0FC93FE590B93F2224573FFCD4B24200003000FCD4B242000030000000807F000000000000807FDB0F49406E86B342E4CB16406E86B342E4CB1640FCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DA0F493F0000807F000000000000807FDB0F49406E86B342E4CB16406E86B342E4CB1640FCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DB0F493F0000807F000000000000807FE4CB16400000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0F493F"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0x0000807FE4CB16C00000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0F49BF0000807FDB0F49C06E86B342E4CB16C06E86B342E4CB16C0FCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DB0F49BF0000807F000000000000807FDB0F49C06E86B342E4CB16C06E86B342E4CB16C0FCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DA0F49BF0000807F000000000000807FDB0F49C0FCD4B242DB0F49C0FCD4B242DB0F49C0E590B93FD24613C000EE983FDB0FC9BF00EE983FDB0FC9BF00EE983FDB0FC9BF00EE983FDB0FC9BF00EE983FDB0FC9BFE590B93F222457BFFCD4B24200003080FCD4B242000030800000807F000000000000807FDB0F49C0FCD4B242DB0F49C0FCD4B242DB0F49C06561763FDB0F49C00000E01FDB0FC9BF0000E01FDB0FC9BF0000E01FDB0FC9BF0000E01FDB0FC9BF0000E01FDB0FC9BF6561763F085AC89FFCD4B24200000080FCD4B242000000800000807F000000000000807FDB0F49C0FCD4B242DB0F49C0FCD4B242DB0F49C06561763FDB0F49C001000000DB0FC9BF01000000DB0FC9BF01000000DB0FC9BF01000000DB0FC9BF01000000DB0FC9BF6561763F00000080FCD4B24200000080FCD4B242000000800000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F49406561763FDB0F494000000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F6561763F00000000FCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F49406561763FDB0F494001000000DB0FC93F01000000DB0FC93F01000000DB0FC93F01000000DB0FC93F01000000DB0FC93F6561763F00000000FCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F49406561763FDB0F49400000E01FDB0FC93F0000E01FDB0FC93F0000E01FDB0FC93F0000E01FDB0FC93F0000E01FDB0FC93F6561763F085AC81FFCD4B24200000000FCD4B242000000000000807F000000000000807FDB0F4940FCD4B242DB0F4940FCD4B242DB0F4940E590B93FD246134000EE983FDB0FC93F00EE983FDB0FC93F00EE983FDB0FC93F00EE983FDB0FC93F00EE983FDB0FC93FE590B93F2224573FFCD4B24200003000FCD4B242000030000000807F000000000000807FDB0F49406E86B342E4CB16406E86B342E4CB1640FCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DA0F493F0000807F000000000000807FDB0F49406E86B342E4CB16406E86B342E4CB1640FCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DB0F493F0000807F000000000000807FE4CB16400000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0F493F"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/acosh_float64.mlir b/stablehlo/tests/math/acosh_float64.mlir index acd7b1c64ec..f3c87308425 100644 --- a/stablehlo/tests/math/acosh_float64.mlir +++ b/stablehlo/tests/math/acosh_float64.mlir @@ -2,11 +2,11 @@ // This file is generated, see build_tools/math/README.md for more information. module @acosh_float64 { func.func private @samples() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF0054BB12B52BD1FC00FC189C8FC141FB00A476256A57B2F9004CD4AE44ED22F800F431381F8393F6009C8FC1F91804F50048ED4AD4AE74F300F04AD4AE44E5F10098A85D89DA55F0004006E76370C6EE00E863703E0637ED0090C1F9189CA7EB00381F83F33118EA00E47C0CCEC788E8008CDA95A85DF9E60034381F83F369E500DC95A85D89DAE30084F331381F4BE2002C51BB12B5BBE000D4AE44ED4A2CDF00800CCEC7E09CDD00286A57A2760DDC00D0C7E07C0C7EDA0078256A57A2EED8002083F331385FD700C8E07C0CCECFD500703E06E76340D4001C9C8FC1F9B0D200C4F9189C8F21D1006C57A2762592CF0014B52B51BB02CE00BC12B52B5173CC0064703E06E7E3CA000CCEC7E07C54C900B82B51BB12C5C7006089DA95A835C60008E763703EA6C400B044ED4AD416C30058A276256A87C1000000000000F8BF00AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C00AA5D89DA95683E000000000000F83F0058A276256A874100B044ED4AD416430008E763703EA644006089DA95A8354600B82B51BB12C547000CCEC7E07C54490064703E06E7E34A00BC12B52B51734C0014B52B51BB024E006C57A27625924F00C4F9189C8F2151001C9C8FC1F9B05200703E06E763405400C8E07C0CCECF55002083F331385F570078256A57A2EE5800D0C7E07C0C7E5A00286A57A2760D5C00800CCEC7E09C5D00D4AE44ED4A2C5F002C51BB12B5BB600084F331381F4B6200DC95A85D89DA630034381F83F36965008CDA95A85DF96600E47C0CCEC7886800381F83F331186A0090C1F9189CA76B00E863703E06376D004006E76370C66E0098A85D89DA557000F04AD4AE44E5710048ED4AD4AE7473009C8FC1F918047500F431381F839376004CD4AE44ED227800A476256A57B27900FC189C8FC1417B0054BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func private @expected() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F0A16C5AE2CCCEE3F32C692BD106732407A7B38ED5CDA41405CEDA5EE1B814A403192631EE293514046EC8F4C2AE755402BFA23D5653A5A404F2266FC938D5E407CF3E5FA5970614064EFF370E299634099C001E662C36540F01AAAD3DAEC67403793DBA549166A400924EDB8AE3F6C40F6B4F0C03B696E40180A2B0F94497040EF4A29CD885E714088C8380C7C737240783248BD6D88734015FA5DD05D9D7440A74B85344CB275406A0AB9D738C77640F38DCCA623DC7740F1D5518D0CF1784031DD7C75F3057A4007A70348D81A7B40D291FAEBBA2F7C407C65AC469B447D409D7D6D3B79597E40575269AB546E7F40AFC0B4BA9641804086A7CABA01CC8040B33294426B568140BFAC0F3DD3E08140041A6C93396B8240716ED22C9EF58240496A26EE008083401A8BBDB9610A84403F220A6FC0948440532E38EA1C1F85407EF8B98FCE3386407EF8B98FCE338640000000000000F07F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F0A16C5AE2CCCEE3F2BC692BD10673240747B38ED5CDA414052EDA5EE1B814A402B92631EE29351403DEC8F4C2AE755402CFA23D5653A5A404E2266FC938D5E407BF3E5FA5970614062EFF370E299634096C001E662C36540EB1AAAD3DAEC67403293DBA549166A400A24EDB8AE3F6C40F6B4F0C03B696E40170A2B0F94497040EF4A29CD885E714087C8380C7C737240773248BD6D88734013FA5DD05D9D7440A74B85344CB275406A0AB9D738C77640F38DCCA623DC7740F0D5518D0CF178402FDD7C75F3057A4006A70348D81A7B40D091FAEBBA2F7C407C65AC469B447D409D7D6D3B79597E40565269AB546E7F40AEC0B4BA9641804085A7CABA01CC8040B23294426B568140BDAC0F3DD3E08140041A6C93396B8240716ED22C9EF58240486A26EE008083401A8BBDB9610A84403E220A6FC0948440512E38EA1C1F85407EF8B98FCE3386407EF8B98FCE338640000000000000F07F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func public @main() { diff --git a/stablehlo/tests/math/asin_complex128.mlir b/stablehlo/tests/math/asin_complex128.mlir index 9345cea28f3..4073024e3f4 100644 --- a/stablehlo/tests/math/asin_complex128.mlir +++ b/stablehlo/tests/math/asin_complex128.mlir @@ -6,7 +6,7 @@ module @asin_complex128 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0x182D4454FB21E9BF000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF182D4454FB21E93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21E9BFC5D71958943686C0182D4454FB21E9BFC5D71958943686C000000000000006807EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000006007EF8B98FCE3386C0182D4454FB21E93FC5D71958943686C0182D4454FB21E93FC5D71958943686C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF192D4454FB21E9BFC5D71958943686C0182D4454FB21E9BFC5D71958943686C000000000000006807EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000006007EF8B98FCE3386C0182D4454FB21E93FC5D71958943686C0192D4454FB21E93FC5D71958943686C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C05E2A0260725FE7BF13B635A51C32F7BF06D768982E10EF9FD8630B09C01DF3BF0000000000000000D8630B09C01DF3BF0000000000000000D8630B09C01DF3BF0000000000000000D8630B09C01DF3BF06D768982E10EF1FD8630B09C01DF3BF5E2A0260725FE73F13B635A51C32F7BF182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF0A16C5AE2CCCEEBF000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F182D4454FB21F93F0A16C5AE2CCCEEBF182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF0A16C5AE2CCCEEBF000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080182D4454FB21F93F0A16C5AE2CCCEEBF182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF0A16C5AE2CCCEE3F000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF0A16C5AE2CCCEE3F000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF0A16C5AE2CCCEE3F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE3386405E2A0260725FE7BF13B635A51C32F73F06D768982E10EF9FD8630B09C01DF33F0000000000000000D8630B09C01DF33F0000000000000000D8630B09C01DF33F0000000000000000D8630B09C01DF33F06D768982E10EF1FD8630B09C01DF33F5E2A0260725FE73F13B635A51C32F73F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F192D4454FB21E9BFC5D7195894368640182D4454FB21E9BFC5D719589436864000000000000006807EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000006007EF8B98FCE338640182D4454FB21E93FC5D7195894368640192D4454FB21E93FC5D7195894368640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21E9BFC5D7195894368640182D4454FB21E9BFC5D719589436864000000000000006807EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000006007EF8B98FCE338640182D4454FB21E93FC5D7195894368640182D4454FB21E93FC5D7195894368640182D4454FB21F93F000000000000F07F182D4454FB21E9BF000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB21E93F000000000000F07F"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0x182D4454FB21E9BF000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF0000000000000000000000000000F0FF182D4454FB21E93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21E9BFC5D71958943686C0182D4454FB21E9BFC5D71958943686C000000000000006807EF8B98FCE3386C000000000000000807EF8B98FCE3386C000000000000000807EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000006007EF8B98FCE3386C0182D4454FB21E93FC5D71958943686C0182D4454FB21E93FC5D71958943686C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF192D4454FB21E9BFC5D71958943686C0182D4454FB21E9BFC5D71958943686C000000000000006807EF8B98FCE3386C000000000000000807EF8B98FCE3386C000000000000000807EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C000000000000006007EF8B98FCE3386C0182D4454FB21E93FC5D71958943686C0192D4454FB21E93FC5D71958943686C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C05E2A0260725FE7BF13B635A51C32F7BF06D768982E10EF9FD8630B09C01DF3BF0000000000000080D8630B09C01DF3BF0000000000000000D8630B09C01DF3BF0000000000000000D8630B09C01DF3BF06D768982E10EF1FD8630B09C01DF3BF5E2A0260725FE73F13B635A51C32F7BF182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF0A16C5AE2CCCEEBF000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F182D4454FB21F93F0A16C5AE2CCCEEBF182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF0A16C5AE2CCCEEBF000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080182D4454FB21F93F0A16C5AE2CCCEEBF182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F000000000000F0FF182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF0A16C5AE2CCCEE3F000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF0A16C5AE2CCCEE3F000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF0A16C5AE2CCCEE3F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE3386405E2A0260725FE7BF13B635A51C32F73F06D768982E10EF9FD8630B09C01DF33F0000000000000080D8630B09C01DF33F0000000000000000D8630B09C01DF33F0000000000000000D8630B09C01DF33F06D768982E10EF1FD8630B09C01DF33F5E2A0260725FE73F13B635A51C32F73F182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F192D4454FB21E9BFC5D7195894368640182D4454FB21E9BFC5D719589436864000000000000006807EF8B98FCE33864000000000000000807EF8B98FCE33864000000000000000807EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000006007EF8B98FCE338640182D4454FB21E93FC5D7195894368640192D4454FB21E93FC5D7195894368640182D4454FB21F93F000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21E9BFC5D7195894368640182D4454FB21E9BFC5D719589436864000000000000006807EF8B98FCE33864000000000000000807EF8B98FCE33864000000000000000807EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000000007EF8B98FCE33864000000000000006007EF8B98FCE338640182D4454FB21E93FC5D7195894368640182D4454FB21E93FC5D7195894368640182D4454FB21F93F000000000000F07F182D4454FB21E9BF000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F182D4454FB21E93F000000000000F07F"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/asin_complex64.mlir b/stablehlo/tests/math/asin_complex64.mlir index 28cfe96c277..c472087de0c 100644 --- a/stablehlo/tests/math/asin_complex64.mlir +++ b/stablehlo/tests/math/asin_complex64.mlir @@ -6,7 +6,7 @@ module @asin_complex64 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0xDB0F49BF000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FFDB0F493F000080FFDB0FC9BF000080FFDB0F49BF6E86B3C2DA0F49BF6E86B3C200003080FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200003000FCD4B2C2DA0F493F6E86B3C2DB0F493F6E86B3C2DB0FC93F000080FFDB0FC9BF000080FFDB0F49BF6E86B3C2DB0F49BF6E86B3C200003080FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200003000FCD4B2C2DB0F493F6E86B3C2DB0F493F6E86B3C2DB0FC93F000080FFDB0FC9BF000080FFDB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C293FB3ABFE590B9BF7581789F00EE98BF0000000000EE98BF0000000000EE98BF0000000000EE98BF7581781F00EE98BF93FB3A3FE590B9BFDB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93F000080FFDB0FC9BF000080FFDB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BF656176BF0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09FDB0FC93F656176BFDB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93F000080FFDB0FC9BF000080FFDB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BF656176BF0000E09F010000800100008001000080000000000100008001000000010000800000E01F01000080DB0FC93F656176BFDB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93F000080FFDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6561763F0000E09F000000000100008000000000000000000000000001000000000000000000E01F00000000DB0FC93F6561763FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6561763F0000E09F010000000100008001000000000000000100000001000000010000000000E01F01000000DB0FC93F6561763FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6561763F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01FDB0FC93F6561763FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B24293FB3ABFE590B93F7581789F00EE983F0000000000EE983F0000000000EE983F0000000000EE983F7581781F00EE983F93FB3A3FE590B93FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0F49BF6E86B342DB0F49BF6E86B34200003080FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200003000FCD4B242DB0F493F6E86B342DB0F493F6E86B342DB0FC93F0000807FDB0FC9BF0000807FDB0F49BF6E86B342DA0F49BF6E86B34200003080FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200003000FCD4B242DA0F493F6E86B342DB0F493F6E86B342DB0FC93F0000807FDB0F49BF0000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807FDB0F493F0000807F"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0xDB0F49BF000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FF00000000000080FFDB0F493F000080FFDB0FC9BF000080FFDB0F49BF6E86B3C2DA0F49BF6E86B3C200003080FCD4B2C200000080FCD4B2C200000080FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200003000FCD4B2C2DA0F493F6E86B3C2DB0F493F6E86B3C2DB0FC93F000080FFDB0FC9BF000080FFDB0F49BF6E86B3C2DB0F49BF6E86B3C200003080FCD4B2C200000080FCD4B2C200000080FCD4B2C200000000FCD4B2C200000000FCD4B2C200000000FCD4B2C200003000FCD4B2C2DB0F493F6E86B3C2DB0F493F6E86B3C2DB0FC93F000080FFDB0FC9BF000080FFDB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C293FB3ABFE590B9BF7581789F00EE98BF0000008000EE98BF0000000000EE98BF0000000000EE98BF7581781F00EE98BF93FB3A3FE590B9BFDB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93F000080FFDB0FC9BF000080FFDB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BF656176BF0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09FDB0FC93F656176BFDB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93F000080FFDB0FC9BF000080FFDB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BF656176BF0000E09F010000800100008001000080000000000100008001000000010000800000E01F01000080DB0FC93F656176BFDB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93F000080FFDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6561763F0000E09F000000000100008000000000000000000000000001000000000000000000E01F00000000DB0FC93F6561763FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6561763F0000E09F010000000100008001000000000000000100000001000000010000000000E01F01000000DB0FC93F6561763FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6561763F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01FDB0FC93F6561763FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0FC9BFFCD4B242DB0FC9BFFCD4B24293FB3ABFE590B93F7581789F00EE983F0000008000EE983F0000000000EE983F0000000000EE983F7581781F00EE983F93FB3A3FE590B93FDB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F0000807FDB0FC9BF0000807FDB0F49BF6E86B342DB0F49BF6E86B34200003080FCD4B24200000080FCD4B24200000080FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200003000FCD4B242DB0F493F6E86B342DB0F493F6E86B342DB0FC93F0000807FDB0FC9BF0000807FDB0F49BF6E86B342DA0F49BF6E86B34200003080FCD4B24200000080FCD4B24200000080FCD4B24200000000FCD4B24200000000FCD4B24200000000FCD4B24200003000FCD4B242DA0F493F6E86B342DB0F493F6E86B342DB0FC93F0000807FDB0F49BF0000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807F000000000000807FDB0F493F0000807F"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/asin_float64.mlir b/stablehlo/tests/math/asin_float64.mlir index 50fe0dba6fd..1a881fe5774 100644 --- a/stablehlo/tests/math/asin_float64.mlir +++ b/stablehlo/tests/math/asin_float64.mlir @@ -2,11 +2,11 @@ // This file is generated, see build_tools/math/README.md for more information. module @asin_float64 { func.func private @samples() -> tensor<175xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF0054BB12B52BD1FC00FC189C8FC141FB00A476256A57B2F9004CD4AE44ED22F800F431381F8393F6009C8FC1F91804F50048ED4AD4AE74F300F04AD4AE44E5F10098A85D89DA55F0004006E76370C6EE00E863703E0637ED0090C1F9189CA7EB00381F83F33118EA00E47C0CCEC788E8008CDA95A85DF9E60034381F83F369E500DC95A85D89DAE30084F331381F4BE2002C51BB12B5BBE000D4AE44ED4A2CDF00800CCEC7E09CDD00286A57A2760DDC00D0C7E07C0C7EDA0078256A57A2EED8002083F331385FD700C8E07C0CCECFD500703E06E76340D4001C9C8FC1F9B0D200C4F9189C8F21D1006C57A2762592CF0014B52B51BB02CE00BC12B52B5173CC0064703E06E7E3CA000CCEC7E07C54C900B82B51BB12C5C7006089DA95A835C60008E763703EA6C400B044ED4AD416C30058A276256A87C1000000000000F8BF00AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C00AA5D89DA95683E000000000000F83F0058A276256A874100B044ED4AD416430008E763703EA644006089DA95A8354600B82B51BB12C547000CCEC7E07C54490064703E06E7E34A00BC12B52B51734C0014B52B51BB024E006C57A27625924F00C4F9189C8F2151001C9C8FC1F9B05200703E06E763405400C8E07C0CCECF55002083F331385F570078256A57A2EE5800D0C7E07C0C7E5A00286A57A2760D5C00800CCEC7E09C5D00D4AE44ED4A2C5F002C51BB12B5BB600084F331381F4B6200DC95A85D89DA630034381F83F36965008CDA95A85DF96600E47C0CCEC7886800381F83F331186A0090C1F9189CA76B00E863703E06376D004006E76370C66E0098A85D89DA557000F04AD4AE44E5710048ED4AD4AE7473009C8FC1F918047500F431381F839376004CD4AE44ED227800A476256A57B27900FC189C8FC1417B0054BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F010000000000F0BF000000000000F0BFFFFFFFFFFFFFEFBFFFFFFFFFFFFFEF3F000000000000F03F010000000000F03F"> : tensor<175xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F010000000000F0BF000000000000F0BFFFFFFFFFFFFFEFBFFFFFFFFFFFFFEF3F000000000000F03F010000000000F03F"> : tensor<175xf64> return %0 : tensor<175xf64> } func.func private @expected() -> tensor<175xf64> { - %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F02AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C02AA5D89DA95683E000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F182D4454FB21F9BF182D4450FB21F9BF182D4450FB21F93F182D4454FB21F93F000000000000F87F"> : tensor<175xf64> + %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F97A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C97A85D89DA95683E000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F182D4454FB21F9BF182D4450FB21F9BF182D4450FB21F93F182D4454FB21F93F000000000000F87F"> : tensor<175xf64> return %0 : tensor<175xf64> } func.func public @main() { diff --git a/stablehlo/tests/math/asinh_complex128.mlir b/stablehlo/tests/math/asinh_complex128.mlir index 69469187649..a315d351ef3 100644 --- a/stablehlo/tests/math/asinh_complex128.mlir +++ b/stablehlo/tests/math/asinh_complex128.mlir @@ -6,7 +6,7 @@ module @asinh_complex128 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0x000000000000F0FF182D4454FB21E9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21E9BF000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E9BFC5D71958943686C0192D4454FB21E9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640192D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E9BFC5D71958943686C0182D4454FB21E9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640182D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000006807EF8B98FCE3386C0000000000000068013B635A51C32F7BF5E2A0260725FE7BF0A16C5AE2CCCEEBF182D4454FB21F9BF0A16C5AE2CCCEEBF182D4454FB21F9BF0A16C5AE2CCCEE3F182D4454FB21F9BF0A16C5AE2CCCEE3F182D4454FB21F9BF0A16C5AE2CCCEE3F182D4454FB21F9BF13B635A51C32F73F5E2A0260725FE7BF7EF8B98FCE33864000000000000006807EF8B98FCE3386400000000000000680000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF06D768982E10EF9F000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9FD8630B09C01DF33F06D768982E10EF9F7EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF0000000000000000000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080D8630B09C01DF33F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF0000000000000000000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000D8630B09C01DF33F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF0000000000000000000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000D8630B09C01DF33F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF06D768982E10EF1F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1FD8630B09C01DF33F06D768982E10EF1F7EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000006007EF8B98FCE3386C0000000000000060013B635A51C32F7BF5E2A0260725FE73F0A16C5AE2CCCEEBF182D4454FB21F93F0A16C5AE2CCCEEBF182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F13B635A51C32F73F5E2A0260725FE73F7EF8B98FCE33864000000000000006007EF8B98FCE3386400000000000000600000000000000F07F0000000000000000000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E93FC5D71958943686C0182D4454FB21E93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640182D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E93FC5D71958943686C0192D4454FB21E93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640192D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F0FF182D4454FB21E93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21E93F"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0x000000000000F0FF182D4454FB21E9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F0FF182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21F9BF000000000000F07F182D4454FB21E9BF000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E9BFC5D71958943686C0192D4454FB21E9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640192D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E9BFC5D71958943686C0182D4454FB21E9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE3386C0182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BF7EF8B98FCE338640182D4454FB21F9BFC5D7195894368640182D4454FB21E9BFC5D7195894368640182D4454FB21E9BF000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000006807EF8B98FCE3386C0000000000000068013B635A51C32F7BF5E2A0260725FE7BF0A16C5AE2CCCEEBF182D4454FB21F9BF0A16C5AE2CCCEEBF182D4454FB21F9BF0A16C5AE2CCCEE3F182D4454FB21F9BF0A16C5AE2CCCEE3F182D4454FB21F9BF0A16C5AE2CCCEE3F182D4454FB21F9BF13B635A51C32F73F5E2A0260725FE7BF7EF8B98FCE33864000000000000006807EF8B98FCE3386400000000000000680000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000807EF8B98FCE3386C00000000000000080D8630B09C01DF3BF06D768982E10EF9F000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9FD8630B09C01DF33F06D768982E10EF9F7EF8B98FCE33864000000000000000807EF8B98FCE3386400000000000000080000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000807EF8B98FCE3386C00000000000000080D8630B09C01DF3BF0000000000000080000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080D8630B09C01DF33F00000000000000807EF8B98FCE33864000000000000000807EF8B98FCE3386400000000000000080000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF0000000000000000000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000D8630B09C01DF33F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF0000000000000000000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000D8630B09C01DF33F00000000000000007EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000000007EF8B98FCE3386C00000000000000000D8630B09C01DF3BF06D768982E10EF1F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1FD8630B09C01DF33F06D768982E10EF1F7EF8B98FCE33864000000000000000007EF8B98FCE3386400000000000000000000000000000F07F0000000000000000000000000000F0FF00000000000000007EF8B98FCE3386C000000000000006007EF8B98FCE3386C0000000000000060013B635A51C32F7BF5E2A0260725FE73F0A16C5AE2CCCEEBF182D4454FB21F93F0A16C5AE2CCCEEBF182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F0A16C5AE2CCCEE3F182D4454FB21F93F13B635A51C32F73F5E2A0260725FE73F7EF8B98FCE33864000000000000006007EF8B98FCE3386400000000000000600000000000000F07F0000000000000000000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E93FC5D71958943686C0182D4454FB21E93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640182D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F0FF0000000000000000C5D71958943686C0182D4454FB21E93FC5D71958943686C0192D4454FB21E93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE3386C0182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93F7EF8B98FCE338640182D4454FB21F93FC5D7195894368640192D4454FB21E93FC5D7195894368640182D4454FB21E93F000000000000F07F0000000000000000000000000000F0FF182D4454FB21E93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F0FF182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21F93F000000000000F07F182D4454FB21E93F"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/asinh_complex64.mlir b/stablehlo/tests/math/asinh_complex64.mlir index 1808df0d8d2..8949fba83e8 100644 --- a/stablehlo/tests/math/asinh_complex64.mlir +++ b/stablehlo/tests/math/asinh_complex64.mlir @@ -6,7 +6,7 @@ module @asinh_complex64 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0x000080FFDB0F49BF000080FFDB0FC9BF000080FFDB0FC9BF000080FFDB0FC9BF000080FFDB0FC9BF000080FFDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0F49BF000080FF000000006E86B3C2DB0F49BF6E86B3C2DB0F49BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DB0F49BF0000807F00000000000080FF000000006E86B3C2DA0F49BF6E86B3C2DB0F49BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DA0F49BF0000807F00000000000080FF00000000FCD4B2C200003080FCD4B2C200003080E590B9BF93FB3ABF656176BFDB0FC9BF656176BFDB0FC9BF6561763FDB0FC9BF6561763FDB0FC9BF6561763FDB0FC9BFE590B93F93FB3ABFFCD4B24200003080FCD4B242000030800000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF7581789F0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F00EE983F7581789FFCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF000000000000E09F010000800100008001000080000000000100008001000000010000800000E01F0100008000EE983F00000000FCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF000000000000E09F000000000100008000000000000000000000000001000000000000000000E01F0000000000EE983F00000000FCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF000000000000E09F010000000100008001000000000000000100000001000000010000000000E01F0100000000EE983F00000000FCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF7581781F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F00EE983F7581781FFCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200003000FCD4B2C200003000E590B9BF93FB3A3F656176BFDB0FC93F656176BFDB0FC93F6561763FDB0FC93F6561763FDB0FC93F6561763FDB0FC93FE590B93F93FB3A3FFCD4B24200003000FCD4B242000030000000807F00000000000080FF000000006E86B3C2DA0F493F6E86B3C2DB0F493FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DA0F493F0000807F00000000000080FF000000006E86B3C2DB0F493F6E86B3C2DB0F493FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DB0F493F0000807F00000000000080FFDB0F493F000080FFDB0FC93F000080FFDB0FC93F000080FFDB0FC93F000080FFDB0FC93F000080FFDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0F493F"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0x000080FFDB0F49BF000080FFDB0FC9BF000080FFDB0FC9BF000080FFDB0FC9BF000080FFDB0FC9BF000080FFDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0FC9BF0000807FDB0F49BF000080FF000000006E86B3C2DB0F49BF6E86B3C2DB0F49BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DB0F49BF0000807F00000000000080FF000000006E86B3C2DA0F49BF6E86B3C2DB0F49BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B2C2DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BFFCD4B242DB0FC9BF6E86B342DB0F49BF6E86B342DA0F49BF0000807F00000000000080FF00000000FCD4B2C200003080FCD4B2C200003080E590B9BF93FB3ABF656176BFDB0FC9BF656176BFDB0FC9BF6561763FDB0FC9BF6561763FDB0FC9BF6561763FDB0FC9BFE590B93F93FB3ABFFCD4B24200003080FCD4B242000030800000807F00000000000080FF00000000FCD4B2C200000080FCD4B2C20000008000EE98BF7581789F0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F00EE983F7581789FFCD4B24200000080FCD4B242000000800000807F00000000000080FF00000000FCD4B2C200000080FCD4B2C20000008000EE98BF000000800000E09F010000800100008001000080000000000100008001000000010000800000E01F0100008000EE983F00000080FCD4B24200000080FCD4B242000000800000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF000000000000E09F000000000100008000000000000000000000000001000000000000000000E01F0000000000EE983F00000000FCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF000000000000E09F010000000100008001000000000000000100000001000000010000000000E01F0100000000EE983F00000000FCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200000000FCD4B2C20000000000EE98BF7581781F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F00EE983F7581781FFCD4B24200000000FCD4B242000000000000807F00000000000080FF00000000FCD4B2C200003000FCD4B2C200003000E590B9BF93FB3A3F656176BFDB0FC93F656176BFDB0FC93F6561763FDB0FC93F6561763FDB0FC93F6561763FDB0FC93FE590B93F93FB3A3FFCD4B24200003000FCD4B242000030000000807F00000000000080FF000000006E86B3C2DA0F493F6E86B3C2DB0F493FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DA0F493F0000807F00000000000080FF000000006E86B3C2DB0F493F6E86B3C2DB0F493FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B2C2DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93FFCD4B242DB0FC93F6E86B342DB0F493F6E86B342DB0F493F0000807F00000000000080FFDB0F493F000080FFDB0FC93F000080FFDB0FC93F000080FFDB0FC93F000080FFDB0FC93F000080FFDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0FC93F0000807FDB0F493F"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/asinh_float64.mlir b/stablehlo/tests/math/asinh_float64.mlir index 18e5d37c250..7d58110b1b3 100644 --- a/stablehlo/tests/math/asinh_float64.mlir +++ b/stablehlo/tests/math/asinh_float64.mlir @@ -2,11 +2,11 @@ // This file is generated, see build_tools/math/README.md for more information. module @asinh_float64 { func.func private @samples() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF0054BB12B52BD1FC00FC189C8FC141FB00A476256A57B2F9004CD4AE44ED22F800F431381F8393F6009C8FC1F91804F50048ED4AD4AE74F300F04AD4AE44E5F10098A85D89DA55F0004006E76370C6EE00E863703E0637ED0090C1F9189CA7EB00381F83F33118EA00E47C0CCEC788E8008CDA95A85DF9E60034381F83F369E500DC95A85D89DAE30084F331381F4BE2002C51BB12B5BBE000D4AE44ED4A2CDF00800CCEC7E09CDD00286A57A2760DDC00D0C7E07C0C7EDA0078256A57A2EED8002083F331385FD700C8E07C0CCECFD500703E06E76340D4001C9C8FC1F9B0D200C4F9189C8F21D1006C57A2762592CF0014B52B51BB02CE00BC12B52B5173CC0064703E06E7E3CA000CCEC7E07C54C900B82B51BB12C5C7006089DA95A835C60008E763703EA6C400B044ED4AD416C30058A276256A87C1000000000000F8BF00AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C00AA5D89DA95683E000000000000F83F0058A276256A874100B044ED4AD416430008E763703EA644006089DA95A8354600B82B51BB12C547000CCEC7E07C54490064703E06E7E34A00BC12B52B51734C0014B52B51BB024E006C57A27625924F00C4F9189C8F2151001C9C8FC1F9B05200703E06E763405400C8E07C0CCECF55002083F331385F570078256A57A2EE5800D0C7E07C0C7E5A00286A57A2760D5C00800CCEC7E09C5D00D4AE44ED4A2C5F002C51BB12B5BB600084F331381F4B6200DC95A85D89DA630034381F83F36965008CDA95A85DF96600E47C0CCEC7886800381F83F331186A0090C1F9189CA76B00E863703E06376D004006E76370C66E0098A85D89DA557000F04AD4AE44E5710048ED4AD4AE7473009C8FC1F918047500F431381F839376004CD4AE44ED227800A476256A57B27900FC189C8FC1417B0054BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func private @expected() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FF7EF8B98FCE3386C07EF8B98FCE3386C0532E38EA1C1F85C03F220A6FC09484C01A8BBDB9610A84C0496A26EE008083C0716ED22C9EF582C0041A6C93396B82C0BFAC0F3DD3E081C0B33294426B5681C086A7CABA01CC80C0AFC0B4BA964180C0575269AB546E7FC09D7D6D3B79597EC07C65AC469B447DC0D291FAEBBA2F7CC007A70348D81A7BC031DD7C75F3057AC0F1D5518D0CF178C0F38DCCA623DC77C06A0AB9D738C776C0A74B85344CB275C015FA5DD05D9D74C0783248BD6D8873C088C8380C7C7372C0EF4A29CD885E71C0180A2B0F944970C0F6B4F0C03B696EC00924EDB8AE3F6CC03793DBA549166AC0F01AAAD3DAEC67C099C001E662C365C064EFF370E29963C07CF3E5FA597061C04F2266FC938D5EC02BFA23D5653A5AC046EC8F4C2AE755C03192631EE29351C05CEDA5EE1B814AC07A7B38ED5CDA41C032C692BD106732C0D8630B09C01DF3BFFEA95D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93CFEA95D89DA95683ED8630B09C01DF33F32C692BD106732407A7B38ED5CDA41405CEDA5EE1B814A403192631EE293514046EC8F4C2AE755402BFA23D5653A5A404F2266FC938D5E407CF3E5FA5970614064EFF370E299634099C001E662C36540F01AAAD3DAEC67403793DBA549166A400924EDB8AE3F6C40F6B4F0C03B696E40180A2B0F94497040EF4A29CD885E714088C8380C7C737240783248BD6D88734015FA5DD05D9D7440A74B85344CB275406A0AB9D738C77640F38DCCA623DC7740F1D5518D0CF1784031DD7C75F3057A4007A70348D81A7B40D291FAEBBA2F7C407C65AC469B447D409D7D6D3B79597E40575269AB546E7F40AFC0B4BA9641804086A7CABA01CC8040B33294426B568140BFAC0F3DD3E08140041A6C93396B8240716ED22C9EF58240496A26EE008083401A8BBDB9610A84403F220A6FC0948440532E38EA1C1F85407EF8B98FCE3386407EF8B98FCE338640000000000000F07F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FF7EF8B98FCE3386C07EF8B98FCE3386C0512E38EA1C1F85C03E220A6FC09484C01A8BBDB9610A84C0486A26EE008083C0716ED22C9EF582C0041A6C93396B82C0BDAC0F3DD3E081C0B23294426B5681C085A7CABA01CC80C0AEC0B4BA964180C0565269AB546E7FC09D7D6D3B79597EC07C65AC469B447DC0D091FAEBBA2F7CC006A70348D81A7BC02FDD7C75F3057AC0F0D5518D0CF178C0F38DCCA623DC77C06A0AB9D738C776C0A74B85344CB275C013FA5DD05D9D74C0773248BD6D8873C087C8380C7C7372C0EF4A29CD885E71C0170A2B0F944970C0F6B4F0C03B696EC00A24EDB8AE3F6CC03293DBA549166AC0EB1AAAD3DAEC67C096C001E662C365C062EFF370E29963C07BF3E5FA597061C04E2266FC938D5EC02CFA23D5653A5AC03DEC8F4C2AE755C02B92631EE29351C052EDA5EE1B814AC0747B38ED5CDA41C02BC692BD106732C0D8630B09C01DF3BF93A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C93A85D89DA95683ED8630B09C01DF33F2BC692BD10673240747B38ED5CDA414052EDA5EE1B814A402B92631EE29351403DEC8F4C2AE755402CFA23D5653A5A404E2266FC938D5E407BF3E5FA5970614062EFF370E299634096C001E662C36540EB1AAAD3DAEC67403293DBA549166A400A24EDB8AE3F6C40F6B4F0C03B696E40170A2B0F94497040EF4A29CD885E714087C8380C7C737240773248BD6D88734013FA5DD05D9D7440A74B85344CB275406A0AB9D738C77640F38DCCA623DC7740F0D5518D0CF178402FDD7C75F3057A4006A70348D81A7B40D091FAEBBA2F7C407C65AC469B447D409D7D6D3B79597E40565269AB546E7F40AEC0B4BA9641804085A7CABA01CC8040B23294426B568140BDAC0F3DD3E08140041A6C93396B8240716ED22C9EF58240486A26EE008083401A8BBDB9610A84403E220A6FC0948440512E38EA1C1F85407EF8B98FCE3386407EF8B98FCE338640000000000000F07F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func public @main() { diff --git a/stablehlo/tests/math/atan_complex128.mlir b/stablehlo/tests/math/atan_complex128.mlir index 4a7b3872ff0..0b7f183d2aa 100644 --- a/stablehlo/tests/math/atan_complex128.mlir +++ b/stablehlo/tests/math/atan_complex128.mlir @@ -6,7 +6,7 @@ module @atan_complex128 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0x182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000A12D0514B776F3BFC071078C9594D3BF182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F338DEDF741C0E9BFA12D0514B776F33FC071078C9594D3BF182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBFB1133BB1133BE19F000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F9BF681D20B73EF3FB1133BB1133BE19F182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBF0000000000000000000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F01000000000000809BF681D20B73EF3F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBF0000000000000000000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F00000000000000009BF681D20B73EF3F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBF0000000000000000000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F01000000000000009BF681D20B73EF3F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBFB1133BB1133BE11F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F9BF681D20B73EF3FB1133BB1133BE11F182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000A12D0514B776F3BFC071078C9594D33F182D4454FB21F9BF338DEDF741C0E93F182D4454FB21F9BF338DEDF741C0E93F182D4454FB21F93F338DEDF741C0E93F182D4454FB21F93F338DEDF741C0E93F182D4454FB21F93F338DEDF741C0E93FA12D0514B776F33FC071078C9594D33F182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0x182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000A12D0514B776F3BFC071078C9594D3BF182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F338DEDF741C0E9BFA12D0514B776F33FC071078C9594D3BF182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBFB1133BB1133BE19F000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F9BF681D20B73EF3FB1133BB1133BE19F182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBF0000000000000080000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F01000000000000809BF681D20B73EF3F0000000000000080182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBF0000000000000000000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F00000000000000009BF681D20B73EF3F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBF0000000000000000000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F01000000000000009BF681D20B73EF3F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF00000000000000009BF681D20B73EFBFB1133BB1133BE11F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F9BF681D20B73EF3FB1133BB1133BE11F182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000A12D0514B776F3BFC071078C9594D33F182D4454FB21F9BF338DEDF741C0E93F182D4454FB21F9BF338DEDF741C0E93F182D4454FB21F93F338DEDF741C0E93F182D4454FB21F93F338DEDF741C0E93F182D4454FB21F93F338DEDF741C0E93FA12D0514B776F33FC071078C9594D33F182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/atan_complex64.mlir b/stablehlo/tests/math/atan_complex64.mlir index f9b11ef6a56..53332456132 100644 --- a/stablehlo/tests/math/atan_complex64.mlir +++ b/stablehlo/tests/math/atan_complex64.mlir @@ -6,7 +6,7 @@ module @atan_complex64 { return %0 : tensor<169xcomplex> } func.func private @expected() -> tensor<169xcomplex> { - %0 = stablehlo.constant dense<"0xDB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00001080DB0FC93F00001080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00001080DB0FC93F00001080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000B9B59BBFACA49CBEDB0FC9BF10024EBFDB0FC9BF10024EBFDB0FC93F10024EBFDB0FC93F10024EBFDB0FC93F10024EBFB9B59B3FACA49CBEDB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF9ED8099F0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F5F987B3F9ED8099FDB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF000000000000E09F010000800100008001000080000000000100008001000000010000800000E01F010000805F987B3F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF000000000000E09F000000000100008000000000000000000000000001000000000000000000E01F000000005F987B3F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF000000000000E09F010000000100008001000000000000000100000001000000010000000000E01F010000005F987B3F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF9ED8091F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F5F987B3F9ED8091FDB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000B9B59BBFACA49C3EDB0FC9BF10024E3FDB0FC9BF10024E3FDB0FC93F10024E3FDB0FC93F10024E3FDB0FC93F10024E3FB9B59B3FACA49C3EDB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000"> : tensor<169xcomplex> + %0 = stablehlo.constant dense<"0xDB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00001080DB0FC93F00001080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00002080DB0FC93F00001080DB0FC93F00001080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000080DB0FC9BF00000080B9B59BBFACA49CBEDB0FC9BF10024EBFDB0FC9BF10024EBFDB0FC93F10024EBFDB0FC93F10024EBFDB0FC93F10024EBFB9B59B3FACA49CBEDB0FC93F00000080DB0FC93F00000080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000080DB0FC9BF000000805F987BBF9ED8099F0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F5F987B3F9ED8099FDB0FC93F00000080DB0FC93F00000080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000080DB0FC9BF000000805F987BBF000000800000E09F010000800100008001000080000000000100008001000000010000800000E01F010000805F987B3F00000080DB0FC93F00000080DB0FC93F00000080DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF000000000000E09F000000000100008000000000000000000000000001000000000000000000E01F000000005F987B3F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF000000000000E09F010000000100008001000000000000000100000001000000010000000000E01F010000005F987B3F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF000000005F987BBF9ED8091F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F5F987B3F9ED8091FDB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000B9B59BBFACA49C3EDB0FC9BF10024E3FDB0FC9BF10024E3FDB0FC93F10024E3FDB0FC93F10024E3FDB0FC93F10024E3FB9B59B3FACA49C3EDB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00002000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000"> : tensor<169xcomplex> return %0 : tensor<169xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/atan_float64.mlir b/stablehlo/tests/math/atan_float64.mlir index 99bda11d437..6bb51469045 100644 --- a/stablehlo/tests/math/atan_float64.mlir +++ b/stablehlo/tests/math/atan_float64.mlir @@ -2,11 +2,11 @@ // This file is generated, see build_tools/math/README.md for more information. module @atan_float64 { func.func private @samples() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF0054BB12B52BD1FC00FC189C8FC141FB00A476256A57B2F9004CD4AE44ED22F800F431381F8393F6009C8FC1F91804F50048ED4AD4AE74F300F04AD4AE44E5F10098A85D89DA55F0004006E76370C6EE00E863703E0637ED0090C1F9189CA7EB00381F83F33118EA00E47C0CCEC788E8008CDA95A85DF9E60034381F83F369E500DC95A85D89DAE30084F331381F4BE2002C51BB12B5BBE000D4AE44ED4A2CDF00800CCEC7E09CDD00286A57A2760DDC00D0C7E07C0C7EDA0078256A57A2EED8002083F331385FD700C8E07C0CCECFD500703E06E76340D4001C9C8FC1F9B0D200C4F9189C8F21D1006C57A2762592CF0014B52B51BB02CE00BC12B52B5173CC0064703E06E7E3CA000CCEC7E07C54C900B82B51BB12C5C7006089DA95A835C60008E763703EA6C400B044ED4AD416C30058A276256A87C1000000000000F8BF00AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C00AA5D89DA95683E000000000000F83F0058A276256A874100B044ED4AD416430008E763703EA644006089DA95A8354600B82B51BB12C547000CCEC7E07C54490064703E06E7E34A00BC12B52B51734C0014B52B51BB024E006C57A27625924F00C4F9189C8F2151001C9C8FC1F9B05200703E06E763405400C8E07C0CCECF55002083F331385F570078256A57A2EE5800D0C7E07C0C7E5A00286A57A2760D5C00800CCEC7E09C5D00D4AE44ED4A2C5F002C51BB12B5BB600084F331381F4B6200DC95A85D89DA630034381F83F36965008CDA95A85DF96600E47C0CCEC7886800381F83F331186A0090C1F9189CA76B00E863703E06376D004006E76370C66E0098A85D89DA557000F04AD4AE44E5710048ED4AD4AE7473009C8FC1F918047500F431381F839376004CD4AE44ED227800A476256A57B27900FC189C8FC1417B0054BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func private @expected() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF152D4454FB21F9BFA1B5CC4EFB21F9BF9BF681D20B73EFBFFBA95D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93CFBA95D89DA95683E9BF681D20B73EF3FA1B5CC4EFB21F93F152D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF182D4454FB21F9BF152D4454FB21F9BFA1B5CC4EFB21F9BF9BF681D20B73EFBF90A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C90A85D89DA95683E9BF681D20B73EF3FA1B5CC4EFB21F93F152D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F182D4454FB21F93F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func public @main() { diff --git a/stablehlo/tests/math/atanh_complex128.mlir b/stablehlo/tests/math/atanh_complex128.mlir index 395d826f648..02a23b3fdba 100644 --- a/stablehlo/tests/math/atanh_complex128.mlir +++ b/stablehlo/tests/math/atanh_complex128.mlir @@ -6,7 +6,7 @@ module @atanh_complex128 { return %0 : tensor<173xcomplex> } func.func private @expected() -> tensor<173xcomplex> { - %0 = stablehlo.constant dense<"0x0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BFC071078C9594D3BFA12D0514B776F3BFB1133BB1133BE19F9BF681D20B73EFBF00000000000000009BF681D20B73EFBF00000000000000009BF681D20B73EFBF00000000000000009BF681D20B73EFBFB1133BB1133BE11F9BF681D20B73EFBFC071078C9594D33FA12D0514B776F3BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F9BF000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F338DEDF741C0E93F182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F9BF000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080338DEDF741C0E93F182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000338DEDF741C0E93F182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000338DEDF741C0E93F182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F338DEDF741C0E93F182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93FC071078C9594D3BFA12D0514B776F33FB1133BB1133BE19F9BF681D20B73EF3F00000000000000009BF681D20B73EF3F00000000000000009BF681D20B73EF3F00000000000000009BF681D20B73EF3FB1133BB1133BE11F9BF681D20B73EF3FC071078C9594D33FA12D0514B776F33F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F53A2C4E3E03207C00B53783368E6A1BF04B0DA43342B07407F57F3F65E0FB2BF86DB7BAB0671EDBFC584615E0BE7C73FC179C75E842CEC3C172D4454FB21F93F"> : tensor<173xcomplex> + %0 = stablehlo.constant dense<"0x0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000280182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000200182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BFC071078C9594D3BFA12D0514B776F3BFB1133BB1133BE19F9BF681D20B73EFBF00000000000000809BF681D20B73EFBF00000000000000009BF681D20B73EFBF00000000000000009BF681D20B73EFBFB1133BB1133BE11F9BF681D20B73EFBFC071078C9594D33FA12D0514B776F3BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F9BF000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F338DEDF741C0E93F182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000480182D4454FB21F9BF0000000000000480182D4454FB21F9BF338DEDF741C0E9BF182D4454FB21F9BF000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080338DEDF741C0E93F182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000400182D4454FB21F9BF0000000000000000182D4454FB21F9BF0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000338DEDF741C0E93F182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000338DEDF741C0E93F182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93F338DEDF741C0E9BF182D4454FB21F93F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F338DEDF741C0E93F182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000480182D4454FB21F93F0000000000000480182D4454FB21F93FC071078C9594D3BFA12D0514B776F33FB1133BB1133BE19F9BF681D20B73EF3F00000000000000809BF681D20B73EF3F00000000000000009BF681D20B73EF3F00000000000000009BF681D20B73EF3FB1133BB1133BE11F9BF681D20B73EF3FC071078C9594D33FA12D0514B776F33F0000000000000400182D4454FB21F93F0000000000000400182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000280182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000200182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F0000000000000000182D4454FB21F93F53A2C4E3E03207C00B53783368E6A1BF04B0DA43342B07407F57F3F65E0FB2BF86DB7BAB0671EDBFC584615E0BE7C73FC179C75E842CEC3C172D4454FB21F93F"> : tensor<173xcomplex> return %0 : tensor<173xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/atanh_complex64.mlir b/stablehlo/tests/math/atanh_complex64.mlir index 2f56b222cc3..b5e958c5580 100644 --- a/stablehlo/tests/math/atanh_complex64.mlir +++ b/stablehlo/tests/math/atanh_complex64.mlir @@ -6,7 +6,7 @@ module @atanh_complex64 { return %0 : tensor<173xcomplex> } func.func private @expected() -> tensor<173xcomplex> { - %0 = stablehlo.constant dense<"0x00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00002080DB0FC9BF00002080DB0FC9BFACA49CBEB9B59BBF9ED8099F5F987BBF000000005F987BBF000000005F987BBF000000005F987BBF9ED8091F5F987BBFACA49C3EB9B59BBF00002000DB0FC9BF00002000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF10024EBFDB0FC9BF0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F10024E3FDB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF10024EBFDB0FC9BF0000E09F010000800100008001000080000000000100008001000000010000800000E01F0100008010024E3FDB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00000000DB0FC9BF00000000DB0FC93F00002080DB0FC93F00002080DB0FC93F10024EBFDB0FC93F0000E09F000000000100008000000000000000000000000001000000000000000000E01F0000000010024E3FDB0FC93F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00002080DB0FC93F00002080DB0FC93F10024EBFDB0FC93F0000E09F010000000100008001000000000000000100000001000000010000000000E01F0100000010024E3FDB0FC93F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00002080DB0FC93F00002080DB0FC93F10024EBFDB0FC93F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F10024E3FDB0FC93F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00002080DB0FC93F00002080DB0FC93FACA49CBEB9B59B3F9ED8099F5F987B3F000000005F987B3F000000005F987B3F000000005F987B3F9ED8091F5F987B3FACA49C3EB9B59B3F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001080DB0FC93F00001080DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001080DB0FC93F00001080DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93FFF9639C01F330FBD9B593940D57A90BD35886BBF5B383F3E23646127DB0FC93F"> : tensor<173xcomplex> + %0 = stablehlo.constant dense<"0x00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00000080DB0FC9BF00000080DB0FC9BF00000080DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001080DB0FC9BF00001080DB0FC9BF00000080DB0FC9BF00000080DB0FC9BF00000080DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00001000DB0FC9BF00001000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00002080DB0FC9BF00002080DB0FC9BFACA49CBEB9B59BBF9ED8099F5F987BBF000000805F987BBF000000005F987BBF000000005F987BBF9ED8091F5F987BBFACA49C3EB9B59BBF00002000DB0FC9BF00002000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF10024EBFDB0FC9BF0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F10024E3FDB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00000000DB0FC9BF00000000DB0FC9BF00002080DB0FC9BF00002080DB0FC9BF10024EBFDB0FC9BF0000E09F010000800100008001000080000000000100008001000000010000800000E01F0100008010024E3FDB0FC9BF00002000DB0FC9BF00002000DB0FC9BF00000000DB0FC9BF00000000DB0FC93F00002080DB0FC93F00002080DB0FC93F10024EBFDB0FC93F0000E09F000000000100008000000000000000000000000001000000000000000000E01F0000000010024E3FDB0FC93F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00002080DB0FC93F00002080DB0FC93F10024EBFDB0FC93F0000E09F010000000100008001000000000000000100000001000000010000000000E01F0100000010024E3FDB0FC93F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00002080DB0FC93F00002080DB0FC93F10024EBFDB0FC93F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F10024E3FDB0FC93F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00002080DB0FC93F00002080DB0FC93FACA49CBEB9B59B3F9ED8099F5F987B3F000000805F987B3F000000005F987B3F000000005F987B3F9ED8091F5F987B3FACA49C3EB9B59B3F00002000DB0FC93F00002000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001080DB0FC93F00001080DB0FC93F00000080DB0FC93F00000080DB0FC93F00000080DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001080DB0FC93F00001080DB0FC93F00000080DB0FC93F00000080DB0FC93F00000080DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00001000DB0FC93F00001000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93F00000000DB0FC93FFF9639C01F330FBD9B593940D57A90BD35886BBF5B383F3E23646127DB0FC93F"> : tensor<173xcomplex> return %0 : tensor<173xcomplex> } func.func public @main() { diff --git a/stablehlo/tests/math/atanh_float64.mlir b/stablehlo/tests/math/atanh_float64.mlir index 9cc5bb07b29..5757e280b9b 100644 --- a/stablehlo/tests/math/atanh_float64.mlir +++ b/stablehlo/tests/math/atanh_float64.mlir @@ -2,11 +2,11 @@ // This file is generated, see build_tools/math/README.md for more information. module @atanh_float64 { func.func private @samples() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF0054BB12B52BD1FC00FC189C8FC141FB00A476256A57B2F9004CD4AE44ED22F800F431381F8393F6009C8FC1F91804F50048ED4AD4AE74F300F04AD4AE44E5F10098A85D89DA55F0004006E76370C6EE00E863703E0637ED0090C1F9189CA7EB00381F83F33118EA00E47C0CCEC788E8008CDA95A85DF9E60034381F83F369E500DC95A85D89DAE30084F331381F4BE2002C51BB12B5BBE000D4AE44ED4A2CDF00800CCEC7E09CDD00286A57A2760DDC00D0C7E07C0C7EDA0078256A57A2EED8002083F331385FD700C8E07C0CCECFD500703E06E76340D4001C9C8FC1F9B0D200C4F9189C8F21D1006C57A2762592CF0014B52B51BB02CE00BC12B52B5173CC0064703E06E7E3CA000CCEC7E07C54C900B82B51BB12C5C7006089DA95A835C60008E763703EA6C400B044ED4AD416C30058A276256A87C1000000000000F8BF00AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C00AA5D89DA95683E000000000000F83F0058A276256A874100B044ED4AD416430008E763703EA644006089DA95A8354600B82B51BB12C547000CCEC7E07C54490064703E06E7E34A00BC12B52B51734C0014B52B51BB024E006C57A27625924F00C4F9189C8F2151001C9C8FC1F9B05200703E06E763405400C8E07C0CCECF55002083F331385F570078256A57A2EE5800D0C7E07C0C7E5A00286A57A2760D5C00800CCEC7E09C5D00D4AE44ED4A2C5F002C51BB12B5BB600084F331381F4B6200DC95A85D89DA630034381F83F36965008CDA95A85DF96600E47C0CCEC7886800381F83F331186A0090C1F9189CA76B00E863703E06376D004006E76370C66E0098A85D89DA557000F04AD4AE44E5710048ED4AD4AE7473009C8FC1F918047500F431381F839376004CD4AE44ED227800A476256A57B27900FC189C8FC1417B0054BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func private @expected() -> tensor<169xf64> { - %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F05AA5D89DA9568BE0052BB12B52BD9BC00FA189C8FC149BB00A476256A57BAB9004CD4AE44ED2AB800F431381F839BB6009C8FC1F9180CB50046ED4AD4AE7CB300EE4AD4AE44EDB10096A85D89DA5DB0004006E76370CEAE00E863703E063FAD0090C1F9189CAFAB00381F83F33120AA00E27C0CCEC790A8008ADA95A85D01A70032381F83F371A500DC95A85D89E2A30084F331381F53A2002C51BB12B5C3A000D5AE44ED4A349F007D0CCEC7E0A49D00266A57A276159C00CEC7E07C0C869A0077256A57A2F698002083F33138679700C8E07C0CCED79500713E06E763489400199C8FC1F9B89200C2F9189C8F2991806A57A276259A8F0013B52B51BB0A8E80BB12B52B517B8C0064703E06E7EB8A800CCEC7E07C5C8940B52B51BB12CD87C05D89DA95A83D864006E763703EAE84E0AE44ED4AD41E837057A276256A8F810100000000000080000000000000000001000000000000007057A276256A8F01E0AE44ED4AD41E034006E763703EAE04C05D89DA95A83D0640B52B51BB12CD07800CCEC7E07C5C090064703E06E7EB0A80BB12B52B517B0C0013B52B51BB0A0E806A57A276259A0F00C2F9189C8F291100199C8FC1F9B81200713E06E763481400C8E07C0CCED715002083F3313867170077256A57A2F61800CEC7E07C0C861A00266A57A276151C007D0CCEC7E0A41D00D5AE44ED4A341F002C51BB12B5C3200084F331381F532200DC95A85D89E2230032381F83F37125008ADA95A85D012700E27C0CCEC7902800381F83F331202A0090C1F9189CAF2B00E863703E063F2D004006E76370CE2E0096A85D89DA5D3000EE4AD4AE44ED310046ED4AD4AE7C33009C8FC1F9180C3500F431381F839B36004CD4AE44ED2A3800A476256A57BA3900FA189C8FC1493B0052BB12B52BD93C05AA5D89DA95683E000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F"> : tensor<169xf64> + %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F9AA85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C9AA85D89DA95683E000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F000000000000F87F"> : tensor<169xf64> return %0 : tensor<169xf64> } func.func public @main() { diff --git a/stablehlo/tests/math/square_complex128.mlir b/stablehlo/tests/math/square_complex128.mlir new file mode 100644 index 00000000000..f9aed059c4f --- /dev/null +++ b/stablehlo/tests/math/square_complex128.mlir @@ -0,0 +1,19 @@ +// RUN: stablehlo-opt --chlo-legalize-to-stablehlo %s | stablehlo-translate --interpret +// This file is generated, see build_tools/math/README.md for more information. +module @square_complex128 { + func.func private @samples() -> tensor<169xcomplex> { + %0 = stablehlo.constant dense<"0x000000000000F0FF000000000000F0FFFFFFFFFFFFFFEFFF000000000000F0FFFEFFFFFFFFFFEFFF000000000000F0FF000000000000F8BF000000000000F0FF000000000000FC9F000000000000F0FF0100000000000080000000000000F0FF0000000000000000000000000000F0FF0100000000000000000000000000F0FF000000000000FC1F000000000000F0FF000000000000F83F000000000000F0FFFEFFFFFFFFFFEF7F000000000000F0FFFFFFFFFFFFFFEF7F000000000000F0FF000000000000F07F000000000000F0FF000000000000F0FFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFFFFFFFFFFFFFFEFFF000000000000F8BFFFFFFFFFFFFFEFFF000000000000FC9FFFFFFFFFFFFFEFFF0100000000000080FFFFFFFFFFFFEFFF0000000000000000FFFFFFFFFFFFEFFF0100000000000000FFFFFFFFFFFFEFFF000000000000FC1FFFFFFFFFFFFFEFFF000000000000F83FFFFFFFFFFFFFEFFFFEFFFFFFFFFFEF7FFFFFFFFFFFFFEFFFFFFFFFFFFFFFEF7FFFFFFFFFFFFFEFFF000000000000F07FFFFFFFFFFFFFEFFF000000000000F0FFFEFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFFFEFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF000000000000F8BFFEFFFFFFFFFFEFFF000000000000FC9FFEFFFFFFFFFFEFFF0100000000000080FEFFFFFFFFFFEFFF0000000000000000FEFFFFFFFFFFEFFF0100000000000000FEFFFFFFFFFFEFFF000000000000FC1FFEFFFFFFFFFFEFFF000000000000F83FFEFFFFFFFFFFEFFFFEFFFFFFFFFFEF7FFEFFFFFFFFFFEFFFFFFFFFFFFFFFEF7FFEFFFFFFFFFFEFFF000000000000F07FFEFFFFFFFFFFEFFF000000000000F0FF000000000000F8BFFFFFFFFFFFFFEFFF000000000000F8BFFEFFFFFFFFFFEFFF000000000000F8BF000000000000F8BF000000000000F8BF000000000000FC9F000000000000F8BF0100000000000080000000000000F8BF0000000000000000000000000000F8BF0100000000000000000000000000F8BF000000000000FC1F000000000000F8BF000000000000F83F000000000000F8BFFEFFFFFFFFFFEF7F000000000000F8BFFFFFFFFFFFFFEF7F000000000000F8BF000000000000F07F000000000000F8BF000000000000F0FF000000000000FC9FFFFFFFFFFFFFEFFF000000000000FC9FFEFFFFFFFFFFEFFF000000000000FC9F000000000000F8BF000000000000FC9F000000000000FC9F000000000000FC9F0100000000000080000000000000FC9F0000000000000000000000000000FC9F0100000000000000000000000000FC9F000000000000FC1F000000000000FC9F000000000000F83F000000000000FC9FFEFFFFFFFFFFEF7F000000000000FC9FFFFFFFFFFFFFEF7F000000000000FC9F000000000000F07F000000000000FC9F000000000000F0FF0100000000000080FFFFFFFFFFFFEFFF0100000000000080FEFFFFFFFFFFEFFF0100000000000080000000000000F8BF0100000000000080000000000000FC9F0100000000000080010000000000008001000000000000800000000000000000010000000000008001000000000000000100000000000080000000000000FC1F0100000000000080000000000000F83F0100000000000080FEFFFFFFFFFFEF7F0100000000000080FFFFFFFFFFFFEF7F0100000000000080000000000000F07F0100000000000080000000000000F0FF0000000000000000FFFFFFFFFFFFEFFF0000000000000000FEFFFFFFFFFFEFFF0000000000000000000000000000F8BF0000000000000000000000000000FC9F0000000000000000010000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000FC1F0000000000000000000000000000F83F0000000000000000FEFFFFFFFFFFEF7F0000000000000000FFFFFFFFFFFFEF7F0000000000000000000000000000F07F0000000000000000000000000000F0FF0100000000000000FFFFFFFFFFFFEFFF0100000000000000FEFFFFFFFFFFEFFF0100000000000000000000000000F8BF0100000000000000000000000000FC9F0100000000000000010000000000008001000000000000000000000000000000010000000000000001000000000000000100000000000000000000000000FC1F0100000000000000000000000000F83F0100000000000000FEFFFFFFFFFFEF7F0100000000000000FFFFFFFFFFFFEF7F0100000000000000000000000000F07F0100000000000000000000000000F0FF000000000000FC1FFFFFFFFFFFFFEFFF000000000000FC1FFEFFFFFFFFFFEFFF000000000000FC1F000000000000F8BF000000000000FC1F000000000000FC9F000000000000FC1F0100000000000080000000000000FC1F0000000000000000000000000000FC1F0100000000000000000000000000FC1F000000000000FC1F000000000000FC1F000000000000F83F000000000000FC1FFEFFFFFFFFFFEF7F000000000000FC1FFFFFFFFFFFFFEF7F000000000000FC1F000000000000F07F000000000000FC1F000000000000F0FF000000000000F83FFFFFFFFFFFFFEFFF000000000000F83FFEFFFFFFFFFFEFFF000000000000F83F000000000000F8BF000000000000F83F000000000000FC9F000000000000F83F0100000000000080000000000000F83F0000000000000000000000000000F83F0100000000000000000000000000F83F000000000000FC1F000000000000F83F000000000000F83F000000000000F83FFEFFFFFFFFFFEF7F000000000000F83FFFFFFFFFFFFFEF7F000000000000F83F000000000000F07F000000000000F83F000000000000F0FFFEFFFFFFFFFFEF7FFFFFFFFFFFFFEFFFFEFFFFFFFFFFEF7FFEFFFFFFFFFFEFFFFEFFFFFFFFFFEF7F000000000000F8BFFEFFFFFFFFFFEF7F000000000000FC9FFEFFFFFFFFFFEF7F0100000000000080FEFFFFFFFFFFEF7F0000000000000000FEFFFFFFFFFFEF7F0100000000000000FEFFFFFFFFFFEF7F000000000000FC1FFEFFFFFFFFFFEF7F000000000000F83FFEFFFFFFFFFFEF7FFEFFFFFFFFFFEF7FFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7FFEFFFFFFFFFFEF7F000000000000F07FFEFFFFFFFFFFEF7F000000000000F0FFFFFFFFFFFFFFEF7FFFFFFFFFFFFFEFFFFFFFFFFFFFFFEF7FFEFFFFFFFFFFEFFFFFFFFFFFFFFFEF7F000000000000F8BFFFFFFFFFFFFFEF7F000000000000FC9FFFFFFFFFFFFFEF7F0100000000000080FFFFFFFFFFFFEF7F0000000000000000FFFFFFFFFFFFEF7F0100000000000000FFFFFFFFFFFFEF7F000000000000FC1FFFFFFFFFFFFFEF7F000000000000F83FFFFFFFFFFFFFEF7FFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7FFFFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07FFFFFFFFFFFFFEF7F000000000000F0FF000000000000F07FFFFFFFFFFFFFEFFF000000000000F07FFEFFFFFFFFFFEFFF000000000000F07F000000000000F8BF000000000000F07F000000000000FC9F000000000000F07F0100000000000080000000000000F07F0000000000000000000000000000F07F0100000000000000000000000000F07F000000000000FC1F000000000000F07F000000000000F83F000000000000F07FFEFFFFFFFFFFEF7F000000000000F07FFFFFFFFFFFFFEF7F000000000000F07F000000000000F07F000000000000F07F"> : tensor<169xcomplex> + return %0 : tensor<169xcomplex> + } + func.func private @expected() -> tensor<169xcomplex> { + %0 = stablehlo.constant dense<"0x000000000000F87F000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F87F000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F87F000000000000F0FF000000000000F07F000000000000F07F0000000000000000000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FFFFFFFFFFFFFF0B60000000000000F0FFFFFFFFFFFFFFDF3C000000000000F0FF0000000000000000000000000000F0FFFFFFFFFFFFFFDFBC000000000000F0FFFFFFFFFFFFFF0BE0000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF0000000000000000000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F07F000000000000F07F000000000000F07F0000000000000000000000000000F07F000000000000F0FF000000000000F07F000000000000F0FFFEFFFFFFFFFF0B60000000000000F0FFFEFFFFFFFFFFDF3C000000000000F0FF0000000000000000000000000000F0FFFEFFFFFFFFFFDFBC000000000000F0FFFEFFFFFFFFFF0BE0000000000000F0FF000000000000F0FF0000000000000000000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F0000000000000000000000000000124000000000000002C0000000000000152000000000000002C0030000000000000000000000000002C0000000000000000000000000000002C0030000000000008000000000000002C000000000000015A0000000000000000000000000000012C0000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F07F000000000000F07FFFFFFFFFFFFF0B60000000000000F07FFEFFFFFFFFFF0B6000000000000002400000000000001520000000000000000000000000008018000000000000400C8000000000000000000000000000400C8000000000000000000000000000400C80000000000000008000000000000000000000000000801880000000000000024000000000000015A0000000000000F07FFEFFFFFFFFFF0BE0000000000000F07FFFFFFFFFFFFF0BE0000000000000F07F000000000000F0FF000000000000F07F000000000000F07F000000000000F07FFFFFFFFFFFFFDF3C000000000000F07FFEFFFFFFFFFFDF3C000000000000024003000000000000000000000000400C0000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000800000000000400C00000000000000008000000000000002400300000000000080000000000000F07FFEFFFFFFFFFFDFBC000000000000F07FFFFFFFFFFFFFDFBC000000000000F07F000000000000F0FF000000000000F07F000000000000F87F000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000024000000000000000000000000000400C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400C00000000000000000000000000000002400000000000000000000000000000F07F0000000000000000000000000000F07F0000000000000000000000000000F07F000000000000F87F000000000000F07F000000000000F0FF000000000000F07FFFFFFFFFFFFFDFBC000000000000F07FFEFFFFFFFFFFDFBC000000000000024003000000000000800000000000400C0000000000000000800000000000000000000000000000008000000000000000800000000000000000000000000000000000000000000000000000000000400C00000000000000000000000000000002400300000000000000000000000000F07FFEFFFFFFFFFFDF3C000000000000F07FFFFFFFFFFFFFDF3C000000000000F07F000000000000F07F000000000000F07F000000000000F0FF000000000000F07FFFFFFFFFFFFF0BE0000000000000F07FFEFFFFFFFFFF0BE0000000000000024000000000000015A0000000000000000000000000008018800000000000400C8000000000000000800000000000400C8000000000000000000000000000400C8000000000000000000000000000000000000000000080180000000000000002400000000000001520000000000000F07FFEFFFFFFFFFF0B60000000000000F07FFFFFFFFFFFFF0B60000000000000F07F000000000000F07F000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000000000000000000012C000000000000002C000000000000015A000000000000002C0030000000000008000000000000002C0000000000000000000000000000002C0030000000000000000000000000002C0000000000000152000000000000000000000000000001240000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF0000000000000000000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FFFEFFFFFFFFFF0BE0000000000000F0FFFEFFFFFFFFFFDFBC000000000000F0FF0000000000000000000000000000F0FFFEFFFFFFFFFFDF3C000000000000F0FFFEFFFFFFFFFF0B60000000000000F0FF000000000000F07F0000000000000000000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F0FF0000000000000000000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FFFFFFFFFFFFFF0BE0000000000000F0FFFFFFFFFFFFFFDFBC000000000000F0FF0000000000000000000000000000F0FFFFFFFFFFFFFFDF3C000000000000F0FFFFFFFFFFFFFF0B60000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F0000000000000000000000000000F07F000000000000F07F000000000000F07F000000000000F87F000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F0FF000000000000F87F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F0FF000000000000F07F000000000000F87F000000000000F07F"> : tensor<169xcomplex> + return %0 : tensor<169xcomplex> + } + func.func public @main() { + %0 = call @samples() : () -> tensor<169xcomplex> + %1 = "chlo.square"(%0) : (tensor<169xcomplex>) -> tensor<169xcomplex> + %2 = call @expected() : () -> tensor<169xcomplex> + check.expect_close %1, %2, max_ulp_difference = 3 : tensor<169xcomplex>, tensor<169xcomplex> + func.return + } +} diff --git a/stablehlo/tests/math/square_complex64.mlir b/stablehlo/tests/math/square_complex64.mlir new file mode 100644 index 00000000000..26e4ae37a8f --- /dev/null +++ b/stablehlo/tests/math/square_complex64.mlir @@ -0,0 +1,19 @@ +// RUN: stablehlo-opt --chlo-legalize-to-stablehlo %s | stablehlo-translate --interpret +// This file is generated, see build_tools/math/README.md for more information. +module @square_complex64 { + func.func private @samples() -> tensor<169xcomplex> { + %0 = stablehlo.constant dense<"0x000080FF000080FFFFFF7FFF000080FFFEFF7FFF000080FF0000C0BF000080FF0000E09F000080FF01000080000080FF00000000000080FF01000000000080FF0000E01F000080FF0000C03F000080FFFEFF7F7F000080FFFFFF7F7F000080FF0000807F000080FF000080FFFFFF7FFFFFFF7FFFFFFF7FFFFEFF7FFFFFFF7FFF0000C0BFFFFF7FFF0000E09FFFFF7FFF01000080FFFF7FFF00000000FFFF7FFF01000000FFFF7FFF0000E01FFFFF7FFF0000C03FFFFF7FFFFEFF7F7FFFFF7FFFFFFF7F7FFFFF7FFF0000807FFFFF7FFF000080FFFEFF7FFFFFFF7FFFFEFF7FFFFEFF7FFFFEFF7FFF0000C0BFFEFF7FFF0000E09FFEFF7FFF01000080FEFF7FFF00000000FEFF7FFF01000000FEFF7FFF0000E01FFEFF7FFF0000C03FFEFF7FFFFEFF7F7FFEFF7FFFFFFF7F7FFEFF7FFF0000807FFEFF7FFF000080FF0000C0BFFFFF7FFF0000C0BFFEFF7FFF0000C0BF0000C0BF0000C0BF0000E09F0000C0BF010000800000C0BF000000000000C0BF010000000000C0BF0000E01F0000C0BF0000C03F0000C0BFFEFF7F7F0000C0BFFFFF7F7F0000C0BF0000807F0000C0BF000080FF0000E09FFFFF7FFF0000E09FFEFF7FFF0000E09F0000C0BF0000E09F0000E09F0000E09F010000800000E09F000000000000E09F010000000000E09F0000E01F0000E09F0000C03F0000E09FFEFF7F7F0000E09FFFFF7F7F0000E09F0000807F0000E09F000080FF01000080FFFF7FFF01000080FEFF7FFF010000800000C0BF010000800000E09F010000800100008001000080000000000100008001000000010000800000E01F010000800000C03F01000080FEFF7F7F01000080FFFF7F7F010000800000807F01000080000080FF00000000FFFF7FFF00000000FEFF7FFF000000000000C0BF000000000000E09F000000000100008000000000000000000000000001000000000000000000E01F000000000000C03F00000000FEFF7F7F00000000FFFF7F7F000000000000807F00000000000080FF01000000FFFF7FFF01000000FEFF7FFF010000000000C0BF010000000000E09F010000000100008001000000000000000100000001000000010000000000E01F010000000000C03F01000000FEFF7F7F01000000FFFF7F7F010000000000807F01000000000080FF0000E01FFFFF7FFF0000E01FFEFF7FFF0000E01F0000C0BF0000E01F0000E09F0000E01F010000800000E01F000000000000E01F010000000000E01F0000E01F0000E01F0000C03F0000E01FFEFF7F7F0000E01FFFFF7F7F0000E01F0000807F0000E01F000080FF0000C03FFFFF7FFF0000C03FFEFF7FFF0000C03F0000C0BF0000C03F0000E09F0000C03F010000800000C03F000000000000C03F010000000000C03F0000E01F0000C03F0000C03F0000C03FFEFF7F7F0000C03FFFFF7F7F0000C03F0000807F0000C03F000080FFFEFF7F7FFFFF7FFFFEFF7F7FFEFF7FFFFEFF7F7F0000C0BFFEFF7F7F0000E09FFEFF7F7F01000080FEFF7F7F00000000FEFF7F7F01000000FEFF7F7F0000E01FFEFF7F7F0000C03FFEFF7F7FFEFF7F7FFEFF7F7FFFFF7F7FFEFF7F7F0000807FFEFF7F7F000080FFFFFF7F7FFFFF7FFFFFFF7F7FFEFF7FFFFFFF7F7F0000C0BFFFFF7F7F0000E09FFFFF7F7F01000080FFFF7F7F00000000FFFF7F7F01000000FFFF7F7F0000E01FFFFF7F7F0000C03FFFFF7F7FFEFF7F7FFFFF7F7FFFFF7F7FFFFF7F7F0000807FFFFF7F7F000080FF0000807FFFFF7FFF0000807FFEFF7FFF0000807F0000C0BF0000807F0000E09F0000807F010000800000807F000000000000807F010000000000807F0000E01F0000807F0000C03F0000807FFEFF7F7F0000807FFFFF7F7F0000807F0000807F0000807F"> : tensor<169xcomplex> + return %0 : tensor<169xcomplex> + } + func.func private @expected() -> tensor<169xcomplex> { + %0 = stablehlo.constant dense<"0x0000C07F0000807F000080FF0000807F000080FF0000807F000080FF0000807F000080FF0000807F000080FF0000807F000080FF0000C07F000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF0000C07F000080FF0000807F0000807F000000000000807F000080FF0000807F000080FF0000807F000080FFFFFF5F60000080FFFFFF7F35000080FF00000000000080FFFFFF7FB5000080FFFFFF5FE0000080FF000080FF000080FF000080FF00000000000080FF0000807F000080FF0000807F0000807F0000807F0000807F000000000000807F000080FF0000807F000080FFFEFF5F60000080FFFEFF7F35000080FF00000000000080FFFEFF7FB5000080FFFEFF5FE0000080FF000080FF00000000000080FF0000807F000080FF0000807F000080FF0000807F0000807F0000807F0000807F0000807F0000807F0000000000009040000010C00000A820000010C003000000000010C000000000000010C003000080000010C00000A8A000000000000090C00000807F000080FF0000807F000080FF0000807F000080FF0000807F0000807F0000807FFFFF5F600000807FFEFF5F60000010400000A820000000000000C400000062800000000000006280000000000000628000000080000000000000C480000010400000A8A00000807FFEFF5FE00000807FFFFF5FE00000807F000080FF0000807F0000807F0000807FFFFF7F350000807FFEFF7F3500001040030000000000620000000000000000000000000000000080000000000000000000000080000062000000008000001040030000800000807FFEFF7FB50000807FFFFF7FB50000807F000080FF0000807F0000C07F0000807F000000000000807F0000000000001040000000000000620000000000000000000000000000000000000000000000000000000000000062000000000000001040000000000000807F000000000000807F000000000000807F0000C07F0000807F000080FF0000807FFFFF7FB50000807FFEFF7FB500001040030000800000620000000080000000000000008000000080000000000000000000000000000062000000000000001040030000000000807FFEFF7F350000807FFFFF7F350000807F0000807F0000807F000080FF0000807FFFFF5FE00000807FFEFF5FE0000010400000A8A0000000000000C480000062800000008000006280000000000000628000000000000000000000C400000010400000A8200000807FFEFF5F600000807FFFFF5F600000807F0000807F0000807F000080FF0000807F000080FF0000807F000080FF00000000000090C0000010C00000A8A0000010C003000080000010C000000000000010C003000000000010C00000A82000000000000090400000807F0000807F0000807F0000807F0000807F0000807F0000807F000080FF0000807F000080FF00000000000080FF000080FF000080FF000080FFFEFF5FE0000080FFFEFF7FB5000080FF00000000000080FFFEFF7F35000080FFFEFF5F60000080FF0000807F000000000000807F0000807F0000807F0000807F0000807F0000807F000080FF00000000000080FF000080FF000080FF000080FF000080FF000080FFFFFF5FE0000080FFFFFF7FB5000080FF00000000000080FFFFFF7F35000080FFFFFF5F60000080FF0000807F000080FF0000807F000000000000807F0000807F0000807F0000C07F000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF000080FF0000C07F000080FF0000807F000080FF0000807F000080FF0000807F000080FF0000807F000080FF0000807F0000C07F0000807F"> : tensor<169xcomplex> + return %0 : tensor<169xcomplex> + } + func.func public @main() { + %0 = call @samples() : () -> tensor<169xcomplex> + %1 = "chlo.square"(%0) : (tensor<169xcomplex>) -> tensor<169xcomplex> + %2 = call @expected() : () -> tensor<169xcomplex> + check.expect_close %1, %2, max_ulp_difference = 3 : tensor<169xcomplex>, tensor<169xcomplex> + func.return + } +} diff --git a/stablehlo/tests/math/square_float32.mlir b/stablehlo/tests/math/square_float32.mlir new file mode 100644 index 00000000000..00091d63fd2 --- /dev/null +++ b/stablehlo/tests/math/square_float32.mlir @@ -0,0 +1,19 @@ +// RUN: stablehlo-opt --chlo-legalize-to-stablehlo %s | stablehlo-translate --interpret +// This file is generated, see build_tools/math/README.md for more information. +module @square_float32 { + func.func private @samples() -> tensor<169xf32> { + %0 = stablehlo.constant dense<"0x000080FFFFFF7FFFFEFF7FFF05E763FC88DAD5FA0BCE47F98EC1B9F711B52BF695A89DF4189C0FF39B8F81F11E83F3EFA17665EE246AD7ECA75D49EB2B51BBE9AE442DE831389FE6B42B11E5371F83E3BA12F5E13D0667E0C1F9D8DE44ED4ADDC7E0BCDB4AD42EDACDC7A0D850BB12D7D3AE84D557A2F6D3DA9568D25D89DAD0E07C4CCF6370BECDE66330CC6957A2CAED4A14C9703E86C7F331F8C576256AC4F918DCC27C0C4EC10000C0BF83F331BE06E7A3BC89DA15BB0CCE87B98FC1F9B712B56BB696A8DDB4199C4FB39C8FC1B11F8333B0A276A5AE256A17ADA85D89AB2C51FBA9AF446DA83238DFA6B52B51A5381FC3A3BB1235A23E06A7A0C2F9189F45ED8A9DC8E0FC9B4BD46E9ACEC7E09851BB5297D4AEC49558A23694DB95A8925E891A91E17C8C8F6470FE8DE763708C6A57E28AEE4A5489713EC687F43138867725AA84FA181C837D0C8E810100008000000000010000007D0C8E01FA181C037725AA04F4313806713EC607EE4A54096A57E20AE763700C6470FE0DE17C8C0F5E891A11DB95A81258A23614D4AEC41551BB5217CEC7E0184BD46E1AC8E0FC1B45ED8A1DC2F9181F3E06A720BB123522381FC323B52B51253238DF26AF446D282C51FB29A85D892B256A172DA276A52E1F8333309C8FC131199C4F3396A8DD3412B56B368FC1F9370CCE873989DA153B06E7A33C83F3313E0000C03F7C0C4E41F918DC4276256A44F331F845703E8647ED4A14496957A24AE663304C6370BE4DE07C4C4F5D89DA50DA95685257A2F653D3AE845550BB1257CDC7A0584AD42E5AC7E0BC5B44ED4A5DC1F9D85E3D066760BA12F561371F8363B42B116531389F66AE442D682B51BB69A75D496B246AD76CA176656E1E83F36F9B8F8171189C0F7395A89D7411B52B768EC1B9770BCE477988DAD57A05E7637CFEFF7F7FFFFF7F7F0000807F"> : tensor<169xf32> + return %0 : tensor<169xf32> + } + func.func private @expected() -> tensor<169xf32> { + %0 = stablehlo.constant dense<"0x0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F69E6377E4BDB207BEA5A0B7889CAEE74B8F4C9716134A86E8289896B669C6D68F34F53653C8E3A624257235F04AB0D5C0613F3587DE5CD5570CDAB52D9CA8C4FD1A0704C81285649EE3A3D4618D82543000010404665F73C04E0D1393C70AF36ED1590331BAA7330EF05592D82EC3F2AD05D2827DA59122441C1FB2048E4D51DC71CB31AC06A931746B876143EE85B11F3A2420E65E82A0B93B814087E1300054AF2D901316D0B00B22500007D000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000007D000000B2250000316D0B004AF2D9017E13000593B8140865E82A0BF3A2420E3EE85B1146B87614C06A9317C71CB31A48E4D51D41C1FB20DA591224D05D282782EC3F2AEF05592D1BAA7330ED1590333C70AF3604E0D1394665F73C0000104018D82543EE3A3D4681285649D1A0704CD9CA8C4F70CDAB527DE5CD550613F35804AB0D5C4257235F3C8E3A62F34F5365669C6D688289896B6134A86EB8F4C97189CAEE74EA5A0B784BDB207B69E6377E0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F0000807F"> : tensor<169xf32> + return %0 : tensor<169xf32> + } + func.func public @main() { + %0 = call @samples() : () -> tensor<169xf32> + %1 = "chlo.square"(%0) : (tensor<169xf32>) -> tensor<169xf32> + %2 = call @expected() : () -> tensor<169xf32> + check.expect_close %1, %2, max_ulp_difference = 3 : tensor<169xf32>, tensor<169xf32> + func.return + } +} diff --git a/stablehlo/tests/math/square_float64.mlir b/stablehlo/tests/math/square_float64.mlir new file mode 100644 index 00000000000..97b78618b75 --- /dev/null +++ b/stablehlo/tests/math/square_float64.mlir @@ -0,0 +1,19 @@ +// RUN: stablehlo-opt --chlo-legalize-to-stablehlo %s | stablehlo-translate --interpret +// This file is generated, see build_tools/math/README.md for more information. +module @square_float64 { + func.func private @samples() -> tensor<169xf64> { + %0 = stablehlo.constant dense<"0x000000000000F0FFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFF2A51BB12B52BD1FCC0F9189C8FC141FB56A276256A57B2F9EC4AD4AE44ED22F882F331381F8393F6189C8FC1F91804F5AE44ED4AD4AE74F343ED4AD4AE44E5F1D995A85D89DA55F06F3E06E76370C6EE05E763703E0637ED9B8FC1F9189CA7EB31381F83F33118EAC7E07C0CCEC788E85D89DA95A85DF9E6F231381F83F369E588DA95A85D89DAE31E83F331381F4BE2B42B51BB12B5BBE04AD4AE44ED4A2CDFE07C0CCEC7E09CDD76256A57A2760DDC0CCEC7E07C0C7EDAA176256A57A2EED8371F83F331385FD7CDC7E07C0CCECFD563703E06E76340D4F9189C8FC1F9B0D28FC1F9189C8F21D1256A57A2762592CFBB12B52B51BB02CE50BB12B52B5173CCE663703E06E7E3CA7C0CCEC7E07C54C912B52B51BB12C5C7A85D89DA95A835C63E06E763703EA6C4D4AE44ED4AD416C36A57A276256A87C1000000000000F8BF95A85D89DA9568BE2B51BB12B52BD9BCC1F9189C8FC149BB57A276256A57BAB9ED4AD4AE44ED2AB883F331381F839BB6199C8FC1F9180CB5AF44ED4AD4AE7CB344ED4AD4AE44EDB1DA95A85D89DA5DB0703E06E76370CEAE06E763703E063FAD9C8FC1F9189CAFAB32381F83F33120AAC8E07C0CCEC790A85E89DA95A85D01A7F331381F83F371A589DA95A85D89E2A31F83F331381F53A2B52B51BB12B5C3A04BD4AE44ED4A349FE17C0CCEC7E0A49D77256A57A276159C0DCEC7E07C0C869AA276256A57A2F698381F83F331386797CEC7E07C0CCED79564703E06E7634894FA189C8FC1F9B89290C1F9189C8F2991266A57A276259A8FBC12B52B51BB0A8E51BB12B52B517B8CE763703E06E7EB8A7D0CCEC7E07C5C8913B52B51BB12CD87A95D89DA95A83D863F06E763703EAE84D5AE44ED4AD41E836B57A276256A8F810100000000000080000000000000000001000000000000006B57A276256A8F01D5AE44ED4AD41E033F06E763703EAE04A95D89DA95A83D0613B52B51BB12CD077D0CCEC7E07C5C09E763703E06E7EB0A51BB12B52B517B0CBC12B52B51BB0A0E266A57A276259A0F90C1F9189C8F2911FA189C8FC1F9B81264703E06E7634814CEC7E07C0CCED715381F83F331386717A276256A57A2F6180DCEC7E07C0C861A77256A57A276151CE17C0CCEC7E0A41D4BD4AE44ED4A341FB52B51BB12B5C3201F83F331381F532289DA95A85D89E223F331381F83F371255E89DA95A85D0127C8E07C0CCEC7902832381F83F331202A9C8FC1F9189CAF2B06E763703E063F2D703E06E76370CE2EDA95A85D89DA5D3044ED4AD4AE44ED31AF44ED4AD4AE7C33199C8FC1F9180C3583F331381F839B36ED4AD4AE44ED2A3857A276256A57BA39C1F9189C8FC1493B2B51BB12B52BD93C95A85D89DA95683E000000000000F83F6A57A276256A8741D4AE44ED4AD416433E06E763703EA644A85D89DA95A8354612B52B51BB12C5477C0CCEC7E07C5449E663703E06E7E34A50BB12B52B51734CBB12B52B51BB024E256A57A27625924F8FC1F9189C8F2151F9189C8FC1F9B05263703E06E7634054CDC7E07C0CCECF55371F83F331385F57A176256A57A2EE580CCEC7E07C0C7E5A76256A57A2760D5CE07C0CCEC7E09C5D4AD4AE44ED4A2C5FB42B51BB12B5BB601E83F331381F4B6288DA95A85D89DA63F231381F83F369655D89DA95A85DF966C7E07C0CCEC7886831381F83F331186A9B8FC1F9189CA76B05E763703E06376D6F3E06E76370C66ED995A85D89DA557043ED4AD4AE44E571AE44ED4AD4AE7473189C8FC1F918047582F331381F839376EC4AD4AE44ED227856A276256A57B279C0F9189C8FC1417B2A51BB12B52BD17CFEFFFFFFFFFFEF7FFFFFFFFFFFFFEF7F000000000000F07F"> : tensor<169xf64> + return %0 : tensor<169xf64> + } + func.func private @expected() -> tensor<169xf64> { + %0 = stablehlo.constant dense<"0x000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F08DE6EA8CE03697E4619BA9A880F4A7BBCA8EC0EBE202B78688C06056F370C754BC4077D9B53ED716650F0764375CE6EBA30C0F2669CAF6BC2E971D43DCA90681AAAF3C0BD027265E11244B134465362172463A5A294345FBBDD509D07EE155CCC3F0D996352F7584F4A9898B6C1D85540FDF19B003CBA52A0581AA341C19B4F6F5C11AE79517D4CAD08D7BCA8EC5E49ADAEB567674940463B2DE7F2F52121430000000000000240FB26008F85E3E23C2FA2E79F86CCC3399B71B63203BBA4363E956C47FBAE8533180D0ADE6EA866302AD98EF65DA7472D74F9FA90C8AB282AF46D4EADAEB50927AB36894B10C5EA239A53AB6BEDD9CB20C2C4B40D46F4AC1D208AA5311A148E1AB6A37DD769396F17A3B23BF88264501481E5CD385B993111CDC02E7D2AD9120E87445EC5F023F40AB1705C11AE79D5074A45296162DAB60452C2C4B40D469801032C6F060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032C6F060000000052C2C4B40D4698014A45296162DAB604B1705C11AE79D50787445EC5F023F40ACDC02E7D2AD9120E81E5CD385B993111A3B23BF882645014B6A37DD769396F17208AA5311A148E1AC2C4B40D46F4AC1D9A53AB6BEDD9CB20AB36894B10C5EA23F46D4EADAEB5092774F9FA90C8AB282A2AD98EF65DA7472D180D0ADE6EA866303E956C47FBAE85339B71B63203BBA4362FA2E79F86CCC339FB26008F85E3E23C00000000000002403B2DE7F2F5212143ADAEB56767494046AD08D7BCA8EC5E496F5C11AE79517D4CA0581AA341C19B4F40FDF19B003CBA524F4A9898B6C1D855CC3F0D996352F758BBDD509D07EE155C172463A5A294345FE11244B1344653621AAAF3C0BD027265C2E971D43DCA9068BA30C0F2669CAF6B6650F0764375CE6E4BC4077D9B53ED71688C06056F370C75BCA8EC0EBE202B784619BA9A880F4A7B08DE6EA8CE03697E000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F"> : tensor<169xf64> + return %0 : tensor<169xf64> + } + func.func public @main() { + %0 = call @samples() : () -> tensor<169xf64> + %1 = "chlo.square"(%0) : (tensor<169xf64>) -> tensor<169xf64> + %2 = call @expected() : () -> tensor<169xf64> + check.expect_close %1, %2, max_ulp_difference = 3 : tensor<169xf64>, tensor<169xf64> + func.return + } +} diff --git a/stablehlo/transforms/ChloDecompositionPatternsMath.td b/stablehlo/transforms/ChloDecompositionPatternsMath.td index b72ae47a38a..3d1be0d4f6b 100644 --- a/stablehlo/transforms/ChloDecompositionPatternsMath.td +++ b/stablehlo/transforms/ChloDecompositionPatternsMath.td @@ -14,7 +14,7 @@ limitations under the License. ==============================================================================*/ // -// This file is generated using functional_algorithms tool (0.10.1). +// This file is generated using functional_algorithms tool (0.11.1). // See build_tools/math/README.md for more information. // A kernel for evaluating asin and acos functions on complex inputs. @@ -72,7 +72,7 @@ def : Pat<(CHLO_AsinAcosKernelOp ComplexElementType:$z), (StableHLO_AddOp (StableHLO_SelectOp:$r (StableHLO_CompareOp - (StableHLO_MaxOp:$_hypot_1_mx + (StableHLO_MaxOp:$mx (StableHLO_AbsOp:$abs_xp1 (StableHLO_AddOp:$xp1 $x, $one)), $y), @@ -80,65 +80,64 @@ def : Pat<(CHLO_AsinAcosKernelOp ComplexElementType:$z), StableHLO_ComparisonDirectionValue<"EQ">, (STABLEHLO_DEFAULT_COMPARISON_TYPE)), (StableHLO_MulOp - (StableHLO_SqrtOp:$sqrt_two - (StableHLO_ConstantLike<"2">:$two $signed_x)), - $_hypot_1_mx), + (StableHLO_ConstantLike<"1.4142135623730951">:$sqrt_two $signed_x), + $mx), (StableHLO_SelectOp (StableHLO_AndOp (StableHLO_CompareOp (StableHLO_SqrtOp:$sqa (StableHLO_AddOp $one, - (StableHLO_MulOp:$_hypot_1_r - (StableHLO_DivOp:$mn_over_mx $mn, $_hypot_1_mx), + (StableHLO_MulOp:$_r_0_ + (StableHLO_DivOp:$mn_over_mx $mn, $mx), $mn_over_mx))), $one, StableHLO_ComparisonDirectionValue<"EQ">, (STABLEHLO_DEFAULT_COMPARISON_TYPE)), (StableHLO_CompareOp - $_hypot_1_r, + $_r_0_, (StableHLO_ConstantLike<"0">:$zero $signed_x), StableHLO_ComparisonDirectionValue<"GT">, (STABLEHLO_DEFAULT_COMPARISON_TYPE))), (StableHLO_AddOp - $_hypot_1_mx, + $mx, (StableHLO_DivOp - (StableHLO_MulOp $_hypot_1_mx, $_hypot_1_r), - $two)), - (StableHLO_MulOp $_hypot_1_mx, $sqa))), + (StableHLO_MulOp $mx, $_r_0_), + (StableHLO_ConstantLike<"2">:$two $signed_x))), + (StableHLO_MulOp $mx, $sqa))), (StableHLO_SelectOp:$s (StableHLO_CompareOp - (StableHLO_MaxOp:$_hypot_2_mx + (StableHLO_MaxOp:$_mx_0_ (StableHLO_AbsOp:$abs_xm1 (StableHLO_SubtractOp:$xm1 $x, $one)), $y), - (StableHLO_MinOp:$_hypot_2_mn $abs_xm1, $y), + (StableHLO_MinOp:$_mn_0_ $abs_xm1, $y), StableHLO_ComparisonDirectionValue<"EQ">, (STABLEHLO_DEFAULT_COMPARISON_TYPE)), - (StableHLO_MulOp $sqrt_two, $_hypot_2_mx), + (StableHLO_MulOp $sqrt_two, $_mx_0_), (StableHLO_SelectOp (StableHLO_AndOp (StableHLO_CompareOp - (StableHLO_SqrtOp:$_hypot_2_sqa + (StableHLO_SqrtOp:$_sqa_0_ (StableHLO_AddOp $one, - (StableHLO_MulOp:$_hypot_2_r - (StableHLO_DivOp:$_hypot_2_mn_over_mx $_hypot_2_mn, $_hypot_2_mx), - $_hypot_2_mn_over_mx))), + (StableHLO_MulOp:$_r_1_ + (StableHLO_DivOp:$_mn_over_mx_0_ $_mn_0_, $_mx_0_), + $_mn_over_mx_0_))), $one, StableHLO_ComparisonDirectionValue<"EQ">, (STABLEHLO_DEFAULT_COMPARISON_TYPE)), (StableHLO_CompareOp - $_hypot_2_r, + $_r_1_, $zero, StableHLO_ComparisonDirectionValue<"GT">, (STABLEHLO_DEFAULT_COMPARISON_TYPE))), (StableHLO_AddOp - $_hypot_2_mx, + $_mx_0_, (StableHLO_DivOp - (StableHLO_MulOp $_hypot_2_mx, $_hypot_2_r), + (StableHLO_MulOp $_mx_0_, $_r_1_), $two)), - (StableHLO_MulOp $_hypot_2_mx, $_hypot_2_sqa))))), + (StableHLO_MulOp $_mx_0_, $_sqa_0_))))), $x)), (StableHLO_AddOp (StableHLO_DivOp @@ -155,7 +154,7 @@ def : Pat<(CHLO_AsinAcosKernelOp ComplexElementType:$z), (StableHLO_AddOp:$spxm1 $s, $xm1))))))), (StableHLO_SelectOp (StableHLO_CompareOp - (StableHLO_SelectOp:$mx + (StableHLO_SelectOp:$_mx_1_ (StableHLO_CompareOp:$y_gt_safe_max_opt $y, (StableHLO_SelectOp:$safe_max_opt @@ -182,7 +181,7 @@ def : Pat<(CHLO_AsinAcosKernelOp ComplexElementType:$z), (StableHLO_AddOp (StableHLO_AddOp (StableHLO_LogOp $two), - (StableHLO_LogOp $mx)), + (StableHLO_LogOp $_mx_1_)), (StableHLO_MulOp $half, (StableHLO_Log1pOp @@ -396,10 +395,11 @@ def : Pat<(CHLO_AsinOp ComplexElementType:$z), (StableHLO_SelectOp (StableHLO_CompareOp (StableHLO_ImagOp:$signed_y $z), - (StableHLO_ConstantLike<"0"> (StableHLO_ImagOp:$imag_asin_acos_kernel_z $asin_acos_kernel_z)), + (StableHLO_ConstantLike<"0"> $signed_x), StableHLO_ComparisonDirectionValue<"LT">, (STABLEHLO_DEFAULT_COMPARISON_TYPE)), - (StableHLO_NegOp $imag_asin_acos_kernel_z), + (StableHLO_NegOp + (StableHLO_ImagOp:$imag_asin_acos_kernel_z $asin_acos_kernel_z)), $imag_asin_acos_kernel_z))>; // Arcus sine on real input: @@ -881,3 +881,35 @@ def : Pat<(CHLO_AtanhOp ComplexElementType:$z), $constant_neg1), (StableHLO_ConstantLike<"M_PI"> $x))), (StableHLO_ConstantLike<"0.5"> $x)))>; + +// Square on complex input: +// +// If abs(z.real) == abs(z.imag) then +// square(z).real = 0 +// else +// square(z).real = (z.real - z.imag) * (z.real + z.imag) +// square(z).imag = 2 * (z.real * z.imag) +// +def : Pat<(CHLO_SquareOp ComplexElementType:$z), + (StableHLO_ComplexOp + (StableHLO_SelectOp + (StableHLO_AndOp + (StableHLO_IsFiniteOp + (StableHLO_RealOp:$x $z)), + (StableHLO_CompareOp + (StableHLO_AbsOp $x), + (StableHLO_AbsOp + (StableHLO_ImagOp:$y $z)), + StableHLO_ComparisonDirectionValue<"EQ">, + (STABLEHLO_DEFAULT_COMPARISON_TYPE))), + (StableHLO_ConstantLike<"0"> $x), + (StableHLO_MulOp + (StableHLO_SubtractOp $x, $y), + (StableHLO_AddOp $x, $y))), + (StableHLO_MulOp + (StableHLO_ConstantLike<"2"> $x), + (StableHLO_MulOp $x, $y)))>; + +// Square on real input: x * x +def : Pat<(CHLO_SquareOp NonComplexElementType:$x), + (StableHLO_MulOp $x, $x)>;