You can do it with the qarp() expression.
x=lerp(ax, bx, t)
y=qarp(ay, (ay+by)/2-400, by, t)
where ax,ay and bx,by are the two endpoints and t is a variable that you'd gradually change from 0 to 1 and vise versa to go back.
In the example I just set t to a triangle wave that ping pongs from 0 to 1 and back with abs((time/duration+1)%2-1) since it matches your example.
alternately you could just do set t to clamp(self.t+dir*dt/duration, 0, 1) where dir is -1 or 1, and the clamp avoids overshoot. You could then compare if t is 0 or 1 to see where it's landed.
dropbox.com/scl/fi/zxa5wnncpmhyrovadxia0/jumpArc.c3p