def get_gelu_pattern2():
        """
        ``y = (0.5 * x) * (tanh(((.0447)x^3 + x ) * sqrt(2/pi)) + 1)``

        .. code-block::

                           --------------------------------------------------------------------------------------------------------
                           ^                                                                                                      |
                           |                                                                                                      V
            [...] -----> mul(0.5)    pow (3) ----> mul (.044715) ---> add -----> mul (sqrt(2/pi)) ---> tanh ----> add (1) -----> mul ---> [...]
              |                        ^                               ^
              |                        |                               |
              |---------------------------------------------------------

        """

        @mb.program(
            input_specs=[
                mb.TensorSpec(shape=([get_new_symbol(), get_new_symbol(), get_new_symbol()])),
            ]
        )
        def gelu_to_detect_2(x):
            pow = mb.pow(x=x, y=3.0, name="pow")
            mul_1 = mb.mul(x=0.044714998453855515, y=pow, name="mul_1")
            add = mb.add(x=x, y=mul_1, name="add")
            mul_2 = mb.mul(x=0.7978845834732056, y=add, name="mul_2")
            tanh = mb.tanh(x=mul_2, name="tanh")
            add_1 = mb.add(x=1.0, y=tanh, name="add_1")
            mul = mb.mul(x=0.5, y=x, name="mul")
            mul_3 = mb.mul(x=mul, y=add_1, name="mul_3")
            return mul_3

        return gelu_to_detect_2

        ``y = (0.5 * x) * (tanh(((.0447)x^3 + x ) * sqrt(2/pi)) + 1)``

        .. code-block::

                           --------------------------------------------------------------------------------------------------------
                           ^                                                                                                      |
                           |                                                                                                      V
            [...] -----> mul(0.5)    pow (3) ----> mul (.044715) ---> add -----> mul (sqrt(2/pi)) ---> tanh ----> add (1) -----> mul ---> [...]
              |                        ^                               ^
              |                        |                               |
              |---------------------------------------------------------

        
coremltools/converters/mil/mil/passes/defs/optimize_activation.py