Bug in delay function

Hi guys. I recently bought an Arduino Uno and started coding some LED programs. There seems to be a bug in the delay function. The following is my code :

int pin_12 = 12;
int pin_13 = 13;
int switching_delay = 2000;
int decreaser;

void setup()
{

    pinMode(pin_12, OUTPUT);
    pinMode(pin_13, OUTPUT);

}

void loop()
{

    //for (switching_delay ; switching_delay>=25 ; )
    //{
        digitalWrite(pin_12, LOW);
        digitalWrite(pin_13, HIGH);
        delay(switching_delay);
        digitalWrite(pin_12, HIGH);
        digitalWrite(pin_13, LOW);
        delay(switching_delay);
        
        if (switching_delay>=1600)
        {
          decreaser = 400;
          switching_delay = switching_delay - decreaser;
        }
    
        else if (550<=switching_delay<=1200)
        {
          decreaser = 50;
          switching_delay = switching_delay - decreaser;
        }

        else if (205<=switching_delay<=500)
        {
          decreaser = 5;
          switching_delay = switching_delay - decreaser;
        }
    
        else if (26<=switching_delay<=200)
        {
          decreaser = 1;
          switching_delay = switching_delay - decreaser;
        }

        else
        {
          
        }
    //}
    
}

Please help me solve this.

        else if (550<=switching_delay<=1200)
...
     else if (205<=switching_delay<=500)
...
        else if (26<=switching_delay<=200)

A bug in delay () you say?
Check your C syntax

(Did you seriously think the problem was with delay() ? )

Hint - true (aka 1) and false (aka 0) are always less than 1200, or 500 or 200.

Oops...silly mistake.

As I stated I just bought an Arduino. I'm coding after a few years and mixed C++ with C lol.

Googling for bug in delay function did return some interesting results so I just wanted to make sure. Thanks for the quick reply though.

For anyone else landing here,

SOLVED BY

else if ((switching_delay>=550)&&(switching_delay<=1200))
        {
          decreaser = 50;
          switching_delay = switching_delay - decreaser;
        }

        else if ((switching_delay>=205)&&(switching_delay<=500))
        {
          decreaser = 5;
          switching_delay = switching_delay - decreaser;
        }
    
        else if ((switching_delay>=26)&&(switching_delay<=200))
        {
          decreaser = 1;
          switching_delay = switching_delay - decreaser;
        }

        else
        {
          
        }

As I stated I just bought an Arduino. I'm coding after a few years and mixed C++ with C lol.

The expression syntax is the same for both languages, as is operator precedence.

a bug?
how so?

LOL.
Got to love newbies who have the nerve to say there is a bug.
:stuck_out_tongue_closed_eyes: