Predicting remaining useful life in CRFP laminates under fatigue loads: a new efficient algorithm