def get_prelu_pattern():
        """
        ``y = a * relu(-1 * x) + relu(x)``

        When ``x`` is rank 4, and ``a`` is of shape ``(1, C, 1, 1)`` or ``(C, 1, 1)``,
        this is equivalent to ``prelu`` with ``alpha = -a.flatten()``.
        """

        @mb.program(
            input_specs=[
                mb.TensorSpec(
                    shape=([get_new_symbol(), get_new_symbol(), get_new_symbol(), get_new_symbol()])
                ),
            ]
        )
        def prelu_pattern(x):
            return fuse_prelu._prelu_pattern(x)

        return prelu_pattern

        ``y = a * relu(-1 * x) + relu(x)``

        When ``x`` is rank 4, and ``a`` is of shape ``(1, C, 1, 1)`` or ``(C, 1, 1)``,
        this is equivalent to ``prelu`` with ``alpha = -a.flatten()``.
        
coremltools/converters/mil/mil/passes/defs/optimize_activation.py