Symbolic Distillation of GNNs

In this demo, we reproduce the pipeline from the paper Discovering Symbolic Models from Deep Learning with Inductive Biases by Cranmer et al. (2020). In this paper, the authors train Graph Neural Networks (GNNs) on n-body system particle data (input variables are particle features; target variables are particle accerelations).
By approximating the edge model with an analytic equation using symbolic regression, it is possible to derive the true interaction force between particles.
In this reproduction, we use SymTorch to perform the symbolic regression on the edge model. We introduce a new way of encouraging sparsity in the model representation by using SymTorch’s pruning functionality.

The SymTorch functionality shown in this demo include:

  • Wrapping an MLP with the SymbolicModel class

  • Creating and training a Pruning MLP within a GNN

  • Approximating MLPs with symbolic expressions

  • Using variable transforms

  • Saving and loading models (beta)

Set up

Firstly, make sure to set up GPU usage on this notebook: Runtime -> Change runtime type -> T4 GPU.

Mount your drive to the notebook and set up the project directory where we will save our models. Everything is going to save in a directory in your drive called symtorch_symbolic_distillation_GNNs_demo.

# ===== PROJECT SETUP =====
import os
from google.colab import drive

# Mount Google Drive
drive.mount('/content/drive', force_remount=True)
# Set project directory (adjust path to match your folder structure)

project_dir = '/content/drive/MyDrive/symtorch_symbolic_disillation_GNNs_demo'
os.makedirs(project_dir, exist_ok=True)
os.chdir(project_dir)

print(f"Working directory: {os.getcwd()}")
print(f"Files in project folder: {os.listdir('.')}")

# Now your saved models will be in your project folder
script_dir = project_dir
Mounted at /content/drive
Working directory: /content/drive/MyDrive/symtorch_symbolic_disillation_GNNs_demo
Files in project folder: ['simulations', 'datasets', '__pycache__', 'train_val_test_data', 'model_weights', 'plot_linear_rep.py', 'pruning_experiments.py', 'linrepr_plots', 'pysr_objects', 'symtorch_data', 'model.py', 'utils.py', 'symtorch_model_pytorch.pth', 'symtorch_model_metadata.pkl', 'symtorch_model_regressor_dim0.pkl', 'symtorch_model_regressor_dim1.pkl']

Import the required libraries.

!pip install torch-geometric accelerate wandb celluloid
Collecting torch-geometric
  Downloading torch_geometric-2.6.1-py3-none-any.whl.metadata (63 kB)
?25l     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/63.1 kB ? eta -:--:--
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 kB 2.9 MB/s eta 0:00:00
?25hRequirement already satisfied: accelerate in /usr/local/lib/python3.11/dist-packages (1.10.0)
Requirement already satisfied: wandb in /usr/local/lib/python3.11/dist-packages (0.21.1)
Collecting celluloid
  Downloading celluloid-0.2.0-py3-none-any.whl.metadata (4.8 kB)
Requirement already satisfied: aiohttp in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (3.12.15)
Requirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (2025.3.0)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (3.1.6)
Requirement already satisfied: numpy in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (2.0.2)
Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (5.9.5)
Requirement already satisfied: pyparsing in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (3.2.3)
Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (2.32.3)
Requirement already satisfied: tqdm in /usr/local/lib/python3.11/dist-packages (from torch-geometric) (4.67.1)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from accelerate) (25.0)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.11/dist-packages (from accelerate) (6.0.2)
Requirement already satisfied: torch>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from accelerate) (2.6.0+cu124)
Requirement already satisfied: huggingface_hub>=0.21.0 in /usr/local/lib/python3.11/dist-packages (from accelerate) (0.34.4)
Requirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.11/dist-packages (from accelerate) (0.6.2)
Requirement already satisfied: click!=8.0.0,>=7.1 in /usr/local/lib/python3.11/dist-packages (from wandb) (8.2.1)
Requirement already satisfied: gitpython!=3.1.29,>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from wandb) (3.1.45)
Requirement already satisfied: platformdirs in /usr/local/lib/python3.11/dist-packages (from wandb) (4.3.8)
Requirement already satisfied: protobuf!=4.21.0,!=5.28.0,<7,>=3.19.0 in /usr/local/lib/python3.11/dist-packages (from wandb) (5.29.5)
Requirement already satisfied: pydantic<3 in /usr/local/lib/python3.11/dist-packages (from wandb) (2.11.7)
Requirement already satisfied: sentry-sdk>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from wandb) (2.34.1)
Requirement already satisfied: typing-extensions<5,>=4.8 in /usr/local/lib/python3.11/dist-packages (from wandb) (4.14.1)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.11/dist-packages (from celluloid) (3.10.0)
Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.11/dist-packages (from gitpython!=3.1.29,>=1.0.0->wandb) (4.0.12)
Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from huggingface_hub>=0.21.0->accelerate) (3.18.0)
Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.11/dist-packages (from huggingface_hub>=0.21.0->accelerate) (1.1.7)
Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic<3->wandb) (0.7.0)
Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic<3->wandb) (2.33.2)
Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic<3->wandb) (0.4.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->torch-geometric) (3.4.3)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->torch-geometric) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->torch-geometric) (2.5.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->torch-geometric) (2025.8.3)
Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (3.5)
Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=2.0.0->accelerate)
  Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=2.0.0->accelerate)
  Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Requirement already satisfied: nvidia-cusparselt-cu12==0.6.2 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (0.6.2)
Collecting nvidia-nccl-cu12==2.21.5 (from torch>=2.0.0->accelerate)
  Downloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)
Requirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.4.127)
Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=2.0.0->accelerate)
  Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Requirement already satisfied: triton==3.2.0 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (3.2.0)
Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (1.13.1)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch>=2.0.0->accelerate) (1.3.0)
Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (2.6.1)
Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (1.4.0)
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (25.3.0)
Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (1.7.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (6.6.4)
Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (0.3.2)
Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->torch-geometric) (1.20.1)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch-geometric) (3.0.2)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->celluloid) (1.3.3)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib->celluloid) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib->celluloid) (4.59.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->celluloid) (1.4.9)
Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/dist-packages (from matplotlib->celluloid) (11.3.0)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.11/dist-packages (from matplotlib->celluloid) (2.9.0.post0)
Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.11/dist-packages (from gitdb<5,>=4.0.1->gitpython!=3.1.29,>=1.0.0->wandb) (5.0.2)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.7->matplotlib->celluloid) (1.17.0)
Downloading torch_geometric-2.6.1-py3-none-any.whl (1.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 29.7 MB/s eta 0:00:00
?25hDownloading celluloid-0.2.0-py3-none-any.whl (5.4 kB)
Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 3.7 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 66.5 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 67.1 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 47.5 MB/s eta 0:00:00
?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 2.1 MB/s eta 0:00:00
?25hDownloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 6.3 MB/s eta 0:00:00
?25hDownloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 11.3 MB/s eta 0:00:00
?25hDownloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 8.1 MB/s eta 0:00:00
?25hDownloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 5.6 MB/s eta 0:00:00
?25hDownloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 6.1 MB/s eta 0:00:00
?25hDownloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 102.2 MB/s eta 0:00:00
?25hInstalling collected packages: nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, nvidia-cusparse-cu12, nvidia-cudnn-cu12, torch-geometric, nvidia-cusolver-cu12, celluloid
  Attempting uninstall: nvidia-nvjitlink-cu12
    Found existing installation: nvidia-nvjitlink-cu12 12.5.82
    Uninstalling nvidia-nvjitlink-cu12-12.5.82:
      Successfully uninstalled nvidia-nvjitlink-cu12-12.5.82
  Attempting uninstall: nvidia-nccl-cu12
    Found existing installation: nvidia-nccl-cu12 2.23.4
    Uninstalling nvidia-nccl-cu12-2.23.4:
      Successfully uninstalled nvidia-nccl-cu12-2.23.4
  Attempting uninstall: nvidia-curand-cu12
    Found existing installation: nvidia-curand-cu12 10.3.6.82
    Uninstalling nvidia-curand-cu12-10.3.6.82:
      Successfully uninstalled nvidia-curand-cu12-10.3.6.82
  Attempting uninstall: nvidia-cufft-cu12
    Found existing installation: nvidia-cufft-cu12 11.2.3.61
    Uninstalling nvidia-cufft-cu12-11.2.3.61:
      Successfully uninstalled nvidia-cufft-cu12-11.2.3.61
  Attempting uninstall: nvidia-cuda-runtime-cu12
    Found existing installation: nvidia-cuda-runtime-cu12 12.5.82
    Uninstalling nvidia-cuda-runtime-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-runtime-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-nvrtc-cu12
    Found existing installation: nvidia-cuda-nvrtc-cu12 12.5.82
    Uninstalling nvidia-cuda-nvrtc-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-cupti-cu12
    Found existing installation: nvidia-cuda-cupti-cu12 12.5.82
    Uninstalling nvidia-cuda-cupti-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-cupti-cu12-12.5.82
  Attempting uninstall: nvidia-cublas-cu12
    Found existing installation: nvidia-cublas-cu12 12.5.3.2
    Uninstalling nvidia-cublas-cu12-12.5.3.2:
      Successfully uninstalled nvidia-cublas-cu12-12.5.3.2
  Attempting uninstall: nvidia-cusparse-cu12
    Found existing installation: nvidia-cusparse-cu12 12.5.1.3
    Uninstalling nvidia-cusparse-cu12-12.5.1.3:
      Successfully uninstalled nvidia-cusparse-cu12-12.5.1.3
  Attempting uninstall: nvidia-cudnn-cu12
    Found existing installation: nvidia-cudnn-cu12 9.3.0.75
    Uninstalling nvidia-cudnn-cu12-9.3.0.75:
      Successfully uninstalled nvidia-cudnn-cu12-9.3.0.75
  Attempting uninstall: nvidia-cusolver-cu12
    Found existing installation: nvidia-cusolver-cu12 11.6.3.83
    Uninstalling nvidia-cusolver-cu12-11.6.3.83:
      Successfully uninstalled nvidia-cusolver-cu12-11.6.3.83
Successfully installed celluloid-0.2.0 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 torch-geometric-2.6.1
!pip install torch-symbolic
Collecting torch-symbolic
  Downloading torch_symbolic-1.0.5-py3-none-any.whl.metadata (1.2 kB)
Requirement already satisfied: torch in /usr/local/lib/python3.11/dist-packages (from torch-symbolic) (2.6.0+cu124)
Collecting pysr (from torch-symbolic)
  Downloading pysr-1.5.9-py3-none-any.whl.metadata (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 3.1 MB/s eta 0:00:00
?25hRequirement already satisfied: numpy in /usr/local/lib/python3.11/dist-packages (from torch-symbolic) (2.0.2)
Requirement already satisfied: pandas in /usr/local/lib/python3.11/dist-packages (from torch-symbolic) (2.2.2)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.11/dist-packages (from torch-symbolic) (1.6.1)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.11/dist-packages (from torch-symbolic) (3.10.0)
Requirement already satisfied: sympy in /usr/local/lib/python3.11/dist-packages (from torch-symbolic) (1.13.1)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (1.3.3)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (4.59.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (1.4.9)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (25.0)
Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (11.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (3.2.3)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.11/dist-packages (from matplotlib->torch-symbolic) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas->torch-symbolic) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas->torch-symbolic) (2025.2)
Requirement already satisfied: click<9.0.0,>=7.0.0 in /usr/local/lib/python3.11/dist-packages (from pysr->torch-symbolic) (8.2.1)
Collecting juliacall<0.9.27,>=0.9.24 (from pysr->torch-symbolic)
  Downloading juliacall-0.9.26-py3-none-any.whl.metadata (4.5 kB)
Requirement already satisfied: typing-extensions<5.0.0,>=4.0.0 in /usr/local/lib/python3.11/dist-packages (from pysr->torch-symbolic) (4.14.1)
Requirement already satisfied: scipy>=1.6.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->torch-symbolic) (1.16.1)
Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->torch-symbolic) (1.5.1)
Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn->torch-symbolic) (3.6.0)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy->torch-symbolic) (1.3.0)
Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (3.18.0)
Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (3.5)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (3.1.6)
Requirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (2025.3.0)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.4.127)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.4.127)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.4.127)
Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (9.1.0.70)
Requirement already satisfied: nvidia-cublas-cu12==12.4.5.8 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.4.5.8)
Requirement already satisfied: nvidia-cufft-cu12==11.2.1.3 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (11.2.1.3)
Requirement already satisfied: nvidia-curand-cu12==10.3.5.147 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (10.3.5.147)
Requirement already satisfied: nvidia-cusolver-cu12==11.6.1.9 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (11.6.1.9)
Requirement already satisfied: nvidia-cusparse-cu12==12.3.1.170 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.3.1.170)
Requirement already satisfied: nvidia-cusparselt-cu12==0.6.2 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (0.6.2)
Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (2.21.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.4.127)
Requirement already satisfied: nvidia-nvjitlink-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (12.4.127)
Requirement already satisfied: triton==3.2.0 in /usr/local/lib/python3.11/dist-packages (from torch->torch-symbolic) (3.2.0)
Collecting juliapkg<0.2,>=0.1.17 (from juliacall<0.9.27,>=0.9.24->pysr->torch-symbolic)
  Downloading juliapkg-0.1.17-py3-none-any.whl.metadata (6.2 kB)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.7->matplotlib->torch-symbolic) (1.17.0)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch->torch-symbolic) (3.0.2)
Collecting semver<4.0,>=3.0 (from juliapkg<0.2,>=0.1.17->juliacall<0.9.27,>=0.9.24->pysr->torch-symbolic)
  Downloading semver-3.0.4-py3-none-any.whl.metadata (6.8 kB)
Downloading torch_symbolic-1.0.5-py3-none-any.whl (21 kB)
Downloading pysr-1.5.9-py3-none-any.whl (99 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.3/99.3 kB 3.7 MB/s eta 0:00:00
?25hDownloading juliacall-0.9.26-py3-none-any.whl (12 kB)
Downloading juliapkg-0.1.17-py3-none-any.whl (16 kB)
Downloading semver-3.0.4-py3-none-any.whl (17 kB)
Installing collected packages: semver, juliapkg, juliacall, pysr, torch-symbolic
Successfully installed juliacall-0.9.26 juliapkg-0.1.17 pysr-1.5.9 semver-3.0.4 torch-symbolic-1.0.5

Fetch the relevent scripts from the project repository.

!mkdir -p simulations
!wget https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/simulations/simulate.py -O simulations/simulate.py
!wget https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/simulations/generate_data.py -O simulations/generate_data.py
!wget https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/model.py -O model.py
!wget https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/utils.py -O utils.py
--2025-08-14 06:07:08--  https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/simulations/simulate.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9846 (9.6K) [text/plain]
Saving to: ‘simulations/simulate.py’

simulations/simulat 100%[===================>]   9.62K  --.-KB/s    in 0.001s  

2025-08-14 06:07:09 (17.8 MB/s) - ‘simulations/simulate.py’ saved [9846/9846]

--2025-08-14 06:07:09--  https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/simulations/generate_data.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.108.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3556 (3.5K) [text/plain]
Saving to: ‘simulations/generate_data.py’

simulations/generat 100%[===================>]   3.47K  --.-KB/s    in 0s      

2025-08-14 06:07:09 (13.8 MB/s) - ‘simulations/generate_data.py’ saved [3556/3556]

--2025-08-14 06:07:10--  https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/model.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28974 (28K) [text/plain]
Saving to: ‘model.py’

model.py            100%[===================>]  28.29K  --.-KB/s    in 0.002s  

2025-08-14 06:07:10 (16.9 MB/s) - ‘model.py’ saved [28974/28974]

--2025-08-14 06:07:10--  https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/utils.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1796 (1.8K) [text/plain]
Saving to: ‘utils.py’

utils.py            100%[===================>]   1.75K  --.-KB/s    in 0s      

2025-08-14 06:07:10 (8.86 MB/s) - ‘utils.py’ saved [1796/1796]

Generate the dataset

The dataset that we are training on consists of particle data. We use the original code from Cranmer et al. To run n-body simulations and sample from these simulations.
We have four different dataset consisting of four particles interacting under the following force laws:

  • Charge; \(\mathbf{F} = \frac{q_1q_2}{r^2} \mathbf{\hat{r}}\)

  • \(r^{-1}\); \(\mathbf{F} = -\frac{m_1m_2}{r} \mathbf{\hat{r}}\)

  • \(r^{-2}\); \(\mathbf{F} = -\frac{m_1m_2}{r^2} \mathbf{\hat{r}}\)

  • Spring; \(-(r-1)\mathbf{\hat{r}}\)

We need to generate the dataset. Choose which simulation you want to run.

sim = 'spring' #change to either 'charge', 'r1', 'r2', 'spring'

Run the below cell to generate data. This does not take very long. The dataset will be saved in the \(\texttt{datasets}\) folder.
By default, we always use four particles in two dimensions.

!python3 simulations/generate_data.py --sim $sim --save

The dataset consists of

  • Input variables: particle features \(\mathbf{v}_i = [x_i, y_i, \dot{x}_i, \dot{y}_i, q_i, m_i]\)

  • Target variable: instantaneous accelerations \(\mathbf{a}_i=[\ddot{x}_i, \ddot{y}_i]\)

Run the models

We train GNNs on the dataset. In our GNN, each node represents a particle, and because all of the particles interact with each other, we have a fully connected graph. Our GNN consists of two MLPs: the edge model and the node model.

Screenshot 2025-08-09 at 16.42.09.png

(Figure is adapted from Battaglia et al. (2018))

The edge model, \(\phi^e\), takes the features of two connected nodes as input and outputs an edge message for edge \(k\), \(\mathbf{e}_k\),

\(\mathbf{e}_k' = \phi^e (\mathbf{v}_{r_k}, \mathbf{v}_{s_k})\)

where \(\mathbf{v}_{r_k}\) and \(\mathbf{v}_{r_k}\) denote the node features of the recieving particle and sending particles, respectively.

The messages incoming to a recieving particle are aggregated via an elementwise summation,

\(\mathbf{\bar{e}}_{r_k} = \sum_{j\neq r_k} \phi^e (\mathbf{v}_{r_k}, \mathbf{v}_{j}) \)

and the inputs to the node model are the aggregated messages to a recieving node and the recieving node features. The node model outputs the predictions of the accelerations of the particle.

from model import *
from utils import *
[juliapkg] Found dependencies: /usr/local/lib/python3.11/dist-packages/juliacall/juliapkg.json
[juliapkg] Found dependencies: /usr/local/lib/python3.11/dist-packages/juliapkg/juliapkg.json
[juliapkg] Found dependencies: /usr/local/lib/python3.11/dist-packages/pysr/juliapkg.json
[juliapkg] Locating Julia ^1.10.3
[juliapkg] Using Julia 1.11.5 at /usr/local/bin/julia
[juliapkg] Using Julia project at /root/.julia/environments/pyjuliapkg
[juliapkg] Writing Project.toml:
             [deps]
             PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
             OpenSSL_jll = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
             SymbolicRegression = "8254be44-1295-4e6a-a16d-46603ac705cb"
             Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
             [compat]
             PythonCall = "=0.9.26"
             OpenSSL_jll = "~3.0"
             SymbolicRegression = "~1.11"
             Serialization = "^1"
[juliapkg] Installing packages:
             import Pkg
             Pkg.Registry.update()
             Pkg.add([
               Pkg.PackageSpec(name="PythonCall", uuid="6099a3de-0909-46bc-b1f4-468b9a2dfc0d"),
               Pkg.PackageSpec(name="OpenSSL_jll", uuid="458c3c95-2e84-50aa-8efc-19380b2a3a95"),
               Pkg.PackageSpec(name="SymbolicRegression", uuid="8254be44-1295-4e6a-a16d-46603ac705cb"),
               Pkg.PackageSpec(name="Serialization", uuid="9e88b42a-f829-5b0c-bbe9-9e923198166b"),
             ])
             Pkg.resolve()
             Pkg.precompile()
Detected IPython. Loading juliacall extension. See https://juliapy.github.io/PythonCall.jl/stable/compat/#IPython
#These are the different locations for where the datasets are saved

dataset_locations = {
    'charge': 'datasets/charge_n=4_dim=2_nt=1000_dt=0.001.pt',
    'r1': 'datasets/r1_n=4_dim=2_nt=1000_dt=0.005.pt',
    'r2': 'datasets/r2_n=4_dim=2_nt=1000_dt=0.001.pt',
    'spring': 'datasets/spring_n=4_dim=2_nt=1000_dt=0.01.pt',
}
#create the train, test and validation sets
train_data, val_data, test_data = load_and_process(dataset_locations[sim], seed=290402)

Choose the model type that you want to run.

Model variations

It can be mathematically shown that, for a GNN trained to predict accelerations from particle data, the edge messages are linear combinations of true forces if the dimensionality of the edge message matches that of the system. Hence, we want to encourage sparsity in the edge model and we train several variations of the GNN for this.

  • Standard: no regularisation to encourage sparsity (dimension of messages = 100)

  • Bottleneck: constrain dimensionality of messages to that of the system (2)

  • L1: add an L1 regularisation of the edge messages to the loss,

\(\propto \sum_k |\mathbf{e}_k|\)

  • KL: the edge model now outputs the mean and log-variance of the messages, defining a Gaussian probability distribution on each message dimension

    \(\mathbf{e}_k' \sim N (\mathbf{\mu}_k', \text{diag}[\mathbf{\sigma}_k'^2]) \) where \(\mathbf{\mu}_k' = \phi^e_\mu \) and \(\mathbf{\sigma}_k'^2 = \text{exp}(\phi^e_{\mathbf{\sigma}_k'^2} )\)

    We add a regularisation term to the loss that is equal to the KL divergence between the defined probability distribution on the messages and a standard normal (edge model output dimensionality doubles to 200)

  • Pruning: incrementally reduce the the dimensionality of the edge messages by zero-masking the ‘unimportant’ dimensions. The unimportant dimensions are chosen by passing a subset of the validation set through the edge model and choosing those with the lowest standard deviation across the datapoints (see the Pruning demo).

model_type = 'bottleneck' #change to either 'standard', 'bottleneck', 'L1', 'KL', 'pruning'

We can train for a small number of epochs (equivalent to 330k optimiser steps) for sake of time. With 30 epochs and below, we use the OneCycleLR scheduler for fast training. For the results in the project report, we trained for 200 epochs (1.1 million steps). You can change the below to 200 epochs and the scheduler will automatically change to Cosine Annealing.

epochs = 30

If you want to turn on \(\texttt{wandb}\) logging, you need to log in first. Uncomment the cell below.

#! wandb login

Train the model. This should take around 30 mins but it saves so we can access the model weights later.

model = create_model(model_type = model_type)

#if it's the pruning model we have to set the schedule
if model_type == 'pruning':
    model.edge_model.set_schedule(epochs, decay_rate='cosine', end_epoch_frac=0.65)
model = train(model, train_data=train_data, val_data=val_data, dataset_name = sim, num_epoch=epochs,
              save=True, wandb_log=False) #turn wandb_log = True if you want to log using wandb

The model weights and also the .json metrics file will be saved at model_weights/sim/model_type in this demo folder. Let’s load the model now and analyse the messages.

Plot the linear combination of forces

This section can be skipped if you are only interested in how to use the symtorch package.

Recall that for a trained GNN, the edge messages are just linear transformations of the true forces. To test this, we can perform a linear regression to fit the true forces to the (two best) messages and calculate the \(R^2\) score to evaluate the fit.

To pick the best messages:

image.png

image.png

Load the model.

model = load_model(sim, model_type, epochs)
Model loaded successfully.

Get the code to fit and plot the linear combination of true forces to the messages.

!wget https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/plot_linear_rep.py -O plot_linear_rep.py
!wget https://raw.githubusercontent.com/elizabethsztan/SymTorch_symbolic_distillation_GNNs/main/pruning_experiments.py -O pruning_experiments.py
from plot_linear_rep import *

The following code will

  1. Pass the test set through the trained model and obtain the messages from the outputs of the edge model.

  2. Pick the two best message elements (for standard and L1, this if the elements with the highest std. For KL, these are elements with the highest KL divergence. For pruning and bottleneck, there are only two elements).

  3. Perform a linear regression on the true forces in the \(x\) and \(y\) direction and to fit the two most important message elements. One linear regression includes all points, the other ignores the worst 10% of outliers (robust fit).

  4. Get the \(R^2\) value of both fits. For the robust fit, we again ignore the outliers for calculating \(R^2\).

image.png

r2_scores_tuple, fig = plot_linear_representation(model, test_data, sim, model_type, epochs)

The first row in the above plot is the linear fit without outliers removed and the second one includes outliers.

print(f'R2 score for messages without outliers: {r2_scores_tuple[0]}')
print(f'R2 score for messages with outliers: {r2_scores_tuple[1]}')

Symbolic regression

To perform the symbolic regression, we need to wrap the edge models of the models with the MLP_SR wrapper from symtorch.
The pruning models are already a symtorch.toolkit.Pruning_MLP class, which has in-built interpretation methods.

from symtorch import SymbolicMLP

These are the forms of the equations that we would expect for the different simulations.

image.png

# Wrap the model with the MLP_SR wrapper if it's not a pruning model
if model_type != 'pruning':
    model.edge_model = MLP_SR(model.edge_model, mlp_name=model_type)

For the standard, L1 and KL models, we need to find the two most important message dimensions in the same way as before (the dimensions with the highest standard deviation across the test set for the standard and L1 models, and the dimensions with the highest KL divergence for the KL models).

import torch
from torch_geometric.data import Data
from torch_geometric.loader import DataLoader
from model import get_edge_index

# Prepare test data for edge feature extraction
X_test, y_test = test_data
edge_index = get_edge_index(X_test.shape[1])  # Full connectivity graph

# Create DataLoader for batch processing
dataset = DataLoader(
    [Data(x=X_test[i], edge_index=edge_index, y=y_test[i]) for i in range(len(X_test))],
    batch_size=len(X_test),
    shuffle=False)

# Extract edge features by concatenating source and target node features
all_inputs = []
for datapoint in dataset:
    source_nodes = datapoint.x[datapoint.edge_index[0]]  # Source node features
    target_nodes = datapoint.x[datapoint.edge_index[1]]  # Target node features
    x = torch.cat((source_nodes, target_nodes), dim=1)   # Concatenate for edge features
    all_inputs.append(x)
all_inputs = torch.cat(all_inputs, dim=0)  # Shape: [num_edges_total, 2*node_dim]
import numpy as np

if model_type == 'standard' or model_type == 'L1':
    # For standard models, use all message dimensions
    important_dims_info = model.edge_model.get_importance(all_inputs)
    important_dims = important_dims_info['importance']

    dim0 = important_dims[0]
    dim1 = important_dims[1]

elif model_type == 'KL':
    # For KL models, extract mean components from variational output
    raw_outputs = model.edge_model(all_inputs).detach().numpy()
    messages = raw_outputs[:, 0::2]  # Extract mean components (every other element)
    logvars = raw_outputs[:, 1::2]

    KL_div =  (np.exp(logvars) + messages**2 - logvars)/2
    KL_mean = KL_div.mean(axis=0)
    most_important = np.argsort(KL_mean)[-2:]
    msgs_to_compare = messages[:, most_important]
    dim0 = msgs_to_compare[0] * 2
    dim1 = msgs_to_compare[1] * 2 # Because the message dims are even

(In the KL model, the mean of the messages are the even outputs of the edge model and the logvar are the odd outputs).

We can input transformations of the input variables of the edge model to the symbolic regression for efficiency purposes.

# Input format: [x1, y1, vx1, vy1, q1, m1, x2, y2, vx2, vy2, q2, m2]
variable_transforms = [
    lambda x: x[:, 0] - x[:, 6],      # dx = x1 - x2 (relative position x)
    lambda x: x[:, 1] - x[:, 7],      # dy = y1 - y2 (relative position y)
    lambda x: torch.sqrt((x[:, 0] - x[:, 6])**2 + (x[:, 1] - x[:, 7])**2) + 1e-2,  # r = distance + small epsilon
    lambda x: x[:, 4],                # q1 (charge of particle 1)
    lambda x: x[:, 10],               # q2 (charge of particle 2)
    lambda x: x[:, 5],                # m1 (mass of particle 1)
    lambda x: x[:, 11]                # m2 (mass of particle 2)
]
variable_names = ['dx', 'dy', 'r', 'q_one', 'q_two', 'm_one', 'm_two']

Pass in only a subset of the input data to the symbolic regression. We use 5000 datapoints.

# Sample subset of data for symbolic regression (for computational efficiency)
np.random.seed(290402)  # Fixed seed for reproducibility
idx = np.random.choice(len(all_inputs), size=5_000, replace=False)
inputs_subset = all_inputs[idx]

Now, we can use the .distill method to run symbolic regression on the inputs and outputs of our edge models.

niterations = 200 # This should be 7000 but reduced to make quicker
save_path = f'pysr_objects/{dataset}/{niterations}'
os.makedirs(save_path, exist_ok=True)

# For models with multiple dimensions, analyse top 2 most important dimensions
sr_params = {'niterations':niterations,
                'parsimony':0.05,                    # Simplicity preference
                'complexity_of_constants':1,         # Penalty for complex constants
                'maxsize': 25,                        # Max expression size
                'elementwise_loss':"loss(prediction, target) = abs(prediction - target)",
                'batching':True,
                'unary_operators':["inv(x) = 1/x", "exp", "log"],
                'constraints':{'exp': (1), 'log': (1)},
                'complexity_of_operators':{'exp': 3, 'sin': 3, 'log': 3}}

fit_params = {'variable_names':variable_names}

# Run symbolic regression on selected message dimensions
if model_type == 'standard' or model_type == 'L1' or model_type == 'KL':


    # First dimension (most important)
    result = model.edge_model.distill(
        inputs_subset,
        output_dim=dim0,
        variable_transforms=variable_transforms,
        sr_params = sr_params,
        fit_params = fit_params,
        save_path=save_path)

    # Second dimension (second most important)
    result = model.edge_model.distill(
        inputs_subset,
        output_dim=dim1,
        variable_transforms=variable_transforms,
        sr_params = sr_params,
        fit_params = fit_params,
        save_path=save_path
    )

else:
    # For bottleneck and pruning models, analyse all available dimensions
    result = model.edge_model.distill(
        inputs_subset,
        variable_transforms=variable_transforms,
        sr_params = sr_params,
        fit_params = fit_params,
        save_path=save_path
    )
/usr/local/lib/python3.11/dist-packages/pysr/sr.py:2811: UserWarning: Note: it looks like you are running in Jupyter. The progress bar will be turned off.
  warnings.warn(
Compiling Julia backend...
INFO:pysr.sr:Compiling Julia backend...
🔄 Applied 7 variable transformations
   Variable names: ['dx', 'dy', 'r', 'q_one', 'q_two', 'm_one', 'm_two']
🛠️ Running SR on output dimension 0 of 1
[ Info: Started!
Expressions evaluated per second: 1.330e+03
Progress: 138 / 6200 total iterations (2.226%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.025071
3           6.215e-01  1.058e-01  y = dx * 0.49412
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           4.302e-01  3.350e-02  y = (dy * 0.42368) + (0.64371 * dx)
9           2.951e-01  1.884e-01  y = ((dy + dx) * 0.35287) * (r + -0.38971)
10          1.649e-01  5.821e-01  y = log(r) * ((dy * 0.73434) + dx)
18          1.631e-01  1.395e-03  y = ((((dy + (dx * 0.045231)) * 0.70627) + dx) + 0.045564)...
                                       * inv(inv(log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.560e+03
Progress: 352 / 6200 total iterations (5.677%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.030262
3           6.215e-01  1.058e-01  y = dx * 0.49412
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           4.282e-01  3.581e-02  y = ((dy * 0.7304) + dx) * 0.62155
8           2.524e-01  5.286e-01  y = log(r) * (dx + dy)
10          1.638e-01  2.161e-01  y = log(r) * ((dy * 0.71163) + dx)
14          1.624e-01  2.199e-03  y = (((dy * 0.70627) + dx) + 0.045564) * inv(inv(log(r)))
18          1.592e-01  4.902e-03  y = (dy + (inv(inv(dx)) + (r * (dy * -0.14029)))) * inv(in...
                                      v(log(r)))
20          1.546e-01  1.461e-02  y = (inv(inv(log(r))) * (dx + ((inv(inv(r)) * (dy * -0.140...
                                      29)) + dy))) + 0.045564
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.680e+03
Progress: 558 / 6200 total iterations (9.000%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49412
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           4.282e-01  3.581e-02  y = ((dy * 0.7304) + dx) * 0.62155
8           2.524e-01  5.286e-01  y = log(r) * (dx + dy)
10          1.638e-01  2.161e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.598e-01  1.239e-02  y = (log(r) * ((dy * 0.7184) + dx)) + 0.048206
14          1.515e-01  2.679e-02  y = log(r) * ((dx + dy) + (r * (-0.11916 * dy)))
18          1.490e-01  4.109e-03  y = (log(r) * (inv(inv(dx)) + ((r * (dy * -0.12887)) + dy)...
                                      )) + 0.045081
23          1.481e-01  1.257e-03  y = inv(inv(log(r))) * ((dx + dy) + (inv(inv(log(r))) * ((...
                                      dy * -0.32921) + 0.10302)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.700e+03
Progress: 736 / 6200 total iterations (11.871%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49412
4           6.215e-01  1.550e-06  y = inv(2.0152) * dx
5           4.600e-01  3.009e-01  y = (dx + dy) * 0.52001
7           4.282e-01  3.581e-02  y = ((dy * 0.7304) + dx) * 0.62155
8           2.524e-01  5.286e-01  y = log(r) * (dx + dy)
10          1.638e-01  2.161e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.597e-01  1.273e-02  y = (log(r) * (dx + (dy * 0.71163))) + 0.048357
14          1.515e-01  2.645e-02  y = log(r) * ((dx + dy) + (r * (-0.11916 * dy)))
16          1.490e-01  8.218e-03  y = (log(r) * ((dy * (-0.12887 * r)) + (dy + dx))) + 0.045...
                                      081
20          1.490e-01  2.980e-08  y = (log(r) * ((dy * (-0.12887 * r)) + (dy + inv(inv(inv(i...
                                      nv(dx))))))) + 0.045081
23          1.481e-01  2.095e-03  y = inv(inv(log(r))) * ((dx + dy) + (inv(inv(log(r))) * ((...
                                      dy * -0.32921) + 0.10302)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.850e+03
Progress: 948 / 6200 total iterations (15.290%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49412
4           6.215e-01  1.550e-06  y = inv(2.0152) * dx
5           4.600e-01  3.009e-01  y = (dx + dy) * 0.52001
7           3.092e-01  1.987e-01  y = (r * 0.28846) * (dx + dy)
8           2.524e-01  2.029e-01  y = log(r) * (dx + dy)
10          1.638e-01  2.161e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.596e-01  1.312e-02  y = (((dy * 0.72101) + dx) * log(r)) + 0.025793
14          1.515e-01  2.606e-02  y = log(r) * ((dx + dy) + (r * (-0.11916 * dy)))
16          1.463e-01  1.726e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.910e+03
Progress: 1151 / 6200 total iterations (18.565%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49412
4           6.215e-01  1.550e-06  y = inv(2.0152) * dx
5           4.600e-01  3.009e-01  y = (dx + dy) * 0.52001
7           3.092e-01  1.987e-01  y = (r * 0.28846) * (dx + dy)
8           2.524e-01  2.029e-01  y = log(r) * (dx + dy)
10          1.638e-01  2.161e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.489e-02  y = log(r) * ((dx + dy) + (r * (-0.11916 * dy)))
16          1.463e-01  1.726e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
18          1.458e-01  1.978e-03  y = ((log(r) * 1.0176) * ((dy + ((r * -0.11916) * dy)) + d...
                                      x)) + 0.037776
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.840e+03
Progress: 1326 / 6200 total iterations (21.387%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49412
4           6.215e-01  1.550e-06  y = inv(2.0152) * dx
5           4.600e-01  3.009e-01  y = (dx + dy) * 0.52001
7           3.092e-01  1.987e-01  y = (r * 0.28846) * (dx + dy)
8           2.524e-01  2.029e-01  y = log(r) * (dx + dy)
10          1.638e-01  2.161e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.489e-02  y = log(r) * ((dx + dy) + (r * (-0.11916 * dy)))
16          1.463e-01  1.726e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
18          1.458e-01  1.978e-03  y = ((log(r) * 1.0176) * ((dy + ((r * -0.11916) * dy)) + d...
                                      x)) + 0.037776
19          1.455e-01  1.672e-03  y = (((dy * (-0.29848 * log(r))) + (dy + dx)) * log(r)) + ...
                                      0.025998
22          1.254e-01  4.959e-02  y = (log(r) + (r * (m_one * (r * -0.0064866)))) * ((dy + (...
                                      dy * (r * -0.10314))) + dx)
24          1.226e-01  1.111e-02  y = ((dy + (dy * (r * -0.11214))) + dx) * (log(r) + ((((r ...
                                      * m_one) * -0.18504) + 0.70256) * 0.1205))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.930e+03
Progress: 1544 / 6200 total iterations (24.903%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.092e-01  1.987e-01  y = (r * 0.28846) * (dx + dy)
8           2.524e-01  2.029e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.489e-02  y = log(r) * ((dx + dy) + (r * (-0.11916 * dy)))
16          1.463e-01  1.726e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
18          1.448e-01  5.415e-03  y = (((dy * r) * -0.11214) + (dy + dx)) * (log(r) + (m_one...
                                       * -0.015665))
20          1.347e-01  3.598e-02  y = (log(r) + ((m_one * -0.041119) + 0.064155)) * (dx + ((...
                                      r * (dy * -0.13311)) + dy))
22          1.198e-01  5.852e-02  y = (dy + (((r * -0.11126) * dy) + dx)) * ((log(r) + 0.065...
                                      75) + (r * (m_one * -0.022564)))
24          1.197e-01  5.266e-04  y = ((dy + (dy * (r * -0.11176))) + dx) * (log(r) + ((((r ...
                                      * -0.12435) * m_one) + 0.3698) * 0.16468))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.870e+03
Progress: 1734 / 6200 total iterations (27.968%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.082e-01  2.003e-01  y = (r * (dx + dy)) * 0.28431
8           2.524e-01  1.996e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.496e-02  y = (dy + (((dy * r) * -0.11888) + dx)) * log(r)
16          1.463e-01  1.719e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
17          1.446e-01  1.186e-02  y = (((inv((r * 0.32387) + 0.62209) * dy) + dx) * log(r)) ...
                                      + 0.03827
20          1.347e-01  2.364e-02  y = (log(r) + ((m_one * -0.041119) + 0.064155)) * (dx + ((...
                                      r * (dy * -0.13311)) + dy))
22          1.198e-01  5.852e-02  y = (dy + (((r * -0.11126) * dy) + dx)) * ((log(r) + 0.065...
                                      75) + (r * (m_one * -0.022564)))
24          1.194e-01  1.644e-03  y = ((((dy * r) * -0.12555) + dy) + dx) * (log(r) + ((((r ...
                                      * m_one) * -0.1151) + 0.38235) * 0.19299))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.820e+03
Progress: 1918 / 6200 total iterations (30.935%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.082e-01  2.003e-01  y = (r * (dx + dy)) * 0.28431
8           2.524e-01  1.996e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.496e-02  y = (dy + (((dy * r) * -0.11888) + dx)) * log(r)
15          1.497e-01  1.138e-02  y = log(r) * (dx + (inv((r * 0.32387) + 0.62209) * dy))
16          1.463e-01  2.300e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
17          1.446e-01  1.186e-02  y = (((inv((r * 0.32387) + 0.62209) * dy) + dx) * log(r)) ...
                                      + 0.03827
18          1.136e-01  2.415e-01  y = ((dx * 1.3836) + dy) * (((r * -0.058357) * (r + -0.823...
                                      69)) + log(r))
20          1.113e-01  9.997e-03  y = ((dy + (dx * 1.3773)) + 0.092681) * (((r * (r + -0.798...
                                      79)) * -0.056438) + log(r))
22          1.020e-01  4.372e-02  y = ((log(r) + (((r * r) + -0.85755) * -0.048984)) * ((dx ...
                                      * 1.4153) + (dy + 0.0018337))) + 0.040896
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.940e+03
Progress: 2138 / 6200 total iterations (34.484%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.496e-02  y = (dy + (((dy * r) * -0.11888) + dx)) * log(r)
15          1.497e-01  1.138e-02  y = log(r) * (dx + (inv((r * 0.32387) + 0.62209) * dy))
16          1.463e-01  2.300e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
17          1.446e-01  1.186e-02  y = (((inv((r * 0.32387) + 0.62209) * dy) + dx) * log(r)) ...
                                      + 0.03827
18          1.136e-01  2.415e-01  y = ((dx * 1.3836) + dy) * (((r * -0.058357) * (r + -0.823...
                                      69)) + log(r))
20          1.100e-01  1.595e-02  y = ((((r * r) + -0.46636) * -0.043064) + log(r)) * ((dy +...
                                       (dx * 1.4221)) + 0.050701)
22          1.020e-01  3.776e-02  y = ((log(r) + (((r * r) + -0.85755) * -0.048984)) * ((dx ...
                                      * 1.4153) + (dy + 0.0018337))) + 0.040896
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.850e+03
Progress: 2311 / 6200 total iterations (37.274%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.515e-01  2.496e-02  y = (dy + (((dy * r) * -0.11888) + dx)) * log(r)
15          1.497e-01  1.138e-02  y = log(r) * (dx + (inv((r * 0.32387) + 0.62209) * dy))
16          1.463e-01  2.300e-02  y = (((dy + ((-0.11916 * r) * dy)) + dx) * log(r)) + 0.037...
                                      776
17          1.446e-01  1.186e-02  y = (((inv((r * 0.32387) + 0.62209) * dy) + dx) * log(r)) ...
                                      + 0.03827
18          1.116e-01  2.591e-01  y = (((-0.043064 * (r * r)) + log(r)) * (dy + (1.4221 * dx...
                                      ))) + 0.050701
20          1.054e-01  2.839e-02  y = (((((r * r) + -0.46636) * -0.043064) + log(r)) * (dy +...
                                       (dx * 1.4221))) + 0.050701
22          1.020e-01  1.649e-02  y = ((log(r) + (((r * r) + -0.85755) * -0.048984)) * ((dx ...
                                      * 1.4153) + (dy + 0.0018337))) + 0.040896
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.830e+03
Progress: 2512 / 6200 total iterations (40.516%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.514e-01  2.511e-02  y = (dy + (((r * -0.11784) * dy) + dx)) * log(r)
15          1.497e-01  1.107e-02  y = log(r) * (dx + (inv((r * 0.32387) + 0.62209) * dy))
16          1.169e-01  2.478e-01  y = (log(r) + (-0.043064 * (r * r))) * (dy + (dx * 1.4221)...
                                      )
18          1.099e-01  3.065e-02  y = (((r * (r * -0.041302)) + log(r)) * ((dx * 1.4463) + d...
                                      y)) + 0.029207
20          1.054e-01  2.085e-02  y = (((((r * r) + -0.46636) * -0.043064) + log(r)) * (dy +...
                                       (dx * 1.4221))) + 0.050701
22          1.020e-01  1.649e-02  y = ((log(r) + (((r * r) + -0.85755) * -0.048984)) * ((dx ...
                                      * 1.4153) + (dy + 0.0018337))) + 0.040896
23          8.641e-02  1.661e-01  y = ((dx * 1.4666) + dy) * (log(r) + ((log(r) * (r + (r + ...
                                      m_one))) * -0.047786))
24          7.734e-02  1.109e-01  y = (((dx * 1.4244) + dy) * (((log(r) * log(r)) * -0.3255)...
                                       + log(r))) + 0.036066
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.960e+03
Progress: 2731 / 6200 total iterations (44.048%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.638e-01  4.260e-01  y = log(r) * ((dy * 0.71163) + dx)
12          1.592e-01  1.428e-02  y = 0.035863 + (log(r) * (dx + (dy * 0.72101)))
14          1.514e-01  2.511e-02  y = (dy + (((r * -0.11784) * dy) + dx)) * log(r)
15          1.497e-01  1.107e-02  y = log(r) * (dx + (inv((r * 0.32387) + 0.62209) * dy))
16          1.169e-01  2.478e-01  y = (log(r) + (-0.043064 * (r * r))) * (dy + (dx * 1.4221)...
                                      )
18          1.097e-01  3.184e-02  y = ((dy + (dx * 1.4463)) * (log(r) + ((r * r) * -0.041302...
                                      ))) + 0.032907
20          1.019e-01  3.689e-02  y = ((log(r) + (((r * r) + -0.85755) * -0.048984)) * ((dx ...
                                      * 1.4171) + dy)) + 0.040896
21          8.472e-02  1.843e-01  y = (dy + ((dx * 1.3951) + 0.054097)) * (((inv(r) + -1.017...
                                      5) * -0.85239) + (log(r) * 0.13177))
24          7.734e-02  3.040e-02  y = (((dx * 1.4244) + dy) * (((log(r) * log(r)) * -0.3255)...
                                       + log(r))) + 0.036066
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.910e+03
Progress: 2920 / 6200 total iterations (47.097%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.627e-01  4.331e-01  y = ((inv(r) + -1.0122) * -1.249) * (dy + dx)
12          7.720e-02  3.726e-01  y = ((inv(r) + -0.99923) * -1.0628) * (dy + (dx * 1.402))
18          6.286e-02  3.426e-02  y = ((inv(r) + -0.99923) * (-1.0628 * (((dx * 1.402) + (dy...
                                       + 0.11656)) + -0.098821))) + 0.031664
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.930e+03
Progress: 3139 / 6200 total iterations (50.629%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.618e-01  4.385e-01  y = (dx + dy) * (-1.2415 * (inv(r) + -1.0061))
12          7.720e-02  3.699e-01  y = ((inv(r) + -0.99923) * -1.0628) * (dy + (dx * 1.402))
14          6.019e-02  1.245e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.893e-02  1.059e-02  y = (((inv(r) + -0.99805) * (((dx + dx) * 0.71119) + dy)) ...
                                      * -1.0761) + 0.03577
20          5.761e-02  5.663e-03  y = (((-1.1058 + (m_one * 0.0081513)) * (dy + (0.71775 * (...
                                      dx + dx)))) * (inv(r) + -0.99743)) + 0.037534
22          2.751e-02  3.695e-01  y = ((((dx + dx) * 0.70577) + dy) * (((inv(r) + -1.0164) *...
                                       -1.1124) + (m_one * (r * -0.016522)))) + 0.038203
24          2.378e-02  7.284e-02  y = ((((((m_one + m_one) * 2.9577) * 0.0081513) + -1.1058)...
                                       * (((dx + dx) * 0.71775) + dy)) * (inv(r) + -0.99743)) + ...
                                      0.037534
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 2.020e+03
Progress: 3367 / 6200 total iterations (54.306%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = (dy + dx) * (r * 0.27717)
8           2.524e-01  1.980e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.617e-01  4.391e-01  y = ((dx + dy) * -1.272) * (inv(r) + -0.99923)
12          7.690e-02  3.716e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.893e-02  1.059e-02  y = (((inv(r) + -0.99805) * (((dx + dx) * 0.71119) + dy)) ...
                                      * -1.0761) + 0.03577
18          4.395e-02  1.467e-01  y = (((m_one * 0.05623) + -1.1382) * (inv(r) + -1.0052)) *...
                                       (((dx + dx) * 0.68917) + dy)
20          1.561e-02  5.174e-01  y = (((inv(r) + -0.99752) * (dy + ((dx + dx) * 0.71167))) ...
                                      * ((m_one * 0.060147) + -1.1346)) + 0.038843
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.870e+03
Progress: 3520 / 6200 total iterations (56.774%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.679e-01  0.000e+00  y = 0.029383
3           6.215e-01  1.058e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.617e-01  4.391e-01  y = ((dx + dy) * -1.272) * (inv(r) + -0.99923)
12          7.690e-02  3.716e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.893e-02  1.059e-02  y = (((inv(r) + -0.99805) * (((dx + dx) * 0.71119) + dy)) ...
                                      * -1.0761) + 0.03577
18          4.295e-02  1.582e-01  y = ((m_one * 0.060147) + -1.1346) * ((inv(r) + -0.99752) ...
                                      * (dy + ((dx + dx) * 0.71167)))
20          1.561e-02  5.059e-01  y = (((inv(r) + -0.99752) * (dy + ((dx + dx) * 0.71167))) ...
                                      * ((m_one * 0.060147) + -1.1346)) + 0.038843
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.920e+03
Progress: 3742 / 6200 total iterations (60.355%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.617e-01  4.391e-01  y = ((dx + dy) * -1.272) * (inv(r) + -0.99923)
12          7.690e-02  3.716e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.893e-02  1.059e-02  y = (((inv(r) + -0.99805) * (((dx + dx) * 0.71119) + dy)) ...
                                      * -1.0761) + 0.03577
18          4.295e-02  1.582e-01  y = ((m_one * 0.060147) + -1.1346) * ((inv(r) + -0.99752) ...
                                      * (dy + ((dx + dx) * 0.71167)))
20          1.472e-02  5.353e-01  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.980e+03
Progress: 3952 / 6200 total iterations (63.742%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.617e-01  4.391e-01  y = ((dx + dy) * -1.272) * (inv(r) + -0.99923)
12          7.690e-02  3.716e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.893e-02  1.059e-02  y = (((inv(r) + -0.99805) * (((dx + dx) * 0.71119) + dy)) ...
                                      * -1.0761) + 0.03577
18          4.295e-02  1.582e-01  y = ((m_one * 0.060147) + -1.1346) * ((inv(r) + -0.99752) ...
                                      * (dy + ((dx + dx) * 0.71167)))
19          4.286e-02  2.042e-03  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.830e+03
Progress: 4125 / 6200 total iterations (66.532%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.617e-01  4.391e-01  y = ((dx + dy) * -1.272) * (inv(r) + -0.99923)
12          7.690e-02  3.716e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.878e-02  1.185e-02  y = (((inv(r) + -0.99822) * -1.0751) * (dy + ((dx + dx) * ...
                                      0.71043))) + 0.037655
18          4.286e-02  1.579e-01  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 2.000e+03
Progress: 4356 / 6200 total iterations (70.258%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.617e-01  4.391e-01  y = ((dx + dy) * -1.272) * (inv(r) + -0.99923)
12          7.690e-02  3.716e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.878e-02  1.185e-02  y = (((inv(r) + -0.99822) * -1.0751) * (dy + ((dx + dx) * ...
                                      0.71043))) + 0.037655
18          4.286e-02  1.579e-01  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.970e+03
Progress: 4560 / 6200 total iterations (73.548%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.615e-01  4.400e-01  y = (inv(r) + -0.99923) * ((dy + dx) * -1.2649)
12          7.690e-02  3.711e-01  y = ((inv(r) + -0.99923) * (dy + (dx * 1.4137))) * -1.0628
14          6.019e-02  1.225e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          5.878e-02  1.185e-02  y = (((inv(r) + -0.99822) * -1.0751) * (dy + ((dx + dx) * ...
                                      0.71043))) + 0.037655
18          4.286e-02  1.579e-01  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.860e+03
Progress: 4732 / 6200 total iterations (76.323%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dx + dy) * 0.52001
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.615e-01  4.400e-01  y = ((inv(r) + -0.99923) * (dy + dx)) * -1.2649
12          7.688e-02  3.712e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          6.019e-02  1.224e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          4.286e-02  1.698e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 2.010e+03
Progress: 4963 / 6200 total iterations (80.048%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.615e-01  4.400e-01  y = ((inv(r) + -0.99923) * (dy + dx)) * -1.2649
12          7.688e-02  3.712e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          6.019e-02  1.224e-01  y = ((inv(r) + -0.99761) * ((dy + (dx * 1.4427)) * -1.0695...
                                      )) + 0.037814
16          4.286e-02  1.698e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.940e+03
Progress: 5164 / 6200 total iterations (83.290%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.615e-01  4.402e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.995e-02  1.244e-01  y = ((inv(r) + -0.99923) * ((dy + (dx * 1.4162)) * -1.0628...
                                      )) + 0.033881
16          4.286e-02  1.678e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.890e+03
Progress: 5361 / 6200 total iterations (86.468%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = ((dx + dy) * r) * 0.27733
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.615e-01  4.402e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.995e-02  1.244e-01  y = ((inv(r) + -0.99923) * ((dy + (dx * 1.4162)) * -1.0628...
                                      )) + 0.033881
16          4.286e-02  1.678e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 2.030e+03
Progress: 5587 / 6200 total iterations (90.113%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = (r * (dy + dx)) * 0.27786
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.239e-03  y = r * (((dy * 0.71229) + dx) * 0.33631)
10          1.615e-01  4.402e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.995e-02  1.244e-01  y = ((inv(r) + -0.99923) * ((dy + (dx * 1.4162)) * -1.0628...
                                      )) + 0.033881
16          4.286e-02  1.678e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
24          1.467e-02  9.630e-04  y = ((((dx + dx) * 0.70828) + dy) * ((inv(r) + -0.99898) *...
                                       ((inv(inv(m_one + 0.46791)) * 0.05786) + -1.1672))) + 0.0...
                                      38042
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.930e+03
Progress: 5770 / 6200 total iterations (93.065%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = (r * (dy + dx)) * 0.27786
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.309e-03  y = (dx + (dy * 0.70997)) * (r * 0.33728)
10          1.615e-01  4.401e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.995e-02  1.244e-01  y = ((inv(r) + -0.99923) * ((dy + (dx * 1.4162)) * -1.0628...
                                      )) + 0.033881
16          4.286e-02  1.678e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
24          1.455e-02  2.918e-03  y = (((inv(inv(m_one + 0.53723)) * 0.05786) + -1.1672) * (...
                                      (inv(r) + -0.99898) * (dy + ((dx + dx) * 0.70828)))) + 0.0...
                                      38042
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.930e+03
Progress: 5970 / 6200 total iterations (96.290%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = (r * (dy + dx)) * 0.27786
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.309e-03  y = (dx + (dy * 0.70997)) * (r * 0.33728)
10          1.615e-01  4.401e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.966e-02  1.268e-01  y = (((dx * 1.4301) + dy) * ((inv(r) + -0.9975) * -1.0791)...
                                      ) + 0.035055
16          4.286e-02  1.654e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
24          1.453e-02  3.353e-03  y = ((((dx + dx) * 0.70828) + dy) * (((inv(inv(m_one + 0.4...
                                      9086)) * 0.05786) + -1.1672) * (inv(r) + -0.99898))) + 0.0...
                                      38042
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.980e+03
Progress: 6187 / 6200 total iterations (99.790%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = (r * (dy + dx)) * 0.27786
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.309e-03  y = (dx + (dy * 0.70997)) * (r * 0.33728)
10          1.615e-01  4.401e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.966e-02  1.268e-01  y = (((dx * 1.4301) + dy) * ((inv(r) + -0.9975) * -1.0791)...
                                      ) + 0.035055
16          4.286e-02  1.654e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
22          1.453e-02  6.707e-03  y = (((((dx + dx) * 0.70828) + dy) * (inv(r) + -0.99898)) ...
                                      * (((m_one + 0.49086) * 0.05786) + -1.1672)) + 0.038042
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.
[ Info: Final population:
[ Info: Results saved to:
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.637e-01  0.000e+00  y = dx
3           6.215e-01  1.030e-01  y = dx * 0.49596
5           4.600e-01  1.505e-01  y = (dy + dx) * 0.51858
7           3.076e-01  2.011e-01  y = (r * (dy + dx)) * 0.27786
8           2.524e-01  1.979e-01  y = log(r) * (dx + dy)
9           2.508e-01  6.309e-03  y = (dx + (dy * 0.70997)) * (r * 0.33728)
10          1.615e-01  4.401e-01  y = (dy + dx) * ((inv(r) + -0.99923) * -1.261)
12          7.688e-02  3.711e-01  y = (dy + (dx * 1.4162)) * ((inv(r) + -0.99923) * -1.0628)
14          5.966e-02  1.268e-01  y = (((dx * 1.4301) + dy) * ((inv(r) + -0.9975) * -1.0791)...
                                      ) + 0.035055
16          4.286e-02  1.654e-01  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + (dx * 1.4164))
18          4.286e-02  1.031e-05  y = ((dy + ((dx + dx) * 0.70602)) * ((m_one * 0.060147) + ...
                                      -1.1346)) * (inv(r) + -0.99752)
19          4.286e-02  5.960e-08  y = (((m_one * 0.060147) + -1.1346) * (inv(r) + -0.99752))...
                                       * (dy + ((dx + dx) * inv(1.4164)))
20          1.472e-02  1.068e+00  y = (((inv(r) + -0.99822) * (dy + ((dx + dx) * 0.71043))) ...
                                      * ((m_one * 0.060197) + -1.1382)) + 0.037655
22          1.453e-02  6.707e-03  y = (((((dx + dx) * 0.70828) + dy) * (inv(r) + -0.99898)) ...
                                      * (((m_one + 0.49086) * 0.05786) + -1.1672)) + 0.038042
───────────────────────────────────────────────────────────────────────────────────────────────────
💡Best equation for output 0 found to be (((inv(r) + -0.9982249) * (dy + ((dx + dx) * 0.7104291))) * ((m_one * 0.06019747) + -1.1381712)) + 0.037655354.
🛠️ Running SR on output dimension 1 of 1
/usr/local/lib/python3.11/dist-packages/pysr/sr.py:2811: UserWarning: Note: it looks like you are running in Jupyter. The progress bar will be turned off.
  warnings.warn(
  - pysr_objects/<torch_geometric.loader.dataloader.DataLoader object at 0x785cd8bca150>/200/bottleneck/dim0_1755011264/hall_of_fame.csv
[ Info: Started!
Expressions evaluated per second: 2.460e+02
Progress: 67 / 6200 total iterations (1.081%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.49235
5           5.153e-01  7.091e-02  y = (dy * 0.29748) * r
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.285e-01  6.463e-02  y = dy + ((dx + dy) * -0.37027)
9           2.515e-01  2.665e-01  y = r * ((dx * -0.21555) + (dy * 0.33688))
10          1.611e-01  4.455e-01  y = log(r) * ((dx * -0.66207) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.190e+03
Progress: 268 / 6200 total iterations (4.323%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.49235
4           5.938e-01  2.581e-05  y = inv(2.062) * dy
5           5.153e-01  1.418e-01  y = (dy * 0.29748) * r
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.285e-01  6.463e-02  y = dy + ((dx + dy) * -0.37027)
9           2.515e-01  2.665e-01  y = r * ((dx * -0.21555) + (dy * 0.33688))
10          1.611e-01  4.455e-01  y = log(r) * ((dx * -0.66207) + dy)
14          1.472e-01  2.257e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.360e+03
Progress: 439 / 6200 total iterations (7.081%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.49235
4           5.938e-01  2.581e-05  y = inv(2.062) * dy
5           5.153e-01  1.418e-01  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.515e-01  2.610e-01  y = r * ((dx * -0.21555) + (dy * 0.33688))
10          1.600e-01  4.519e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.570e+03
Progress: 668 / 6200 total iterations (10.774%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.48519
4           5.938e-01  5.960e-08  y = inv(2.0607) * dy
5           5.153e-01  1.418e-01  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.498e-01  2.644e-01  y = r * ((dy * 0.32751) + (dx * -0.21587))
10          1.600e-01  4.452e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.960e+03
Progress: 880 / 6200 total iterations (14.194%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.48519
4           5.938e-01  5.960e-08  y = inv(2.0607) * dy
5           5.153e-01  1.418e-01  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.498e-01  2.644e-01  y = r * ((dy * 0.32751) + (dx * -0.21587))
10          1.600e-01  4.452e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.860e+03
Progress: 1040 / 6200 total iterations (16.774%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.48519
4           5.938e-01  5.960e-08  y = inv(2.0607) * dy
5           5.153e-01  1.418e-01  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.498e-01  2.644e-01  y = r * ((dy * 0.32751) + (dx * -0.21587))
10          1.600e-01  4.452e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.990e+03
Progress: 1269 / 6200 total iterations (20.468%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.48526
5           5.153e-01  7.090e-02  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.498e-01  2.644e-01  y = r * ((dy * 0.32751) + (dx * -0.21587))
10          1.600e-01  4.452e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.940e+03
Progress: 1471 / 6200 total iterations (23.726%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = dy * 0.48526
4           5.938e-01  2.265e-06  y = inv(2.0564) * dy
5           5.153e-01  1.418e-01  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.493e-01  2.653e-01  y = (r * ((dx * -0.68518) + dy)) * 0.32271
10          1.600e-01  4.433e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
23          1.409e-01  4.858e-03  y = (dy + (-0.47346 * (dx + ((dx + (-0.019863 * inv(inv(0....
                                      45991)))) * inv(inv(inv(r))))))) * log(r)
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.820e+03
Progress: 1643 / 6200 total iterations (26.500%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.153e-01  7.090e-02  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.489e-01  2.660e-01  y = ((dy + (dx * -0.68761)) * 0.32469) * r
10          1.600e-01  4.418e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.598e-01  7.646e-04  y = (log(r) * (dy + (dx * -0.6916))) + -0.0039971
14          1.472e-01  4.116e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
17          1.408e-01  1.462e-02  y = (dy + (-0.47346 * (dx + (dx * inv(inv(inv(r))))))) * l...
                                      og(r)
21          1.392e-01  2.904e-03  y = (((dx * -0.76018) + ((r + 0.41122) * (inv(inv(inv(r)))...
                                       * dy))) * log(r)) * 0.811
23          1.292e-01  3.745e-02  y = inv(inv(log(r) * (dy + ((dx + ((dx + (dy * -0.3687)) *...
                                       inv(inv(inv(r))))) * -0.47346))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.970e+03
Progress: 1871 / 6200 total iterations (30.177%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.153e-01  7.090e-02  y = (dy * r) * 0.28917
6           4.571e-01  1.198e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.489e-01  2.660e-01  y = ((dy + (dx * -0.68761)) * 0.32469) * r
10          1.600e-01  4.418e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.597e-01  1.025e-03  y = ((dx * -0.68422) + (dy + -0.029128)) * log(r)
14          1.472e-01  4.090e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
21          1.291e-01  1.451e-02  y = inv(inv((dy + (((((dy * -0.38375) + dx) * inv(r)) + dx...
                                      ) * -0.47346)) * log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.870e+03
Progress: 2051 / 6200 total iterations (33.081%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.489e-01  2.660e-01  y = ((dy + (dx * -0.68761)) * 0.32469) * r
10          1.600e-01  4.418e-01  y = ((dx * -0.68278) + dy) * log(r)
12          1.597e-01  1.025e-03  y = ((dx * -0.68422) + (dy + -0.029128)) * log(r)
14          1.472e-01  4.090e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
21          1.137e-01  3.571e-02  y = inv(inv(log(r) * (((dx * -0.68234) + dy) + (((inv(r) +...
                                       -0.44753) * 0.8025) * dy))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.800e+03
Progress: 2229 / 6200 total iterations (35.952%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.238e-01  7.573e-02  y = (dy * 0.64352) + (dx * -0.43294)
9           2.488e-01  2.663e-01  y = (r * ((dx * -0.69328) + dy)) * 0.33278
10          1.600e-01  4.413e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.597e-01  1.051e-03  y = (((dx * -0.67921) + -0.02745) + dy) * log(r)
14          1.472e-01  4.087e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
17          8.299e-02  2.644e-01  y = log(r) * ((dy + (dx * -0.67278)) * (inv(r + 1.9502) * ...
                                      4.3507))
25          8.277e-02  3.240e-04  y = (inv(r + ((((r + r) + r) + -1.3858) * -0.23397)) * (dy...
                                       + (dx * -0.68073))) * inv(inv(log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.940e+03
Progress: 2451 / 6200 total iterations (39.532%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.235e-01  7.630e-02  y = (dx * -0.4317) + (dy * 0.63844)
9           2.488e-01  2.661e-01  y = (r * ((dx * -0.69328) + dy)) * 0.33278
10          1.600e-01  4.413e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          1.340e-01  4.977e-02  y = ((dx * -0.69502) + dy) * inv((inv(log(r)) * 0.6834) + ...
                                      0.23787)
17          8.061e-02  5.082e-01  y = inv(inv(log(r))) * ((inv(r) + 0.56078) * ((dx * -0.670...
                                      87) + dy))
19          6.621e-02  9.841e-02  y = (((dx * -0.69) + dy) * (inv(r + 0.13282) + 0.58238)) *...
                                       inv(inv(log(r)))
25          3.911e-02  8.773e-02  y = (inv(r) + ((inv(r * inv(m_one)) + -5.5894) * -0.11243)...
                                      ) * (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.830e+03
Progress: 2629 / 6200 total iterations (42.403%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.232e-01  7.706e-02  y = ((dx * -0.67537) + dy) * 0.59719
9           2.488e-01  2.657e-01  y = (r * ((dx * -0.69328) + dy)) * 0.33278
10          1.600e-01  4.413e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          1.340e-01  4.977e-02  y = ((dx * -0.69502) + dy) * inv((inv(log(r)) * 0.6834) + ...
                                      0.23787)
17          8.061e-02  5.082e-01  y = inv(inv(log(r))) * ((inv(r) + 0.56078) * ((dx * -0.670...
                                      87) + dy))
19          6.621e-02  9.841e-02  y = (((dx * -0.69) + dy) * (inv(r + 0.13282) + 0.58238)) *...
                                       inv(inv(log(r)))
25          3.911e-02  8.773e-02  y = (inv(r) + ((inv(r * inv(m_one)) + -5.5894) * -0.11243)...
                                      ) * (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.880e+03
Progress: 2835 / 6200 total iterations (45.726%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.232e-01  7.706e-02  y = ((dx * -0.67537) + dy) * 0.59719
9           2.488e-01  2.657e-01  y = (r * ((dx * -0.69328) + dy)) * 0.33278
10          1.600e-01  4.413e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          1.340e-01  4.977e-02  y = ((dx * -0.69502) + dy) * inv((inv(log(r)) * 0.6834) + ...
                                      0.23787)
17          8.061e-02  5.082e-01  y = inv(inv(log(r))) * ((inv(r) + 0.56078) * ((dx * -0.670...
                                      87) + dy))
19          6.501e-02  1.075e-01  y = (inv(r + 0.099875) + 0.59037) * (((dx * -0.68511) + dy...
                                      ) * inv(inv(log(r))))
24          3.911e-02  1.016e-01  y = (inv(r) + (((m_one * inv(r)) + -5.5894) * -0.11243)) *...
                                       (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.930e+03
Progress: 3031 / 6200 total iterations (48.887%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.232e-01  7.706e-02  y = ((dx * -0.67537) + dy) * 0.59719
9           2.486e-01  2.660e-01  y = (((-0.69071 * dx) + dy) * r) * 0.33278
10          1.600e-01  4.405e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          8.469e-02  5.086e-01  y = (dy + (dx * -0.69502)) * inv((inv(log(r)) + 0.41105) *...
                                       0.72596)
17          8.061e-02  4.941e-02  y = inv(inv(log(r))) * ((inv(r) + 0.56078) * ((dx * -0.670...
                                      87) + dy))
19          6.501e-02  1.075e-01  y = (inv(r + 0.099875) + 0.59037) * (((dx * -0.68511) + dy...
                                      ) * inv(inv(log(r))))
24          3.911e-02  1.016e-01  y = (inv(r) + (((m_one * inv(r)) + -5.5894) * -0.11243)) *...
                                       (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.790e+03
Progress: 3190 / 6200 total iterations (51.452%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.486e-01  2.657e-01  y = (((-0.69071 * dx) + dy) * r) * 0.33278
10          1.600e-01  4.405e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          8.469e-02  5.086e-01  y = (dy + (dx * -0.69502)) * inv((inv(log(r)) + 0.41105) *...
                                       0.72596)
17          8.061e-02  4.941e-02  y = inv(inv(log(r))) * ((inv(r) + 0.56078) * ((dx * -0.670...
                                      87) + dy))
19          6.501e-02  1.075e-01  y = (inv(r + 0.099875) + 0.59037) * (((dx * -0.68511) + dy...
                                      ) * inv(inv(log(r))))
21          6.490e-02  8.824e-04  y = ((0.59037 + inv(r + (0.1408 * 0.75904))) * ((dx * -0.6...
                                      8511) + dy)) * inv(inv(log(r)))
24          3.911e-02  1.688e-01  y = (inv(r) + (((m_one * inv(r)) + -5.5894) * -0.11243)) *...
                                       (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.830e+03
Progress: 3398 / 6200 total iterations (54.806%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.486e-01  2.657e-01  y = (((-0.69071 * dx) + dy) * r) * 0.33278
10          1.600e-01  4.405e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          8.357e-02  5.219e-01  y = inv((inv(log(r)) + 0.4005) * 0.72915) * (dy + (dx * -0...
                                      .68496))
17          8.035e-02  3.932e-02  y = (inv(inv(log(r))) * (inv(r) + 0.56856)) * (dy + (dx * ...
                                      -0.68233))
19          6.494e-02  1.064e-01  y = ((inv(r + 0.09624) + 0.58076) * ((dx * -0.68046) + dy)...
                                      ) * inv(inv(log(r)))
21          5.126e-02  1.183e-01  y = ((0.59037 + inv(r + (0.1408 * m_one))) * ((dx * -0.685...
                                      11) + dy)) * inv(inv(log(r)))
23          4.473e-02  6.810e-02  y = ((inv(r) + (((m_one * 0.52483) + -5.5894) * -0.11243))...
                                       * ((dx * -0.68233) + dy)) * inv(inv(log(r)))
24          3.911e-02  1.342e-01  y = (inv(r) + (((m_one * inv(r)) + -5.5894) * -0.11243)) *...
                                       (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.850e+03
Progress: 3594 / 6200 total iterations (57.968%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.662e-01  y = (dy + (dx * -0.68584)) * (r * 0.33089)
10          1.600e-01  4.395e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          1.408e-01  4.387e-02  y = (dy + (-0.47346 * (dx + (dx * inv(r))))) * log(r)
16          8.357e-02  5.219e-01  y = inv((inv(log(r)) + 0.4005) * 0.72915) * (dy + (dx * -0...
                                      .68496))
17          8.035e-02  3.932e-02  y = (inv(inv(log(r))) * (inv(r) + 0.56856)) * (dy + (dx * ...
                                      -0.68233))
19          5.126e-02  2.248e-01  y = (0.59037 + inv(r + (0.1408 * m_one))) * (((dx * -0.685...
                                      11) + dy) * log(r))
23          4.473e-02  3.405e-02  y = ((inv(r) + (((m_one * 0.52483) + -5.5894) * -0.11243))...
                                       * ((dx * -0.68233) + dy)) * inv(inv(log(r)))
24          3.911e-02  1.342e-01  y = (inv(r) + (((m_one * inv(r)) + -5.5894) * -0.11243)) *...
                                       (((dx * -0.68233) + dy) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.780e+03
Progress: 3768 / 6200 total iterations (60.774%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.663e-01  y = (r * (dy + (dx * -0.67549))) * 0.33089
10          1.600e-01  4.393e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.591e-01  2.865e-03  y = (((dx * -0.68879) + dy) * log(r)) + -0.020313
14          1.472e-01  3.905e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.035e-02  6.051e-01  y = (log(r) * (0.56856 + inv(r))) * (dy + (dx * -0.68233))
17          7.964e-02  4.447e-03  y = (log(r) * ((0.56856 + inv(r)) * ((dx * -0.68233) + dy)...
                                      )) * 0.98854
19          5.126e-02  2.203e-01  y = (0.59037 + inv(r + (0.1408 * m_one))) * (((dx * -0.685...
                                      11) + dy) * log(r))
23          4.473e-02  3.405e-02  y = ((inv(r) + (((m_one * 0.52483) + -5.5894) * -0.11243))...
                                       * ((dx * -0.68233) + dy)) * inv(inv(log(r)))
24          3.911e-02  1.342e-01  y = (inv(r) + (((m_one * inv(r)) + -5.5894) * -0.11243)) *...
                                       (((dx * -0.68233) + dy) * inv(inv(log(r))))
25          3.896e-02  3.990e-03  y = ((inv(r) + (-0.11243 * (inv(-0.17925) + (m_one * inv(r...
                                      ))))) * (dy + (-0.68233 * dx))) * inv(inv(log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.900e+03
Progress: 3986 / 6200 total iterations (64.290%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.663e-01  y = (r * (dy + (dx * -0.67549))) * 0.33089
10          1.600e-01  4.393e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.590e-01  3.139e-03  y = (log(r) * (dy + (dx * -0.6814))) + -0.021053
14          1.472e-01  3.878e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.035e-02  6.051e-01  y = (log(r) * (0.56856 + inv(r))) * (dy + (dx * -0.68233))
17          6.640e-02  9.533e-02  y = ((0.59037 + inv(r + 0.1408)) * (dy + (dx * -0.68511)))...
                                       * log(r)
19          5.126e-02  1.294e-01  y = (0.59037 + inv(r + (0.1408 * m_one))) * (((dx * -0.685...
                                      11) + dy) * log(r))
21          4.964e-02  1.600e-02  y = ((dy + (dx * -0.67716)) * (((m_one + -10.46) * -0.0637...
                                      07) + inv(r))) * inv(inv(log(r)))
23          4.424e-02  5.760e-02  y = (((dx * -0.68191) + dy) * inv(inv(log(r)))) * ((((m_on...
                                      e * 0.098088) + -1.0676) * -0.59895) + inv(r))
24          3.896e-02  1.272e-01  y = ((inv(r) + (((m_one * inv(r)) + -5.5788) * -0.11243)) ...
                                      * (dy + (dx * -0.68233))) * inv(inv(log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.890e+03
Progress: 4185 / 6200 total iterations (67.500%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.663e-01  y = (r * (dy + (dx * -0.67549))) * 0.33089
10          1.600e-01  4.393e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.590e-01  3.139e-03  y = (log(r) * (dy + (dx * -0.6814))) + -0.021053
14          1.472e-01  3.878e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.035e-02  6.051e-01  y = (log(r) * (0.56856 + inv(r))) * (dy + (dx * -0.68233))
17          6.535e-02  1.033e-01  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          5.126e-02  1.214e-01  y = (0.59037 + inv(r + (0.1408 * m_one))) * (((dx * -0.685...
                                      11) + dy) * log(r))
21          4.432e-02  7.272e-02  y = inv(inv(log(r))) * ((dy + (dx * -0.67712)) * ((m_one *...
                                       -0.060544) + (inv(r) + 0.63863)))
23          4.290e-02  1.623e-02  y = ((dy + ((dx * -0.68588) + -0.023889)) * ((m_one * -0.0...
                                      60462) + (inv(r) + 0.63655))) * inv(inv(log(r)))
24          3.896e-02  9.650e-02  y = ((inv(r) + (((m_one * inv(r)) + -5.5788) * -0.11243)) ...
                                      * (dy + (dx * -0.68233))) * inv(inv(log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.830e+03
Progress: 4359 / 6200 total iterations (70.306%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.663e-01  y = (r * (dy + (dx * -0.67549))) * 0.33089
10          1.600e-01  4.393e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.590e-01  3.139e-03  y = (log(r) * (dy + (dx * -0.6814))) + -0.021053
14          1.472e-01  3.878e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.024e-02  6.065e-01  y = ((dy + (dx * -0.67879)) * log(r)) * (inv(r) + 0.56109)
17          6.535e-02  1.026e-01  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          5.126e-02  1.214e-01  y = (0.59037 + inv(r + (0.1408 * m_one))) * (((dx * -0.685...
                                      11) + dy) * log(r))
21          4.432e-02  7.272e-02  y = inv(inv(log(r))) * ((dy + (dx * -0.67712)) * ((m_one *...
                                       -0.060544) + (inv(r) + 0.63863)))
23          4.290e-02  1.623e-02  y = ((dy + ((dx * -0.68588) + -0.023889)) * ((m_one * -0.0...
                                      60462) + (inv(r) + 0.63655))) * inv(inv(log(r)))
24          3.896e-02  9.650e-02  y = ((inv(r) + (((m_one * inv(r)) + -5.5788) * -0.11243)) ...
                                      * (dy + (dx * -0.68233))) * inv(inv(log(r)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.960e+03
Progress: 4579 / 6200 total iterations (73.855%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (dy * 0.29378) * r
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.663e-01  y = (r * (dy + (dx * -0.67549))) * 0.33089
10          1.600e-01  4.393e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.588e-01  3.679e-03  y = ((dx * -0.68511) + dy) * (log(r) + 0.016435)
14          1.472e-01  3.824e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.024e-02  6.065e-01  y = ((dy + (dx * -0.67879)) * log(r)) * (inv(r) + 0.56109)
17          6.535e-02  1.026e-01  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          5.126e-02  1.214e-01  y = (0.59037 + inv(r + (0.1408 * m_one))) * (((dx * -0.685...
                                      11) + dy) * log(r))
21          4.060e-02  1.165e-01  y = -0.023889 + ((0.63655 + ((m_one * -0.060462) + inv(r))...
                                      ) * (log(r) * (dy + (dx * -0.68588))))
23          3.509e-02  7.288e-02  y = (inv(inv(log(r))) * (((dx * -0.68009) + dy) * (inv(r) ...
                                      + ((m_one * -0.079092) + 0.97517)))) * 0.76663
25          3.253e-02  3.801e-02  y = ((inv(inv(log(r))) * (((inv(r) + (m_one * -0.096992)) ...
                                      + 1.0588) * (dy + (dx * -0.68675)))) + -0.022434) * 0.7325
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.900e+03
Progress: 4751 / 6200 total iterations (76.629%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.663e-01  y = (r * (dy + (dx * -0.67549))) * 0.33089
10          1.600e-01  4.393e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.588e-01  3.679e-03  y = ((dx * -0.68511) + dy) * (log(r) + 0.016435)
14          1.472e-01  3.824e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.024e-02  6.065e-01  y = ((dy + (dx * -0.67879)) * log(r)) * (inv(r) + 0.56109)
17          6.535e-02  1.026e-01  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          4.463e-02  1.907e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          4.039e-02  4.987e-02  y = ((dy + (dx * -0.68194)) * (log(r) * (inv(r) + ((m_one ...
                                      * -0.06708) + 0.64609)))) + -0.017611
23          2.824e-02  1.789e-01  y = ((dx * -0.69039) + dy) * ((((m_one * -0.057471) + inv(...
                                      r + 0.09244)) + 0.64484) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.830e+03
Progress: 4947 / 6200 total iterations (79.790%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.664e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.588e-01  3.679e-03  y = ((dx * -0.68511) + dy) * (log(r) + 0.016435)
14          1.472e-01  3.824e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.024e-02  6.065e-01  y = ((dy + (dx * -0.67879)) * log(r)) * (inv(r) + 0.56109)
17          6.535e-02  1.026e-01  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          4.463e-02  1.907e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.824e-02  2.287e-01  y = (((dx * -0.69039) + dy) * ((m_one * -0.057471) + (inv(...
                                      0.09244 + r) + 0.64484))) * log(r)
23          2.767e-02  1.028e-02  y = ((dx * -0.67701) + dy) * ((((m_one * -0.057769) + inv(...
                                      r + 0.10042)) + 0.65937) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.970e+03
Progress: 5170 / 6200 total iterations (83.387%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.664e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          1.586e-01  4.324e-03  y = (log(r) + 0.016435) * ((dx * -0.67581) + dy)
14          1.472e-01  3.759e-02  y = log(r) * ((dx * ((r * 0.10504) + -0.93021)) + dy)
15          8.024e-02  6.065e-01  y = ((dy + (dx * -0.67879)) * log(r)) * (inv(r) + 0.56109)
17          6.535e-02  1.026e-01  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          4.463e-02  1.907e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.824e-02  2.287e-01  y = (((dx * -0.69039) + dy) * ((m_one * -0.057471) + (inv(...
                                      0.09244 + r) + 0.64484))) * log(r)
23          2.767e-02  1.028e-02  y = ((dx * -0.67701) + dy) * ((((m_one * -0.057769) + inv(...
                                      r + 0.10042)) + 0.65937) * inv(inv(log(r))))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.890e+03
Progress: 5350 / 6200 total iterations (86.290%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.664e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          6.629e-02  4.406e-01  y = ((dx * -0.68857) + dy) * ((inv(r) + -0.99609) * -1.463...
                                      4)
17          6.535e-02  2.869e-03  y = (((dx * -0.67315) + dy) * log(r)) * (inv(r + 0.11065) ...
                                      + 0.59312)
19          4.463e-02  1.907e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.785e-02  2.358e-01  y = ((dy + (dx * -0.68641)) * ((inv(r + 0.12279) + (m_one ...
                                      * -0.0621)) + 0.66113)) * log(r)
23          2.725e-02  1.089e-02  y = ((dx * -0.68057) + dy) * (inv(inv(log(r))) * (inv(r + ...
                                      0.10656) + ((m_one * -0.057445) + 0.65634)))
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.900e+03
Progress: 5551 / 6200 total iterations (89.532%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
9           2.483e-01  2.664e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          6.629e-02  4.406e-01  y = ((dx * -0.68857) + dy) * ((inv(r) + -0.99609) * -1.463...
                                      4)
17          6.496e-02  4.064e-03  y = (((dx * -0.68419) + dy) * (inv(r + 0.11438) + 0.58503)...
                                      ) * log(r)
19          4.463e-02  1.877e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.785e-02  2.358e-01  y = ((dy + (dx * -0.68641)) * ((inv(r + 0.12279) + (m_one ...
                                      * -0.0621)) + 0.66113)) * log(r)
23          2.654e-02  2.408e-02  y = (((dy + (dx * -0.68641)) * ((inv(r + 0.12279) + (m_one...
                                       * -0.0621)) + 0.66113)) * log(r)) + -0.028268
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.980e+03
Progress: 5770 / 6200 total iterations (93.065%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
8           4.229e-01  7.510e-05  y = inv(1.6366) * (dy + (dx * -0.67537))
9           2.483e-01  5.327e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          6.629e-02  4.406e-01  y = ((dx * -0.68857) + dy) * ((inv(r) + -0.99609) * -1.463...
                                      4)
17          6.496e-02  4.064e-03  y = (((dx * -0.68419) + dy) * (inv(r + 0.11438) + 0.58503)...
                                      ) * log(r)
19          4.463e-02  1.877e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.785e-02  2.358e-01  y = ((dy + (dx * -0.68641)) * ((inv(r + 0.12279) + (m_one ...
                                      * -0.0621)) + 0.66113)) * log(r)
23          2.032e-02  1.575e-01  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * log(r)) * (dy + (dx * -0.6844))) + -0.01463
25          1.992e-02  1.003e-02  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * (log(r) + 0.0025229)) * (dy + (dx * -0.6844))) + -0.014...
                                      63
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.850e+03
Progress: 5939 / 6200 total iterations (95.790%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
8           4.229e-01  7.510e-05  y = inv(1.6366) * (dy + (dx * -0.67537))
9           2.483e-01  5.327e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          6.629e-02  4.406e-01  y = ((dx * -0.68857) + dy) * ((inv(r) + -0.99609) * -1.463...
                                      4)
17          6.496e-02  4.064e-03  y = (((dx * -0.68419) + dy) * (inv(r + 0.11438) + 0.58503)...
                                      ) * log(r)
19          4.463e-02  1.877e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.763e-02  2.398e-01  y = ((dy + (dx * -0.68641)) * ((inv(r + 0.11464) + (m_one ...
                                      * -0.0621)) + 0.66113)) * log(r)
23          2.032e-02  1.535e-01  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * log(r)) * (dy + (dx * -0.6844))) + -0.01463
25          1.992e-02  1.003e-02  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * (log(r) + 0.0025229)) * (dy + (dx * -0.6844))) + -0.014...
                                      63
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.

Expressions evaluated per second: 1.880e+03
Progress: 6153 / 6200 total iterations (99.242%)
════════════════════════════════════════════════════════════════════════════════════════════════════
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
8           4.229e-01  7.510e-05  y = inv(1.6366) * (dy + (dx * -0.67537))
9           2.483e-01  5.327e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          6.629e-02  4.406e-01  y = ((dx * -0.68857) + dy) * ((inv(r) + -0.99609) * -1.463...
                                      4)
17          6.496e-02  4.064e-03  y = (((dx * -0.68419) + dy) * (inv(r + 0.11438) + 0.58503)...
                                      ) * log(r)
19          4.463e-02  1.877e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.763e-02  2.398e-01  y = ((dy + (dx * -0.68641)) * ((inv(r + 0.11464) + (m_one ...
                                      * -0.0621)) + 0.66113)) * log(r)
23          2.032e-02  1.535e-01  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * log(r)) * (dy + (dx * -0.6844))) + -0.01463
25          1.992e-02  1.003e-02  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * (log(r) + 0.0025229)) * (dy + (dx * -0.6844))) + -0.014...
                                      63
───────────────────────────────────────────────────────────────────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════════════════════════
Press 'q' and then <enter> to stop execution early.
[ Info: Final population:
[ Info: Results saved to:
───────────────────────────────────────────────────────────────────────────────────────────────────
Complexity  Loss       Score      Equation
1           7.499e-01  0.000e+00  y = -0.018139
3           5.938e-01  1.167e-01  y = 0.48685 * dy
5           5.152e-01  7.095e-02  y = (r * dy) * 0.29378
6           4.571e-01  1.197e-01  y = log(r) * dy
7           4.229e-01  7.771e-02  y = (dy + (dx * -0.67537)) * 0.60805
8           4.229e-01  7.510e-05  y = inv(1.6366) * (dy + (dx * -0.67537))
9           2.483e-01  5.327e-01  y = (r * ((dx * -0.67537) + dy)) * 0.3347
10          1.600e-01  4.392e-01  y = (dy + (dx * -0.6814)) * log(r)
12          6.629e-02  4.406e-01  y = ((dx * -0.68857) + dy) * ((inv(r) + -0.99609) * -1.463...
                                      4)
17          6.496e-02  4.064e-03  y = (((dx * -0.68419) + dy) * (inv(r + 0.11438) + 0.58503)...
                                      ) * log(r)
19          4.463e-02  1.877e-01  y = log(r) * (((0.63655 + inv(r)) + (m_one * -0.060462)) *...
                                       ((dx * -0.68588) + dy))
21          2.763e-02  2.398e-01  y = ((dy + (dx * -0.68641)) * ((inv(r + 0.11464) + (m_one ...
                                      * -0.0621)) + 0.66113)) * log(r)
23          2.032e-02  1.535e-01  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * log(r)) * (dy + (dx * -0.6844))) + -0.01463
25          1.992e-02  1.003e-02  y = (((inv(r + 0.11464) + ((m_one * -0.058595) + 0.66187))...
                                       * (log(r) + 0.0025229)) * (dy + (dx * -0.6844))) + -0.014...
                                      63
───────────────────────────────────────────────────────────────────────────────────────────────────
💡Best equation for output 1 found to be ((dy + (dx * -0.68640983)) * ((inv(r + 0.11463512) + (m_one * -0.06210003)) + 0.66113216)) * log(r).
❤️ SR on bottleneck complete.
  - pysr_objects/<torch_geometric.loader.dataloader.DataLoader object at 0x785cd8bca150>/200/bottleneck/dim1_1755011264/hall_of_fame.csv
# Save the model with the equations
os.makedirs('symtorch_data', exist_ok = True)
model.edge_model.save_model('symtorch_model')
✅ Saved PyTorch model state to symtorch_model_pytorch.pth
✅ Saved model metadata to symtorch_model_metadata.pkl
✅ Saved regressor for dimension 0 to symtorch_model_regressor_dim0.pkl
✅ Saved regressor for dimension 1 to symtorch_model_regressor_dim1.pkl
✅ Saved 2 PySR regressors
🎯 Model save complete. Created 4 files with base name: symtorch_model
/usr/local/lib/python3.11/dist-packages/pysr/sr.py:1270: UserWarning: `extra_sympy_mappings` cannot be pickled and will be removed from the serialized instance. When loading the model, please redefine `extra_sympy_mappings` at runtime.
  warnings.warn(warn_msg)
['symtorch_model_pytorch.pth',
 'symtorch_model_metadata.pkl',
 'symtorch_model_regressor_dim0.pkl',
 'symtorch_model_regressor_dim1.pkl']
# Load the model
loaded_model = MLP_SR.load_model('symtorch_model')
📂 Loading MLP_SR model: bottleneck
✅ Loaded regressor for dimension 0
✅ Loaded regressor for dimension 1
✅ Loaded 2 PySR regressors
🎯 Model loading complete: bottleneck

We cannot say what precise equation that we will reconstruct. Also reconstruction is not always possible. See the results on what simulations/model types were successful:

image.png