# Calculate VAT

## Inputs

• Price without VAT
• Price with VAT

• VAT

## Neuron type

Best algorithm has been found - locked

## Patterns

Pattern Input Output
1.
 Price without VAT: 100 Price with VAT: 120
 VAT: 20
2.
 Price without VAT: 200 Price with VAT: 300
 VAT: 50
3.
 Price without VAT: 10 Price with VAT: 11.9
 VAT: 19

## Applicable neurons

• Plus (x + y)
• Minus (x - y)
• Multiple (x × y)
• Division (x ÷ y)
• 100
• right angled triangle, find Hypotenuse c, given a, b
• character e
• convert seconds into minutes and seconds
• IfNull
• If number is without decimal part then X else Y
• mat 33/1

## Algorithm

### Test

```/**
* Minus (x - y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron2(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '-'+Number(x2)).toString()];
}

/**
* Division (x ÷ y): X / Y
*
* @param x1 first number
* @param x2 second number
* @return {Array}
*/
function neuron17(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '/'+Number(x2)).toString()];
}

/**
* 1:
*
* @return {Array}
*/
function neuron501()
{
return [1];
}

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

/**
* Connect - two inputs:
*
* @param x1 Variable A
* @param x2 Variable B
* @return {Array}
*/
function neuron520(x1, x2)
{
return [x1.toString()+x2.toString()];
}

/**
* 100:
*
* @return {Array}
*/
function neuron537()
{
var outputs = [];

arr = neuron501();
outputs[0] = arr[0];

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

arr = neuron520(outputs[1], outputs[1]);
outputs[2] = arr[0];

arr = neuron520(outputs[0], outputs[2]);
outputs[3] = arr[0];

return[outputs[3]];
}

/**
* Multiple (x × y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron3(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '*'+Number(x2)).toString()];
}

/**
* Calculate VAT:
*
* @param x1 Price without VAT
* @param x2 Price with VAT
* @return {Array}
*/
function neuron655(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron2(outputs[1], outputs[0]);
outputs[2] = arr[0];

arr = neuron17(outputs[2], outputs[0]);
outputs[3] = arr[0];

arr = neuron537();
outputs[4] = arr[0];

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

return[outputs[5]];
}

```