3 shaved 3 bytes

## UberGenes, 3333 30 bytes

=ii+a1=pa=q7*q7=bi=ii+a1=pa=q5=bi-p1=oqp1=oQ:bp=oI=i0

=ii                                  NOP
+a1                               INC a (initially 0)
=pa                               COPY a INTO p
=q7*q7=q5                               SET q=49q=5 (so it points to '1')
=bi                               SET b to this location (15)
-p1                            DEC p
=oq=oQ                            OUTPUT '1'
=oI                               OUTPUT the contents of this location ('=')


## UberGenes, 33 bytes

=ii+a1=pa=q7*q7=bi-p1=oq:bp=oI=i0

=ii                                  NOP
+a1                               INC a (initially 0)
=pa                               COPY a INTO p
=q7*q7                            SET q=49 ('1')
=bi                               SET b to this location (15)
-p1                            DEC p
=oq                            OUTPUT '1'
=oI                               OUTPUT the contents of this location ('=')


## UberGenes, 33 30 bytes

=ii+a1=pa=q5=bi-p1=oQ:bp=oI=i0

=ii                                  NOP
+a1                               INC a (initially 0)
=pa                               COPY a INTO p
=q5                               SET q=5 so it points to '1'
=bi                               SET b to this location (15)
-p1                            DEC p
=oQ                            OUTPUT '1'
=oI                               OUTPUT the contents of this location ('=')

2 Add a short unary version

## UberGenes, 6633 bytes

I'm giving two versions here, just to demonstrate the lang. Integers and memory in UberGenes are bounded only by computer memory, so both versions meet the "forever" requirement. This first one is for score:

=ii+a1=pa=q7*q7=bi-p1=oq:bp=oI=i0


It prints numbers in unary separated by '=' characters. Explanation (indents indicate a loop start):

=ii                                  NOP
+a1                               INC a (initially 0)
=pa                               COPY a INTO p
=q7*q7                            SET q=49 ('1')
=bi                               SET b to this location (15)
-p1                            DEC p
=oq                            OUTPUT '1'
=oI                               OUTPUT the contents of this location ('=')


The second version is more interesting (66 bytes):

=ii+a1=l0-l2=pa=z8*z6=t5*t2=bi=qp%qt+qz=Lq-l1/pt:bp=bi=oL+l1:bL=i0


PrintsIt prints the numbers in decimal separated by NULLs. Integers and memory in UberGenes are bounded only by computer memory, so it meets the "forever" requirement.

## UberGenes, 66 bytes

=ii+a1=l0-l2=pa=z8*z6=t5*t2=bi=qp%qt+qz=Lq-l1/pt:bp=bi=oL+l1:bL=i0


Prints the numbers separated by NULLs. Integers and memory in UberGenes are bounded only by computer memory, so it meets the "forever" requirement.

## UberGenes, 33 bytes

I'm giving two versions here, just to demonstrate the lang. Integers and memory in UberGenes are bounded only by computer memory, so both versions meet the "forever" requirement. This first one is for score:

=ii+a1=pa=q7*q7=bi-p1=oq:bp=oI=i0


It prints numbers in unary separated by '=' characters. Explanation (indents indicate a loop start):

=ii                                  NOP
+a1                               INC a (initially 0)
=pa                               COPY a INTO p
=q7*q7                            SET q=49 ('1')
=bi                               SET b to this location (15)
-p1                            DEC p
=oq                            OUTPUT '1'
=oI                               OUTPUT the contents of this location ('=')


The second version is more interesting (66 bytes):

=ii+a1=l0-l2=pa=z8*z6=t5*t2=bi=qp%qt+qz=Lq-l1/pt:bp=bi=oL+l1:bL=i0


It prints the numbers in decimal separated by NULLs.

1

## UberGenes, 66 bytes

=ii+a1=l0-l2=pa=z8*z6=t5*t2=bi=qp%qt+qz=Lq-l1/pt:bp=bi=oL+l1:bL=i0


Prints the numbers separated by NULLs. Integers and memory in UberGenes are bounded only by computer memory, so it meets the "forever" requirement.

How it works (indents indicate a loop start):

=ii                                  NOP
+a1                               INC a (initially 0)
=l0-l2                            SET l=-2
=pa                               COPY a INTO p
=z8*z6                            SET z=48 ('0')
=t5*t2                            SET t=10
=bi                               SET b to this location (27)
=qp                            COPY p INTO q
%qt                            MOD q BY 10
+qz                            ADD 48 to q (turn it into character)
=Lq                            PUT q AT MEM[l]
-l1                            DEC l
/pt                            DIVIDE p by 10
:bp                            JUMP back to b's location if p>0
=bi                               SET b to this location (51)
=oL                            OUTPUT the character in MEM[l]
+l1                            INC l
:bL                            JUMP back to b's location if MEM[l]>0
=i0                               JUMP back to beginning of main loop