725ms minor changes
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
</style></head><body><canvas id='c' ></canvas></body>
<script>//722ms new record
var inittime=Date.now();var starttime=inittime;
function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
function dump(a)document.writeln(a.toString())
var abs=Math.abs
var cos=Math.cos
var sin=Math.sin
var w=window.innerWidth
var h =window.innerHeight
w=w-w%8;//unroll factor
var halfantiw=w*0.0625;
var halfantih=h*0.0625;
var h8=h*8
var w8=w*8;
var canvas3=document.getElementById('c');
var context=canvas3.getContext("2d");
canvas3.width=window.innerWidth;
canvas3.height=window.innerHeight;
const size=w*h*4
var elsize=w*h;elsize+=(4-(elsize%4))
var wint=[];
for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
var frame = 0;
var i,preycache;
var rs=Float64Array(ArrayBuffer(64));
var ns=Float64Array(ArrayBuffer(64));
var temps=Int32Array(ArrayBuffer(32))
var lvars=Int32Array(ArrayBuffer(32))
var fcos=Float64Array(ArrayBuffer(8*30));
var fsin=Float64Array(ArrayBuffer(8*30));
var preyfsin1cos=Float64Array(ArrayBuffer(h8))
var preyfsin2cos=Float64Array(ArrayBuffer(h8))
var preyfsin3cos=Float64Array(ArrayBuffer(h8))
var preyfsin1sin=Float64Array(ArrayBuffer(h8))
var preyfsin2sin=Float64Array(ArrayBuffer(h8))
var preyfsin3sin=Float64Array(ArrayBuffer(h8))
var prexs1cos=Float64Array(ArrayBuffer(w8))
var prexs2cos=Float64Array(ArrayBuffer(w8))
var prexs3cos=Float64Array(ArrayBuffer(w8))
var hprecos=Float64Array(ArrayBuffer(w8))
var hpresin=Float64Array(ArrayBuffer(w8))
var prodxf1=Array(h)
var prodxs1=Array(h)
for( i=0;i<h;i++){
prodxf1[i]=Float64Array(ArrayBuffer(w8));
prodxs1[i]=Float64Array(ArrayBuffer(w8));
}
var p,p2,p3,p4,p5,p6,i,co
var pc1,pc2,pc3,pc4,pc5,pc6
var ec1,ec2,ec3;
for( i=0;i<h;i++){
p=prodxf1[i];
p4=prodxs1[i]
pc1=preyfsin1cos[i];
pc2=preyfsin2cos[i];
pc3=preyfsin3cos[i];
pc4=preyfsin1sin[i];
pc5=preyfsin2sin[i];
pc6=preyfsin3sin[i];
for(co=0;co<w;co++){
ec1=prexs1cos[co]
ec2=prexs2cos[co]
ec3=prexs3cos[co]
p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
}
function redraw(){
var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2],intload=wint[frame],xfracos=lvars[3]=fcos[frame],xfrasin=lvars[4]=fsin[frame++];
var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
var n1=ns[0],n2=ns[1],n3=ns[2],n4=ns[3],n5=ns[4],n6=ns[5],n7=ns[6],n8=ns[7];
var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7];