# InsightSR vs PhySO/PySR stack — 1-page compare notes

**Date:** 2026-09-05 · Literature Scout (Prop-01 watch)  
**Scope:** Compare notes only — **no adoption recommendation**.  
**Sources (HTTP 200):** InsightSR [2608.25291](https://arxiv.org/abs/2608.25291) (PDF fetched); PhySO [2303.03192](https://arxiv.org/abs/2303.03192); PySR [2305.01582](https://arxiv.org/abs/2305.01582); SRBench [2107.14351](https://arxiv.org/abs/2107.14351). Codes: [PhySO](https://github.com/WassimTenachi/PhySO), [PySR](https://github.com/MilesCranmer/PySR).

---

## What each thing is

| | **InsightSR** (`2608.25291`) | **PhySO / Φ-SO** (`2303.03192`) | **PySR** (`2305.01582`) |
|--|--|--|--|
| Role | LLM *guiding layer* around PySR | Units-constrained SR engine | Evolutionary SR engine |
| Units handling | LLM Semantic Seed Pathway proposes **dimensionally consistent skeletons**; also audits topologies vs target units (soft / reasoned) | **Hard in-situ units grammar** — only unit-balanced expressions generable by construction | General SR; units not native (can add priors/penalties externally) |
| Core search | Modified PySR on augmented features + seeds | RL (risk-seeking policy gradient) over token sequences | Multi-population evolve–simplify–optimize |
| LLM | Required (seeds, features, strategic feedback loop) | None | None |
| Claimed headline | **95%** exact recovery on Feynman; **80.18%** Acc@0.1 on LLM-SRBench LSR-Transform | SOTA among compared methods under noise on Feynman/SRBench (paper: ~58.5% exact noiseless in their setup; strong ≥0.1–10% noise) | Strong open scientific SR default; EmpiricalBench + SRBench ecosystem |

---

## How they relate (architecture)

```
InsightSR:  LLM ──► semantic seeds + feature transforms ──► PySR search ──► LLM feedback
PhySO:      units mask + RNN policy ──► only dimensionally legal expressions
PySR alone: evolutionary search over operator library (no units core)
```

InsightSR does **not** replace PhySO. It wraps **PySR** and adds *LLM-mediated* dimensional/structural priors. PhySO enforces units as a **hard generative constraint**. Different failure modes: InsightSR can hallucinate bad seeds/features or drift with model endpoints; PhySO can stall when free-constant units are misspecified or priors conflict with length limits.

---

## Comparison axes (for Prop-01 watch)

1. **Units rigor** — PhySO stronger *guarantee* (by construction). InsightSR stronger *flexibility* (LLM can reason about ambiguous units from metadata) but not a formal grammar proof.  
2. **Compute / ops** — InsightSR adds repeated LLM calls (seed, feature, strategic analysis). PhySO/PySR are local CPU/GPU searches. LLM endpoint instability (see lit `2609.04198`) is a risk for InsightSR reproducibility.  
3. **Benchmarks** — InsightSR reports Feynman + LLM-SRBench + some real-world OOD. PhySO reports SRBench Feynman protocol vs ~17 methods. **Numbers are not directly commensurate** (different protocols, noise, expression budgets, recovery definitions). Do not treat 95% vs 58.5% as head-to-head.  
4. **Citation hygiene** — InsightSR text attributes “PhySO (Landajuela et al. 2021)” — that citation chain matches **DSR/uDSR**, not Tenachi–Ibata–Diakogiannis PhySO (`2303.03192`). Flag when reading their related-work section.  
5. **Complementarity hypothesis (untested)** — PhySO hard units *inside* search + InsightSR-style feature/seed proposals *outside* could be synergistic; **not evaluated here**.

---

## Watch items (next continuous steps)

- Reproduce InsightSR Feynman subset **without** trusting LLM endpoints (pin model + seed; log prompts).  
- Same Feynman subset on PhySO and bare PySR under matched eval budget.  
- Score: exact symbolic recovery (SymPy), unit validity rate, wall-clock, expression complexity.  
- Until that runs: keep stack as **PhySO + PySR + SRBench**; treat InsightSR as **watch / optional outer loop**.

---

## Bottom line (explicit non-adoption)

InsightSR is a **PySR outer-loop** that uses LLMs for dimensional skeletons and feature transforms, with strong self-reported Feynman/LLM-SRBench numbers. PhySO remains the **hard units** baseline. PySR remains the **fast open engine**. **No stack change recommended** from this note alone.
