[{"data":1,"prerenderedAt":20},["ShallowReactive",2],{"chapter:teenygrad\u002Fcompiler-internals\u002Foptimizer.json":3},{"project":4,"route":5,"title":6,"titleHtml":6,"navTitle":6,"part":7,"sourcePath":8,"editUrl":9,"html":10,"toc":11,"hasMermaid":12,"prev":13,"next":17},"teenygrad","\u002Fteenygrad\u002Fcompiler-internals\u002Foptimizer","The egg\u002Fz3 Optimizer","Compiler Internals","compiler-internals\u002Foptimizer.md","https:\u002F\u002Fgithub.com\u002Fteenygrad\u002Fteenygrad\u002Fedit\u002Fmain\u002Fbooks\u002Fteenygrad\u002Fsrc\u002Fcompiler-internals\u002Foptimizer.md","\u003Cp>\u003Ccode>teeny-compiler\u003C\u002Fcode> depends on \u003Ca href=\"https:\u002F\u002Fdocs.rs\u002Fegg\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Ccode>egg\u003C\u002Fcode>\u003C\u002Fa> (e-graph based equality saturation) for\ngraph-level optimization\u002Frewriting as part of the FXGraph compilation pipeline (see\n\u003Ca href=\"\u002Fteenygrad\u002Fcore-concepts\u002Fcompilation-flow\">Compilation Flow\u003C\u002Fa>). \u003Ccode>teeny-fxgraph\u003C\u002Fcode> and \u003Ccode>teeny-torch\u003C\u002Fcode> also\ndepend on \u003Ccode>egg\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Ccode>z3\u003C\u002Fcode> (SMT solving) is referenced in project documentation as a planned complement to \u003Ccode>egg\u003C\u002Fcode> for\noptimization, but is not currently wired up as a dependency of any workspace crate — treat it as\nroadmap, not shipped functionality, until a \u003Ccode>z3\u003C\u002Fcode> dependency actually appears in a \u003Ccode>Cargo.toml\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>TODO\u003C\u002Fstrong>: document the specific e-graph rewrite rules and what they optimize for, once this\nlayer has enough surface area to be worth a dedicated walkthrough.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n",[],false,{"title":14,"titleHtml":15,"route":16},"The #[kernel] Macro","The \u003Ccode>#[kernel]\u003C\u002Fcode> Macro","\u002Fteenygrad\u002Fkernels-and-backends\u002Fkernel-macro",{"title":18,"titleHtml":18,"route":19},"The LLVM\u002FMLIR Backend","\u002Fteenygrad\u002Fcompiler-internals\u002Fllvm-backend",1786271829005]