JS, Городьба условий

Добрый день.
Я тут на досуге городил условия городил условия к одному заданию, как оно делается я уже посмотрел - все легко и просто было, но не суть. У меня возник вопрос, кто поможет - буду благодарен

function getPrice(time, speed) {
let count = 1500;
let total
if (time > 150 && speed) {total = time/2 * count * 2.5};
console.log('Раз ’ + total);
if (time < 150 && speed) {total = time/2 * count * 2.5}
console.log('Два ’ + total);
if (time > 150 && speed === false) {total = time * (count - 250)}
else {total = count * time};
console.log('Три ’ + total)
return total
console.log(total)
}
getPrice(200, true)

Фишка в том, что при постановке значений в getPrice(), условная конструкция не слушается. Например при значении time в 200, оно залазиет во второй If, а при значении speed = true, все равно работает третий if. Почему так и как отгородится от этого?