function rnd_btw(min, max) {return fxrand() * (max - min) + min;}
function rnd_btw2(min, max) {return fxrand() * (max - min) + min;}
function rnd_btw3(min, max) {return fxrand() * (max - min) + min;}
function rnd_btw4(min, max) {return fxrand() * (max - min) + min;}
function rnd_btwexp(min, max) {return fxrand()**2 * (max - min) + min;}
function rnd_int(min, max) {min = Math.ceil(min);max = Math.floor(max);return Math.floor(fxrand() * (max - min + 1)) + min;}
osc1a=rnd_btw(1,45)
osc2a=rnd_btw2(1,6)
osc3a=rnd_btw3(0.1,1.5)
osc1b=rnd_btw4(0.05,0.8)
osc1c=rnd_btwexp(1,100)
osc1d=rnd_int(0.01,1.6)
osc(osc1a, .01, osc1d)
.rotate(osc1c)
.modulate(shape(2, osc1b, osc3a),osc1b)
.scale(1, 1, () => 1)
.out(o1)
osc(osc2a, 0.015, .2)
.modulate(o1, osc3a)
.diff(osc(osc1a,0.01,osc3a)
.rotate(osc1a)
.luma()
)
.diff(osc(osc2a,.01,.3)
.scale(1, 1, () => 1)
).saturate(.2)
.out()