I don't know if it's very fast compared to other ways of executing the iterations, because I am as mentioned more or less getting started with TI-BASIC and only the simplest of optimizations are applied! This is the code, either way:

*There might be some typos somewhere, because my linking to the computer seems not to work, so I'm writing it down by hand.*

```
:ClrDraw:FnOff :AxesOff:ClrHome
:Input "X:",A
:Input "Y:",B
:Input "ITERATIONS:",N
:ClrHome
:Input "Xmin(≥0):",Xmin
:Input "Xmax(≥2):",Xmax
:Input "Ymin(≥0):",Ymin
:Input "Ymax(≥2):",Ymax
:If Xmin<0:Then
:0→Xmin
:End
:If Xmax>2:Then
:2→Xmax
:End
:If Ymin<0:Then
:0→Ymin
:End
:If Ymax>2:Then
:2→Ymax
:End
:If Xmin≥Xmax:Then
:0→Xmin
:2→Xmax
:End
:If Ymin≥Ymax:Then
:0→Ymin
:2→Ymax
:End
:startTmr→T
:For(K,1,N
:Text(1,1,"ITER: ",K
:Text(7,1,"TIME: ",checkTmr(T
:randInt(1,3→R
:If R=1:Then
:A/2→A
:B/2→B
:End
:If R=2:Then
:(A+2)/2→A
:B/2→B
:End
:If R=3:Then
:(A+1)/2→A
:(B+2)/2→B
:End
:getKey→E
:getTime
:If E=21:Then
:prgmRESET
:Stop
:End
:If E=105:Then
:Repeat getKey=105
:setTime(Ans(1),Ans(2),Ans(3
:End
:End
:Pt-On(A,B
:End
:DispGraph
:Pause
:ClrDraw
:Text(1,1,"ITERATIONS: ",K-1
:Text(7,1,"TIME: ",checkTmr(T
:Text(13,1,"ITERATIONS PER SECOND: ",(K-1)/checkTmr(T
:Text(19,1,"TIME PER ITERATION: ",checkTmr(T)/(K-1
:Pause
:prgmRESET
```

And prgmRESET is just a small program that looks like this:

```
:ClrDraw
:FnOn
:AxesOn
:ZStandard
:ClrHome:"
```

I imagine the iterations could've been made faster by saying

```
:randInt(1,3→R
:If Ans=1:Then
//And so on...
```

but I haven't cared to look into that kind of optimizing yet. Feel free to give me hints! :)