A 4-day upper/lower split is two upper-body days and two lower-body days a week, so every muscle is trained twice. The plan below is exactly what the Zyra Workouts generator produces for 60-minute sessions, an intermediate lifter and a hypertrophy goal — the same tables as the 4-day upper/lower program page. It is a generated template, not a prescription.

Who this layout suits

Four days is the first days count at which the upper/lower split trains everything twice a week, so the layout suits someone who has four sessions to give and wants more exercises per muscle than a full-body day can fit. The generator spreads the four days as T·T·R·T·R·T·R (slots floor(i × 7 / 4) = 0, 1, 3, 5), alternating Upper A, Lower A, Upper B, Lower B.

D1D2D3D4D5D6D7Full body · 2 daysFullRestRestFullRestRestRestFull body · 3 daysFullRestFullRestFullRestRestFull body · 4 daysFullFullRestFullRestFullRestUpper/lower · 4 daysUpperLowerRestUpperRestLowerRestPush/pull/legs · 3 daysPushRestPullRestLegsRestRestPush/pull/legs · 6 daysPushPullLegsPushPullLegsRest
Fig. The week layouts the program generator produces — training days are spread as evenly as the count allows (slot = floor(i × 7 ÷ days)), then the split's day templates are dealt in order (Full body; Upper, Lower; Push, Pull, Legs). Three days become T·R·T·R·T·R·R; six days leave one rest day. The generator's rule, shown with its own function — not a claim about which layout works better.

Inputs: split upperLower, daysPerWeek 4, sessionMinutes 60, experience intermediate, goal hypertrophy, no focus or deprioritised muscles, no deload.

The four days

Sixty minutes buys 5 exercises a session. The upper roster is chest, back, shoulders, biceps, triceps; the lower roster is quads, hamstrings, glutes, calves, core. Five roster muscles and five slots means one exercise per muscle, a compound where the catalog has one and an isolation where it does not. A and B days are identical because selection depends only on the roster and the settings.

Upper A / Upper BTypeSetsRepsRIR (cycle 1)Default rest
Barbell bench presscompound36–103180 s
Conventional deadliftcompound36–103180 s
Barbell overhead presscompound36–103180 s
Barbell curlisolation310–15290 s
Close-grip bench presscompound36–103150 s
Lower A / Lower BTypeSetsRepsRIR (cycle 1)Default rest
Back squatcompound36–103180 s
Dumbbell Romanian deadliftcompound36–103120 s
Barbell hip thrustcompound36–103150 s
Standing calf raiseisolation310–15260 s
Hanging leg raisecompound (catalog)36–10390 s

The hanging leg raise is classed as a compound in the catalog, which is why it carries compound targets (6–10 at RIR 2) rather than isolation ones. That is the data as the app has it.

Weekly credit per muscle (primary 1, secondary 0.5) against the app's landmarks:

MuscleCreditedLandmarkMuscleCreditedLandmark
Chest912Quads614
Back914Hamstrings1510
Shoulders1214Glutes1510
Biceps610Calves610
Triceps1210Forearms96
Core1210

Sixty working sets in total. Triceps land above their landmark because the close-grip bench is a triceps primary and the bench and overhead press both credit triceps as a secondary. Quads land well under theirs: only the squat is a quads primary, and the leg raise and calf raise fill the other lower slots. If quads matter to you, marking them as a focus muscle adds a quads isolation (leg extension) at the expense of the last roster slot.

In plain terms: two upper days and two lower days, one exercise per muscle, twice a week — with the trade that some muscles get more than the landmark and quads get less.

Sets, reps and RIR — where the numbers come from

  • Reps by type. Hypertrophy compounds get 6–10, hypertrophy isolations 10–15. The barbell curl and the calf raise are the only isolations here.
  • RIR by type. Compounds start from a base of RIR 2, isolations from RIR 1; the cycle ramp (next section) is applied on top.
  • Sets. 3 for everything at intermediate; the strength goal would raise compounds to 4, a beginner would drop everything to 2, an advanced lifter would raise compounds to 4.
  • Rest. Each catalog exercise carries its own default: 180 s for the bench, deadlift, overhead press and squat, 150 s for the close-grip bench and hip thrust, 120 s for the Romanian deadlift, 90 s for the curl and leg raise, 60 s for the calf raise.

Progressing across six cycles

The program runs six cycles; each cycle is one pass through the 7-day layout. RIR ramps from base + 1 to max(0, base − 1) using rir = round(top − (c / 5) × (top − bottom)):

Cycle1234566 with deload
Compounds (base RIR 2)3322114
Isolations (base RIR 1)2211003
Sets per exercise3333332

The isolations end at RIR 0 — to failure — on cycles 5 and 6; the compounds stop one rep short. Weight changes come from the progression engine after each logged session: beat the ceiling (round((repMin + repMax) / 2) + RIR) and the next session suggests one step up, miss the floor and it suggests one step down, land inside and it holds. With the deload on, cycle 6 becomes 2 sets at base + 2 RIR.

The short version

Upper A, Lower A, rest, Upper B, rest, Lower B, rest. Five exercises a day — bench, deadlift, overhead press, curl and close-grip bench on upper days; squat, Romanian deadlift, hip thrust, calf raise and leg raise on lower days — 3 sets each, 60 working sets a week, RIR ramping across six cycles. Everything above is the generator's own arithmetic and can be reproduced on the program page; check the week against the landmarks with the weekly sets calculator. A generated training template, not a prescription. Educational overview only — not medical advice.