This simulation makes "a system that optimizes its own logical structure" concrete: the object being optimized is not a set of numbers but a small program — an expression tree of operators and constants over a variable x. Each generation it proposes an edit to its own structure (replace a subtree, perturb a constant, swap an operator, wrap or simplify a node), scores the edit by how much closer the tree's output curve gets to a chosen target function, and accepts or rejects the edit with a simulated-annealing rule that lets it explore broadly while temperature is high and settle into a refined structure as temperature cools. The 3D tree, its live node/edge structure, and the converging output curve make the self-modification and the optimization dynamics directly visible.