private String getDebugInfoFast(Game.CarInfo myCarInfo, Game game, double desiredSpeed, double throttle, AngleState as, double nextAngle, double r) {
        GameInit.Race.Track.Piece piece = game.track.pieces[myCarInfo.pieceIndex];
        if (r > 100000) {
            r = 0;
        }
        double rst = (piece.radius + (piece.angle > 0 ? -game.track.lanes[myCarInfo.startLaneIndex].distanceFromCenter : game.track.lanes[myCarInfo.startLaneIndex].distanceFromCenter));
        double re = (piece.radius + (piece.angle > 0 ? -game.track.lanes[myCarInfo.endLaneIndex].distanceFromCenter : game.track.lanes[myCarInfo.endLaneIndex].distanceFromCenter));
        return "dist " + myCarInfo.totalDist + " velocity " + myCarInfo.velocity + " of " + desiredSpeed + " acc " + myCarInfo.acceleration +
                " nextSpeed " + game.getNextSpeed(myCarInfo.velocity, throttle * game.getTurboFactor()) + " angle " + myCarInfo.angle +
                " angle' " + as.angleDer + " nextAngle " + nextAngle + " powdef " + game.getPowerDeficit() +
                " THROTTLE " + throttle +
                "lap " + myCarInfo.lap + " piece " + myCarInfo.pieceIndex + " " + myCarInfo.inPieceDistance +
                " lane " + myCarInfo.startLaneIndex + " " + myCarInfo.endLaneIndex + " pieceR " + r + " rst " + (rst > 10000 ? 0 : rst) + " re " + (re > 10000 ? 0 : re) +
                " rearDist " + game.nearestCarRearDist + " vel " + game.nearestCarRearDistDeltaVelocity + " ttc " + game.nearestCarRearTimeToCollision + " to " + game.nearestCarRearName
                + " frontDist " + game.nearestCarFrontDist + " vel " + game.nearestCarFrontDistDeltaVelocity + " ttc " + game.nearestCarFrontTimeToCollision + " to " + game.nearestCarFrontName +
                (Math.abs(myCarInfo.angle) > game.getCrashAngle() ? " CRASH ANGLE! +" + (Math.abs(myCarInfo.angle) - game.getCrashAngle()) : ""
                );
    }