strokeStyle="#AA3311";
    synthesis_context.stroke();
    synthesis_context.closePath();
    
    // tangents
    synthesis_context.beginPath();
    synthesis_context.setLineDash([4, 4]);
    synthesis_context.moveTo(x_to_client(synthesis_xs[0]), y_to_client(synthesis_ys[0]));
    synthesis_context.lineTo(x_to_client(synthesis_xs[1]), y_to_client(synthesis_ys[1]));
    synthesis_context.moveTo(x_to_client(synthesis_xs[synthesis_n-2]), y_to_client(synthesis_ys[synthesis_n-2]));
    synthesis_context.lineTo(