# IF (1) THEN a ELSE b

• 1/0
• a
• b

• result

## Neuron type

Best algorithm has been found - locked

## Patterns

Pattern Input Output
1.
 1/0: 1 a: a b: b
 result: a
2.
 1/0: 0 a: a b: b
 result: b
3.
 1/0: 1 a: true b: false
 result: true
4.
 1/0: 0 a: true b: false
 result: false

## Applicable neurons

• 0
• 1
• IF a=b THEN c ELSE d
• Get substring between string1 and string2
• 180
• name into end tag
• convert hours, minutes and seconds into HH:MM:SS
• -a + b; -a - b
• middle
• One child with two parents
• convert HH:MM:SS into seconds
• If number is without decimal part then X else Y
• get month, day (mm-dd) from date (yyyy-mm-dd)
• Is it integer?

## Algorithm

### Test

```/**
* 0:
*
* @return {Array}
*/
function neuron500()
{
return [0];
}

/**
* a = b: IF a=b THEN 1 ELSE 0;
*
* @param x1 a
* @param x2 b
* @return {Array}
*/
function neuron591(x1, x2)
{
return [(x1 == x2) ? 1 : 0];
}

/**
* IF: IF a THEN b ELSE c;
*
* @param x1 condition (1/0)
* @param x2 variable for 1
* @param x3 variable for 0
* @return {Array}
*/
function neuron579(x1, x2, x3)
{
return [(x1) ? x2 : x3];
}

/**
* IF a=b THEN c ELSE d:
*
* @param x1 a
* @param x2 b
* @param x3 c
* @param x4 d
* @return {Array}
*/
function neuron724(x1, x2, x3, x4)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;
outputs[2] = x3;
outputs[3] = x4;

arr = neuron591(outputs[1], outputs[0]);
outputs[4] = arr[0];

arr = neuron579(outputs[4], outputs[2], outputs[3]);
outputs[5] = arr[0];

return[outputs[5]];
}

/**
* IF (1) THEN a ELSE b:
*
* @param x1 1/0
* @param x2 a
* @param x3 b
* @return {Array}
*/
function neuron826(x1, x2, x3)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;
outputs[2] = x3;

arr = neuron500();
outputs[3] = arr[0];

arr = neuron724(outputs[0], outputs[3], outputs[2], outputs[1]);
outputs[4] = arr[0];

return[outputs[4]];
}

```