If statement latches

// synthesis verilog_input_version verilog_2001
module top_module (
    input      cpu_overheated,
    output reg shut_off_computer,
    input      arrived,
    input      gas_tank_empty,
    output reg keep_driving
);

    // 仅当CPU过热时关闭计算机
    always @(*) begin
        if (cpu_overheated) begin
            shut_off_computer = 1;  // 如果CPU过热,则关闭计算机
        end else begin
            shut_off_computer = 0;  // 如果CPU不过热,则不关闭计算机
        end
    end

    // 如果到达目的地或需要加油,则停止驾驶
    always @(*) begin
        if (~arrived) begin
            keep_driving = ~gas_tank_empty;  // 如果未到达目的地且油箱不为空,则继续驾驶
        end else begin
            keep_driving = 0;  // 如果到达目的地或油箱为空,则停止驾驶
        end
    end

endmodule