Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
/*
 * This file:
 *   https://anggtwu.net/MAXIMA/2026-eval-simp-anim.mac.html
 *   https://anggtwu.net/MAXIMA/2026-eval-simp-anim.mac
 *           (find-angg "MAXIMA/2026-eval-simp-anim.mac")
 * Author: Eduardo Ochs <eduardoochs@gmail.com>
 *
 * (defun e  () (interactive) (find-angg "MAXIMA/2026-eval-simp-anim.mac"))
 * (defun l  () (interactive) (find-angg "MAXIMA/2026-eval-simp-anim.lisp"))
 * (defun lu () (interactive) (find-angg "MAXIMA/2026-eval-simp-anim.lua"))
 *
 * «.trace-f»	(to "trace-f")
*/

/*
** «trace-f»  (to ".trace-f")
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2026-eval-simp-anim.mac");
f(x) := (1+2)*x;
trace(?meval, ?simplifya);
f(4);

*/

load("2026-eval-simp-anim.lisp");

nary("+.");
nary("*.");

obj : f(4);
obj : f(g(a,b),h(c,d));

boxes                :  [];
objb              () := applyboxes(obj, boxes);
pushlp (label, path) := (push(append([label],path), boxes), objb());
popb              () := (pop(boxes), objb());

outboxes             :  [];
Sav              (o) := (push(o, outboxes), o);
sav              (o) := o;

cm          ([path]) := Sav(pushlp('cm, path));
cs          ([path]) := Sav(pushlp('cs, path));
rm          ([path]) := Sav([pop(boxes), pushlp('rm, path), pop(boxes)][2]);
rs          ([path]) := Sav([pop(boxes), pushlp('rs, path), pop(boxes)][2]);
su        (o,[path]) := Sav((obj : apply('substpart, append([o,obj],path)), objb()));


/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2026-eval-simp-anim.mac");

objb();
pushlp('out, [1]);
pushlp('in, [1,2]);
boxes : [];
objb();
cm();
cs(1);
rm(1);
objb();

*/




/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2026-eval-simp-anim.mac");

obj : f(4);
boxes : [];

cm();                   "f(4)"$
 cm(1);                 "4"$
  cs(1);                "4"$
  rs(1);                "4"$
 rm(1);                 "4"$
 su((1 +. 2) *. x);
 cm();                  "(1 + 2) x"$
  cm(1);                "1 + 2"$
   cm(1,1);             "1"$
    cs(1,1);            "1"$
    rs(1,1);            "1"$
   rm(1,1);             "1"$
   cm(1,2);             "2"$
    cs(1,2);            "2"$
    rs(1,2);            "2"$
   rm(1,2);             "2"$
   cs(1);               "1 + 2"$
    cs(1,1);            "1"$
    rs(1,1);            "1"$
    cs(1,2);            "2"$
    rs(1,2);            "2"$
   su(3, 1);
   rs(1);               "3"$
  rm(1);                "3"$
  cm(2);                "x"$
   su(4, 2);
   cs(2);               "4"$
   rs(2);               "4"$
  rm(2);                "4"$
  cs();                 "3 4"$
   cs(1);               "3"$
   rs(1);               "3"$
   cs(2);               "4"$
   rs(2);               "4"$
  su(12);
  rs();                 "12"$
 rm();                  "12"$
 cs();                  "12"$
 rs();                  "12"$
rm();                   "12"$

outboxes : reverse(outboxes);

** (find-angg "MAXIMA/2026-lpp.mac" "ggff")
** (find-angg "MAXIMA/2025-emaxima+.mac")
load       ("~/MAXIMA/2025-emaxima.mac");
linenum:0;
display2d:true$

sa_bigstr : "";
sa_addline("% Generated by:");
sa_addline("% (find-angg \"MAXIMA/2026-eval-simp-anim.mac\")");

nboxes : length(outboxes);
boxname(n) := format("boxes ~s", n);
for i in seq(1,nboxes) do sa(boxname(i), outboxes[i]);

sa_bigstr;
sa_bigstr_writeto("/tmp/o");

*/





/*
 * Local Variables:
 * coding:  utf-8-unix
 * End:
*/