def test_multi_functions_default_function(self):
        """
        Test if no function_name passes to MLModel, default function name will be picked up.
        """

        @mb.function(
            input_specs=[mb.TensorSpec((3,))],
            opset_version=ct.target.iOS18,
        )
        def func(x):
            return mb.relu(x=x)

        @mb.function(
            input_specs=[mb.TensorSpec((3,))],
            opset_version=ct.target.iOS18,
        )
        def func_1(x):
            return mb.sin(x=x)

        prog = mil.Program()
        prog.add_function("main_1", func)
        prog.add_function("sin", func_1)
        prog.default_function_name = "main_1"

        package_path = self.convert_and_save(prog)

        # With no function_name passed, mlmodel.function_name defaults to defaultFunctionName
        mlmodel = ct.models.MLModel(package_path)
        self.check_functions_description(
            mlmodel,
            expect_function_names=["main_1", "sin"],
            expected_default_function_name="main_1",
        )
        assert mlmodel.function_name == "main_1"

        # Validate the prediction runs on default function
        self.check_relu(mlmodel)

        # Validate CompiledMLModel predictions for default function
        compiled_path = mlmodel.get_compiled_model_path()
        self.check_relu(ct.models.CompiledMLModel(compiled_path))

        # clean up
        shutil.rmtree(package_path)

        Test if no function_name passes to MLModel, default function name will be picked up.
        
coremltools/converters/mil/backend/mil/test_load.py