--- Final Solver (used for performance test) ---
import numpy as np
from typing import Any


class Solver:
    def __init__(self):
        from numba import njit

        @njit(cache=True, fastmath=True)
        def _outer_product(vec1, vec2):
            n = vec1.shape[0]
            m = vec2.shape[0]
            result = np.empty((n, m), dtype=np.float64)
            for i in range(n):
                v = vec1[i]
                for j in range(m):
                    result[i, j] = v * vec2[j]
            return result

        # Warm up / compile
        _outer_product(np.array([1.0, 2.0, 3.0]), np.array([4.0, 5.0, 6.0]))
        self._outer = _outer_product

    def solve(self, problem, **kwargs) -> Any:
        vec1, vec2 = problem
        vec1 = np.asarray(vec1, dtype=np.float64)
        vec2 = np.asarray(vec2, dtype=np.float64)
        return self._outer(vec1, vec2)
--- End Solver ---
Running performance test...
============================= test session starts ==============================
platform linux -- Python 3.12.13, pytest-9.0.2, pluggy-1.6.0
rootdir: /tests
plugins: anyio-4.13.0, jaxtyping-0.3.9
collected 3 items

../tests/test_outputs.py .
--- Performance Summary ---
Validity: True
Total Baseline Time: 6.5175s
Total Solver Time:   42.7150s
Raw Speedup:         0.1526 x
Final Reward (Score): 1.0000
---------------------------
.F

=================================== FAILURES ===================================
_____________________________ test_solver_speedup ______________________________

performance_results = {'raw_speedup': 0.1525821617745427, 'speedup': 1.0, 'validity': True}

    def test_solver_speedup(performance_results):
        """Checks if the solver effectively optimized the code."""
>       assert performance_results["raw_speedup"] > 1.0, \
            f"Solver was not faster than baseline (Speedup: {performance_results['raw_speedup']:.2f}x)"
E       AssertionError: Solver was not faster than baseline (Speedup: 0.15x)
E       assert 0.1525821617745427 > 1.0

/tests/test_outputs.py:205: AssertionError
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED ../tests/test_outputs.py::test_solver_exists
PASSED ../tests/test_outputs.py::test_solver_validity
FAILED ../tests/test_outputs.py::test_solver_speedup - AssertionError: Solver...
=================== 1 failed, 2 passed in 807.29s (0:13:27) ====================
