There are some issues, just from a syntax standpoint. This gets rid of the errors, but I don’t if it does what you were hoping for. If not, let us know what it is that you want it to do.
fps = 1/ thisComp.frameDuration;
lt = thisComp.layer("Speed Control").effect("Animation 1")("Menu").value;
if (lt==1) {
li=1*fps;
lo=1*fps;
}else if (lt==2) {
li=2*fps;
lo=2*fps;
}else {
li=3*fps;
lo=3*fps;
}
m1 = 0;
m2 = framesToTime(li);
m3 = framesToTime(lt-lo);
m4 = framesToTime(lt);
k1 = 0;
k2 = framesToTime(30);
k3 = framesToTime(30);
k4 = framesToTime(0);
if(time < m2) {
linear(time, m1, m2, k1, k2);
} else if(time < m3) {
linear(time, m2, m3, k2, k2);
} else {
linear(time, m3, m4, k2, k2);
}