위는 5타겟 기존 APL, 아래는 5타겟 개선 APL 결과입니다.
1타겟 기준 0.6%, 2타겟 기준 1.1%, 5타겟 기준 1.5% 정도의 개선이 있었습니다.

개선한 내용들입니다.

1타겟에 남긴 규칙입니다.

규칙실제로 하는 행동추정 기여도검증
강화 Missiles 전 BarrageSoul 밖에서 강화 Missiles 보유·CC 정확히 1개·Bolt 없음·4충전·Salvo≥8이면, 강화 Missiles보다 Barrage를 먼저 사용+0.132 ±0.2268천 회
일반 Missiles 우선Soul 밖에서 강화 Missiles와 Bolt가 없고, CC 보유·2충전 이상·Salvo 8~15이면 일반 Missiles를 우선 사용+0.1753천 회·탐색
CP8 Bolt 우선Soul 밖에서 강화 Missiles가 없고 CP8·CC≤1이면, 다음 Missiles보다 준비된 Bolt를 먼저 사용+0.2583천 회·탐색
Salvo 21~23에서 BlastSoul 밖에서 4충전·Salvo 21~23이면, Barrage로 소비하기 전에 Blast를 먼저 사용+0.3093천 회·탐색
Soul 종료 직전 BarrageSoul이 1.5GCD 미만 남으면 Barrage를 우선 사용해 마지막 Soul 구간에 넣음+0.1933천 회·탐색
Surge 종료 직전 Missiles 예외Surge가 1초 미만 남고 CC가 있으면, Salvo가 평소 Missiles 기준인 12 이상이어도 Missiles를 허용+0.2643천 회·탐색
고스택 Barrage 기준 완화4충전이고 Surge가 없거나 1GCD보다 오래 남으면, 기존의 ‘인지된 Salvo 25’ 대신 현재 Salvo≥24에서도 Barrage를 허용+0.1873천 회·탐색

2타겟에 남긴 규칙입니다.

규칙실제로 하는 행동추정 기여도검증
CP8 Bolt 우선Soul 밖에서 강화 Missiles가 없고 CP8·CC≤1이면 준비된 Bolt를 먼저 사용+0.089 ±0.0814만 회
강화 Missiles 전 BarrageSoul 밖에서 강화 Missiles와 CC를 보유하고, 4충전·Salvo≥5이면 Barrage를 먼저 사용. 단일과 달리 CC가 여러 개이거나 Bolt가 있어도 해당 가능+0.2523천 회·탐색
Touch 종료 직전 Barrage4충전·Salvo≥8이고 Touch가 0.5GCD 미만 남으면 Barrage를 우선 사용+0.1573천 회·탐색
Soul 전용 분기Soul이 2GCD 넘게 남고 Salvo가 낮을 때만 Missiles, 그 외에는 Barrage. 낮은 Salvo 기준은 일반 Missiles는 12 미만, 강화 Missiles는 8 미만. 채널 중 Soul이 1.5GCD 미만 남으면 중단도 허용+0.1733천 회·탐색
일반 Missiles 중단 조건채널 중 Bolt 준비·강화 Missiles 없음·Soul 밖·CP≥6·CC≤1·Salvo≥8이 되면, 다음 틱과 GCD 타이밍을 확인해 채널을 끊고 상위 우선순위를 다시 평가할 수 있게 함+0.1653천 회·탐색
Surge 종료 직전 Missiles 예외Surge가 1초 미만 남고 CC가 있으면, Salvo가 평소 기준인 14 이상이어도 Missiles를 허용+0.1743천 회·탐색
고스택 Barrage 기준 완화4충전이고 Surge가 없거나 1GCD보다 오래 남으면, ‘인지된 Salvo 25’ 대신 현재 Salvo≥24에서도 Barrage를 허용+0.1983천 회·탐색
Barrage 판단에 현재 스택 사용일반 Barrage 조건에서 CC와 Salvo를 반응 시간이 반영된 react 값 대신 현재 stack 값으로 판단. 새로 얻은 자원을 조건에 더 빨리 반영하는 변경+0.186 ±0.0764만 회

5타겟에 남긴 규칙입니다.

규칙실제로 하는 행동추정 기여도검증
CP8 Bolt 우선Soul 밖에서 강화 Missiles가 없고 CP8·CC≤1이면 준비된 Bolt를 먼저 사용+0.121 ±0.2688천 회
강화 Missiles 전 BarrageSoul 밖에서 강화 Missiles와 CC를 보유하고, 4충전·Salvo≥5이면 Barrage를 먼저 사용. Bolt 유무나 CC가 정확히 1개인지는 요구하지 않음+0.537 ±0.1158천 회
Soul 전용 분기Soul이 2GCD 넘게 남고, 일반 Missiles는 Salvo<12, 강화 Missiles는 Salvo<8일 때 Missiles를 사용. 그 외에는 Barrage. Soul 종료가 가까워지면 채널 중단도 허용+0.2593천 회·탐색
일반 Missiles 중단 조건채널 중 Bolt 준비·강화 Missiles 없음·Soul 밖·CP≥6·CC≤1·Salvo≥12이면, 틱/GCD 조건에 따라 채널 중단과 상위 우선순위 재평가를 허용. 2타겟의 Salvo 8 대신 12를 요구+0.384 ±0.2268천 회
Surge 종료 직전 Missiles 예외Surge가 1초 미만 남고 CC가 있으면, Salvo가 14 이상이어도 Missiles를 허용+0.155 ±0.2198천 회
Missiles/Barrage 경계를 14로 변경일반 구간에서 Missiles를 시작하는 Salvo 상한을 <12→<14, 일반 Barrage의 Salvo 조건을 **≥12→≥14**로 함께 변경. 두 변경을 묶어 측정한 항목+0.8513천 회·탐색


용어 목록입니다.
surge -> 쇄도
soul -> 비전 영혼
missiles -> 신비한 화살
CP -> 세트효과 중첩
CC -> 번뜩임
salvo -> 비전 연사 
barrage -> 비전 탄막
bolt -> 오색화살


제가 봤을 때 눈여겨 볼만한 개선은 2개였습니다.
1. 강화 미사일이 있을 때, 비전연사 중첩이 5 이상이면 비탄 후 강화미사일
2. 번뜩임이 있을 때 비탄을 쓰는 경계는 12중첩이 아니라 14중첩 (5타겟 기준)
 
제 장비를 기준으로 개선한 결과라 캐릭터마다 다를 수 있습니다.
실전에서 테스트하지는 못했습니다.

다음은 전체 APL입니다. APL을 제가 직접 확인하지는 못했습니다.
# v5 core: only agent-authored rules pruned; inherited upstream scaffolding retained.
# Upstream-derived v5 policy; selected v4-relative Bolt handoff improvements. Supplied Sunfury profile only; 1/2/5 targets.
# Frozen v1/v2/v3/v4 retained. See results/BOLT_IMPROVEMENT.md for measured limits.

# This default action priority list is automatically created based on your character.
# It is a attempt to provide you with a action list that is both simple and practicable,
# while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps.
# Feel free to edit, adapt and improve it to your own needs.
# SimulationCraft is always looking for updates and improvements to the default action lists.

# Executed before combat begins. Accepts non-harmful actions only.
actions.precombat=arcane_intellect
actions.precombat+=/variable,name=aoe_count,op=set,value=2+(3*talent.spellfire_spheres)
actions.precombat+=/variable,name=20ssteroid_trinket_equipped,op=set,value=equipped.signet_of_the_priory|equipped.incorporeal_essencegorger|equipped.sealed_chaos_urn|equipped.hex_lords_dooming_idol
actions.precombat+=/variable,name=15ssteroid_trinket_equipped,op=set,value=equipped.lily_of_the_eternal_weave|equipped.sunblood_amethyst|equipped.astral_gladiators_badge_of_ferocity|equipped.arazs_ritual_forge|equipped.freightrunners_flask|equipped.emberwing_feather|equipped.vaelgors_final_stare|equipped.galactic_gladiators_badge_of_ferocity|equipped.vile_vial_of_volatile_venom|equipped.venomous_gladiators_badge_of_ferocity
actions.precombat+=/variable,name=12ssteroid_trinket_equipped,op=set,value=equipped.nevermelting_ice_crystal|equipped.ever_collapsing_void_fissure
actions.precombat+=/variable,name=steroid_trinket_equipped,op=set,value=equipped.lily_of_the_eternal_weave|equipped.sunblood_amethyst|equipped.astral_gladiators_badge_of_ferocity|equipped.arazs_ritual_forge|equipped.freightrunners_flask|equipped.emberwing_feather|equipped.vaelgors_final_stare|equipped.galactic_gladiators_badge_of_ferocity|equipped.nevermelting_ice_crystal|equipped.ever_collapsing_void_fissure|equipped.signet_of_the_priory|equipped.incorporeal_essencegorger|equipped.sealed_chaos_urn|equipped.venomous_gladiators_badge_of_ferocity|equipped.vile_vial_of_volatile_venom|equipped.stormbound_emblem_of_dazar|equipped.hex_lords_dooming_idol
actions.precombat+=/variable,name=nonsteroid_trinket_equipped,op=set,value=equipped.mereldars_toll|equipped.perfidious_projector|equipped.chaotic_nethergate|equipped.wraps_of_cosmic_madness|equipped.astalors_anguish_agitator|equipped.sethraliss_defiled_relic|equipped.vexhuls_everflowing_gland|equipped.font_of_venomous_rage|equipped.ophidian_bone_whistle|equipped.spiritrending_poison
actions.precombat+=/variable,name=hex_double_on_use,op=set,value=(equipped.lily_of_the_eternal_weave|equipped.sunblood_amethyst|equipped.astral_gladiators_badge_of_ferocity|equipped.arazs_ritual_forge|equipped.freightrunners_flask|equipped.emberwing_feather|equipped.vaelgors_final_stare|equipped.galactic_gladiators_badge_of_ferocity|equipped.nevermelting_ice_crystal|equipped.ever_collapsing_void_fissure|equipped.signet_of_the_priory|equipped.incorporeal_essencegorger|equipped.sealed_chaos_urn|equipped.venomous_gladiators_badge_of_ferocity|equipped.vile_vial_of_volatile_venom|equipped.stormbound_emblem_of_dazar)&equipped.hex_lords_dooming_idol
actions.precombat+=/snapshot_stats
actions.precombat+=/mirror_image
actions.precombat+=/potion,if=talent.spellfire_spheres
actions.precombat+=/arcane_surge,if=talent.spellfire_spheres
actions.precombat+=/arcane_blast

# Executed every time the actor is available.
actions=counterspell
actions+=/invoke_external_buff,name=power_infusion,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<16)
actions+=/potion,if=cooldown.arcane_surge.ready|fight_remains<35
actions+=/berserking,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<13)
actions+=/blood_fury,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<9)
actions+=/fireblood,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<16)
actions+=/ancestral_call,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<16)
actions+=/use_item,name=font_of_venomous_rage,if=((buff.arcane_surge.down&buff.arcane_soul.down&debuff.touch_of_the_magi.down)|(!potion.liquid_luster&time<5))&(time>25|!variable.steroid_trinket_equipped|equipped.hex_lords_dooming_idol)|fight_remains<30
actions+=/use_item,name=hex_lords_dooming_idol,if=(buff.hex_lords_doom.stack>(24-(15*equipped.vile_vial_of_volatile_venom))&(cooldown.arcane_surge.ready|buff.arcane_surge.up)&variable.hex_double_on_use)|((cooldown.arcane_surge.ready|buff.arcane_surge.up)&!variable.hex_double_on_use)
actions+=/use_item,name=stormbound_emblem_of_dazar,if=(cooldown.arcane_surge.remains<2)|cooldown.arcane_surge.ready|(fight_remains<22)
actions+=/use_items,if=((buff.arcane_surge.up&((variable.12ssteroid_trinket_equipped&debuff.touch_of_the_magi.up)|variable.15ssteroid_trinket_equipped))|(cooldown.arcane_surge.ready&variable.20ssteroid_trinket_equipped))|(fight_remains<13&variable.12ssteroid_trinket_equipped)|(fight_remains<16&variable.15ssteroid_trinket_equipped)|(fight_remains<21&variable.20ssteroid_trinket_equipped)|(variable.nonsteroid_trinket_equipped&((buff.arcane_surge.down&cooldown.arcane_surge.remains>20)|!variable.steroid_trinket_equipped))|fight_remains<((20*variable.steroid_trinket_equipped)+(20*variable.nonsteroid_trinket_equipped)+(10*equipped.hex_lords_dooming_idol))
actions+=/use_item,name=hex_lords_dooming_idol,if=(fight_remains<(40+(3*variable.nonsteroid_trinket_equipped)+(20*variable.hex_double_on_use)-(15*equipped.vile_vial_of_volatile_venom)))
actions+=/arcane_barrage,if=fight_remains<gcd.max*2&buff.arcane_charge.stack=4
actions+=/call_action_list,name=cooldowns
actions+=/call_action_list,name=spellslinger,if=talent.splintering_sorcery
actions+=/call_action_list,name=sunfury_st,if=!talent.splintering_sorcery&active_enemies=1
actions+=/call_action_list,name=sunfury_two,if=!talent.splintering_sorcery&active_enemies=2
actions+=/call_action_list,name=sunfury_aoe,if=!talent.splintering_sorcery&active_enemies>=3
actions+=/arcane_barrage,if=talent.spellfire_spheres&!buff.arcane_surge.up

actions.cooldowns=arcane_orb,if=talent.splintering_sorcery,line_cd=999
actions.cooldowns+=/touch_of_the_magi,use_off_gcd=1,if=(prev_gcd.1.prismatic_bolt|prev_gcd.1.arcane_barrage|(buff.arcane_surge.up&buff.arcane_surge.remains<12))&(buff.arcane_surge.up|cooldown.arcane_surge.remains>30)
actions.cooldowns+=/arcane_surge,if=buff.lustrous_gleam.stack>=2|buff.lustrous_gleam.down
actions.cooldowns+=/cancel_action,if=action.evocation.channeling&mana.pct>=95
actions.cooldowns+=/evocation,if=mana.pct<10&buff.arcane_surge.down&debuff.touch_of_the_magi.down&cooldown.arcane_surge.remains>10
actions.cooldowns+=/presence_of_mind,use_off_gcd=1,if=buff.arcane_charge.stack<1&!buff.prismatic_bolt.up&!cooldown.arcane_orb.ready&!cooldown.arcane_pulse.ready&!cooldown.touch_of_the_magi.ready&(buff.clearcasting.react=0|!talent.high_voltage)&prev_gcd.1.arcane_barrage

actions.spellslinger=prismatic_bolt,if=(!set_bonus.midnight_season_2_4pc|buff.cumulative_power.stack>=6|active_enemies>=variable.aoe_count&buff.clearcasting.react=0)&(active_enemies>=variable.aoe_count&buff.clearcasting.react<3|buff.arcane_salvo.react>13)
actions.spellslinger+=/arcane_orb,if=cooldown.arcane_orb.charges_fractional>=1+(0.95*talent.charged_orb)&talent.orb_mastery&active_enemies>=variable.aoe_count
actions.spellslinger+=/arcane_barrage,if=buff.arcane_salvo.react>=(20-talent.orb_barrage)&(active_enemies<variable.aoe_count|buff.arcane_charge.stack=4)|prev_gcd.1.arcane_surge&buff.arcane_salvo.stack>=(10+5*talent.orb_barrage)
actions.spellslinger+=/arcane_missiles,if=buff.clearcasting.react&(buff.arcane_salvo.stack<15|active_enemies<variable.aoe_count&buff.clearcasting.react=3),interrupt_if=tick_time>gcd.remains&(buff.overpowered_missiles.react=0|active_enemies>=variable.aoe_count|!talent.high_voltage),interrupt_global=1,interrupt_immediate=1
actions.spellslinger+=/prismatic_bolt
actions.spellslinger+=/arcane_orb,if=buff.arcane_charge.stack<(3+(active_enemies>=variable.aoe_count))|(talent.orb_mastery|active_enemies>=(variable.aoe_count+2))&cooldown.arcane_orb.charges_fractional>=(1+0.5*(talent.orb_mastery&active_enemies<variable.aoe_count&buff.arcane_surge.down))
actions.spellslinger+=/arcane_pulse,if=buff.arcane_charge.stack<3&buff.arcane_surge.down
actions.spellslinger+=/arcane_blast


actions.sunfury_st=arcane_barrage,if=buff.overpowered_missiles.up&buff.clearcasting.stack=1&buff.prismatic_bolt.down&buff.arcane_charge.stack=4&buff.arcane_salvo.stack>=8&buff.arcane_soul.down
actions.sunfury_st+=/arcane_missiles,allow_arcane_missiles_delay=1,if=buff.overpowered_missiles.down&buff.clearcasting.stack>=1&buff.prismatic_bolt.down&buff.arcane_charge.stack>=2&buff.arcane_salvo.stack>=8&buff.arcane_salvo.stack<=15&buff.arcane_soul.down
actions.sunfury_st+=/prismatic_bolt,if=buff.cumulative_power.stack=8&buff.arcane_soul.down&buff.overpowered_missiles.down&buff.clearcasting.stack<=1
actions.sunfury_st+=/arcane_blast,if=buff.arcane_charge.stack=4&buff.arcane_salvo.stack>=21&buff.arcane_salvo.stack<24&buff.arcane_soul.down
actions.sunfury_st+=/arcane_barrage,if=buff.arcane_soul.up&buff.arcane_soul.remains<gcd.max*1.5
actions.sunfury_st+=/arcane_missiles,allow_arcane_missiles_delay=1,if=buff.clearcasting.stack&(buff.arcane_salvo.stack<12|(buff.arcane_surge.up&buff.arcane_surge.remains<1)),chain=1
actions.sunfury_st+=/prismatic_bolt,if=((!set_bonus.midnight_season_2_4pc)|buff.cumulative_power.stack=8)&buff.arcane_soul.down
actions.sunfury_st+=/arcane_barrage,if=(buff.arcane_charge.stack=4&(((((cooldown.arcane_orb.charges_fractional>0.95|cooldown.arcane_pulse.charges_fractional>0.95)&active_enemies>=variable.aoe_count)|buff.clearcasting.react)&buff.arcane_salvo.react>=12)|((buff.arcane_surge.remains>gcd.max|buff.arcane_surge.down)&buff.arcane_salvo.stack>=24)))|buff.arcane_soul.up|(buff.arcane_salvo.react>8&cooldown.touch_of_the_magi.ready)
actions.sunfury_st+=/prismatic_bolt
actions.sunfury_st+=/arcane_orb,if=buff.arcane_charge.stack<3
actions.sunfury_st+=/arcane_pulse,if=active_enemies>=(variable.aoe_count-1)|buff.arcane_charge.stack<1
actions.sunfury_st+=/arcane_blast

actions.sunfury_two=prismatic_bolt,if=buff.cumulative_power.stack=8&buff.arcane_soul.down&buff.overpowered_missiles.down&buff.clearcasting.stack<=1
actions.sunfury_two+=/arcane_barrage,if=buff.overpowered_missiles.up&buff.clearcasting.stack&buff.arcane_charge.stack=4&buff.arcane_salvo.stack>=5&buff.arcane_soul.down
actions.sunfury_two+=/arcane_barrage,if=buff.arcane_charge.stack=4&buff.arcane_salvo.stack>=8&debuff.touch_of_the_magi.up&debuff.touch_of_the_magi.remains<gcd.max*0.5
actions.sunfury_two+=/run_action_list,name=corner_soul,if=buff.arcane_soul.up
actions.sunfury_two+=/arcane_missiles,allow_arcane_missiles_delay=1,if=(buff.clearcasting.stack&buff.arcane_salvo.stack<14)|(buff.clearcasting.stack&buff.arcane_surge.up&buff.arcane_surge.remains<1),chain=1,interrupt_if=tick_time>gcd.remains&(buff.prismatic_bolt.up&buff.overpowered_missiles.down&buff.arcane_soul.down&buff.cumulative_power.stack>=6&buff.clearcasting.stack<=1&buff.arcane_salvo.stack>=8),interrupt_global=1,interrupt_immediate=1
actions.sunfury_two+=/prismatic_bolt,if=((!set_bonus.midnight_season_2_4pc)|buff.cumulative_power.stack>=8)&buff.arcane_soul.down
actions.sunfury_two+=/arcane_barrage,if=(buff.arcane_charge.stack=4&(((((cooldown.arcane_orb.charges_fractional>0.95|cooldown.arcane_pulse.charges_fractional>0.95)&active_enemies>=variable.aoe_count)|buff.clearcasting.stack)&buff.arcane_salvo.stack>=12)|((buff.arcane_surge.remains>gcd.max|buff.arcane_surge.down)&buff.arcane_salvo.stack>=24)))|buff.arcane_soul.up|(buff.arcane_salvo.stack>8&cooldown.touch_of_the_magi.ready)
actions.sunfury_two+=/prismatic_bolt
actions.sunfury_two+=/arcane_orb,if=buff.arcane_charge.stack<3
actions.sunfury_two+=/arcane_pulse,if=active_enemies>=(variable.aoe_count-1)|buff.arcane_charge.stack<1
actions.sunfury_two+=/arcane_blast

actions.sunfury_aoe=prismatic_bolt,if=buff.cumulative_power.stack=8&buff.arcane_soul.down&buff.overpowered_missiles.down&buff.clearcasting.stack<=1
actions.sunfury_aoe+=/arcane_barrage,if=buff.overpowered_missiles.up&buff.clearcasting.stack&buff.arcane_charge.stack=4&buff.arcane_salvo.stack>=5&buff.arcane_soul.down
actions.sunfury_aoe+=/run_action_list,name=corner_soul,if=buff.arcane_soul.up
actions.sunfury_aoe+=/arcane_missiles,allow_arcane_missiles_delay=1,if=(buff.clearcasting.stack&buff.arcane_salvo.stack<14)|(buff.clearcasting.stack&buff.arcane_surge.up&buff.arcane_surge.remains<1),chain=1,interrupt_if=tick_time>gcd.remains&(buff.prismatic_bolt.up&buff.overpowered_missiles.down&buff.arcane_soul.down&buff.cumulative_power.stack>=6&buff.clearcasting.stack<=1&buff.arcane_salvo.stack>=12),interrupt_global=1,interrupt_immediate=1
actions.sunfury_aoe+=/prismatic_bolt,if=((!set_bonus.midnight_season_2_4pc)|buff.cumulative_power.stack>=8)&buff.arcane_soul.down
actions.sunfury_aoe+=/arcane_barrage,if=(buff.arcane_charge.stack=4&(((((cooldown.arcane_orb.charges_fractional>0.95|cooldown.arcane_pulse.charges_fractional>0.95)&active_enemies>=variable.aoe_count)|buff.clearcasting.react)&buff.arcane_salvo.react>=14)|((buff.arcane_surge.remains>gcd.max|buff.arcane_surge.down)&buff.arcane_salvo.react=25)))|buff.arcane_soul.up|(buff.arcane_salvo.react>8&cooldown.touch_of_the_magi.ready)
actions.sunfury_aoe+=/prismatic_bolt
actions.sunfury_aoe+=/arcane_orb,if=buff.arcane_charge.stack<3
actions.sunfury_aoe+=/arcane_pulse,if=active_enemies>=(variable.aoe_count-1)|buff.arcane_charge.stack<1
actions.sunfury_aoe+=/arcane_blast

actions.corner_soul=arcane_missiles,allow_arcane_missiles_delay=1,if=buff.clearcasting.react&buff.arcane_soul.remains>gcd.max*2&((buff.overpowered_missiles.down&buff.arcane_salvo.stack<12)|(buff.overpowered_missiles.up&buff.arcane_salvo.stack<8)),chain=1,interrupt_if=tick_time>gcd.remains&buff.arcane_soul.remains<gcd.max*1.5,interrupt_global=1,interrupt_immediate=1
actions.corner_soul+=/arcane_barrage