ML5.js wrong predict for a basic linear regression

I am a beginner at the neural network. Trying to recreate some basic predict for the formula y = 2x-1 from the tensorflow.js tutorial using ml5.js but something is getting wrong. Here is my code:

const model = ml5.neuralNetwork({
        task: 'regression',
        inputs: ['x'],
        outputs: ['y'],
        debug: true
    });

    const trainingData = [
        {input: {x: -1}, output: {y: -3}},
        {input: {x: 0}, output: {y: -1}},
        {input: {x: 1}, output: {y: 1}},
        {input: {x: 2}, output: {y: 3}},
        {input: {x: 3}, output: {y: 5}},
        {input: {x: 4}, output: {y: 7}}
    ];

    trainingData.forEach(data => {
        model.addData(data.input, data.output);
    });

    model.normalizeData();
    model.train({epochs: 100}, () => {
        console.log('Model trained');

        const inputData = {x: 20};
        model.predict(inputData, (error, result) => {
            if (error) {
                console.error(error);
            } else {
                console.log(`Prediction: ${result[0].value}`);
            }
        });
    });

Expected: 20 => 39,
Actual result: 20 => 6.999997615814209

What am i doing wrong?