Converting shader problem

Hello everyone
I have been busy converting this shader for a few days
But unfortunately, no matter what I do, I only get a black image
Changes I made:
Because of this explanation in one of the posts
"Because floatBitsToUint() and uintBitsToFloat(), floatBitsToInt(), intBitsToFloat() is not as stable of an operation as one would hope.

In particular, if you are generating an integer ID that you want to encode as a float to be saved out into a floating point buffer, you need to make sure it doesn’t create a value that would create undefined values ​​​​with uintBitsToFloat().
In particular, you can’t have a set of bits that would create NaN or Inf
If the encoding of a NaN is passed in x, it will not signal and the resulting value will be undefined. If the encoding of a floating point infinity is passed in parameter x, the resulting floating-point value is the corresponding (positive or negative) floating point infinity.

Additionally, denormalized floats can be flushed to 0 at any time
Any denormalized value input into a shader or potentially generated by any operation in a shader can be flushed to 0.

This means an integer 0x1, which is a denormalized float when interpreted as a float, may get turned into 0x0 (but there are many such values)

In such a case, to solve the problem, change the algorithm to encode IDs directly as floats

For example, we solve it like this
Instead of this:

ivec4 get(int id,inout ivec2 N)
{
return floatBitsToInt (texel(ch0, i2xy(id,N)));
}

vec4 save(ivec4 v)
{
return intBitsToFloat(v);
}

We write it like this:

ivec4 get(int id)
{
return ivec4(floor(texel(ch0, i2xy( id))));
}

vec4 save(ivec4 v)
{
return vec4(v);
}

I changed the common code a bit
and added this code to the beginning of the common code

// Safe version of floatBitsToUint
uint safeFloatBitsToUint(float f) {
return uint(floor(f/65536.0)) << 16 |
uint(mod(f, 65536.0));
}

// Safe version of uintBitsToFloat
float safeUintBitsToFloat(uint u) {
return float((u >> 16) * 65536u + (u & 0xFFFFu));
}

// Safe version of intBitsToFloat
float safeIntBitsToFloat(int i) {
// Offset to handle negative values
return float(i + 0x80000000) + 32768.0;
}

// Safe version of floatBitsToInt
int safeFloatBitsToInt(float f) {
return int(f - 32768.0) - 0x80000000;
}

// Redefine original functions to use safe versions
#define floatBitsToUint safeFloatBitsToUint
#define uintBitsToFloat safeUintBitsToFloat
#define intBitsToFloat safeIntBitsToFloat
#define floatBitsToInt safeFloatBitsToInt

In some buffers I changed this code vec4 k1 = E(); to vec4 k1 = E(0.0);
In some buffers I changed this code if(iChannelResolution[1].z < 1.0) to if(1.0 < 1.0) {
In some buffers I changed this code if(iFrame <= 1 || reset()) I changed it like this if(iFrame < 60 || keyr == 1.0) {
That was all the changes I made, but unfortunately it doesn’t work
Only by holding the R key, some reactions are seen and a shape like an infinity symbol is drawn
I would be grateful if you could help me figure out what the problem is

original shader link: Shader - Shadertoy BETA
The converted file will be sent as an attachment.
Multispectral Paint Blending.zip (542.8 KB)