.include "macros.inc" .section .text, "ax" # 80268260 .global cM2d_CrossCirLin cM2d_CrossCirLin: /* 80268260 002651A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80268264 002651A4 C0 03 00 00 */ lfs f0, 0(r3) /* 80268268 002651A8 EC E1 00 28 */ fsubs f7, f1, f0 /* 8026826C 002651AC C0 03 00 04 */ lfs f0, 4(r3) /* 80268270 002651B0 ED 02 00 28 */ fsubs f8, f2, f0 /* 80268274 002651B4 EC C3 00 F2 */ fmuls f6, f3, f3 /* 80268278 002651B8 EC 04 01 32 */ fmuls f0, f4, f4 /* 8026827C 002651BC ED 46 00 2A */ fadds f10, f6, f0 /* 80268280 002651C0 C1 22 B6 F0 */ lfs f9, lbl_804550F0-_SDA2_BASE_(r2) /* 80268284 002651C4 EC C3 01 F2 */ fmuls f6, f3, f7 /* 80268288 002651C8 EC 04 02 32 */ fmuls f0, f4, f8 /* 8026828C 002651CC EC 06 00 2A */ fadds f0, f6, f0 /* 80268290 002651D0 EC 09 00 32 */ fmuls f0, f9, f0 /* 80268294 002651D4 EC E7 01 F2 */ fmuls f7, f7, f7 /* 80268298 002651D8 EC C8 02 32 */ fmuls f6, f8, f8 /* 8026829C 002651DC EC E7 30 2A */ fadds f7, f7, f6 /* 802682A0 002651E0 C0 C3 00 08 */ lfs f6, 8(r3) /* 802682A4 002651E4 EC C6 01 B2 */ fmuls f6, f6, f6 /* 802682A8 002651E8 ED 67 30 28 */ fsubs f11, f7, f6 /* 802682AC 002651EC FC C0 52 10 */ fabs f6, f10 /* 802682B0 002651F0 FC C0 30 18 */ frsp f6, f6 /* 802682B4 002651F4 C1 0D 8C 00 */ lfs f8, lbl_80451180-_SDA_BASE_(r13) /* 802682B8 002651F8 FC 06 40 40 */ fcmpo cr0, f6, f8 /* 802682BC 002651FC 40 80 00 20 */ bge lbl_802682DC /* 802682C0 00265200 FC C0 02 10 */ fabs f6, f0 /* 802682C4 00265204 FC C0 30 18 */ frsp f6, f6 /* 802682C8 00265208 FC 06 40 40 */ fcmpo cr0, f6, f8 /* 802682CC 0026520C 41 80 02 54 */ blt lbl_80268520 /* 802682D0 00265210 FC A0 58 50 */ fneg f5, f11 /* 802682D4 00265214 EC A5 00 24 */ fdivs f5, f5, f0 /* 802682D8 00265218 48 00 02 48 */ b lbl_80268520 lbl_802682DC: /* 802682DC 0026521C EC E0 00 32 */ fmuls f7, f0, f0 /* 802682E0 00265220 C0 C2 B6 F4 */ lfs f6, lbl_804550F4-_SDA2_BASE_(r2) /* 802682E4 00265224 EC C6 02 B2 */ fmuls f6, f6, f10 /* 802682E8 00265228 EC C6 02 F2 */ fmuls f6, f6, f11 /* 802682EC 0026522C EC C7 30 28 */ fsubs f6, f7, f6 /* 802682F0 00265230 FC E0 32 10 */ fabs f7, f6 /* 802682F4 00265234 FC E0 38 18 */ frsp f7, f7 /* 802682F8 00265238 FC 07 40 40 */ fcmpo cr0, f7, f8 /* 802682FC 0026523C 40 80 00 14 */ bge lbl_80268310 /* 80268300 00265240 FC A0 00 50 */ fneg f5, f0 /* 80268304 00265244 EC 09 02 B2 */ fmuls f0, f9, f10 /* 80268308 00265248 EC A5 00 24 */ fdivs f5, f5, f0 /* 8026830C 0026524C 48 00 02 14 */ b lbl_80268520 lbl_80268310: /* 80268310 00265250 C0 E2 B6 F8 */ lfs f7, lbl_804550F8-_SDA2_BASE_(r2) /* 80268314 00265254 FC 06 38 40 */ fcmpo cr0, f6, f7 /* 80268318 00265258 41 80 02 08 */ blt lbl_80268520 /* 8026831C 0026525C C0 E2 B6 FC */ lfs f7, lbl_804550FC-_SDA2_BASE_(r2) /* 80268320 00265260 EC A9 02 B2 */ fmuls f5, f9, f10 /* 80268324 00265264 EC A7 28 24 */ fdivs f5, f7, f5 /* 80268328 00265268 40 81 00 58 */ ble lbl_80268380 /* 8026832C 0026526C FC E0 30 34 */ frsqrte f7, f6 /* 80268330 00265270 C9 42 B7 00 */ lfd f10, lbl_80455100-_SDA2_BASE_(r2) /* 80268334 00265274 FD 0A 01 F2 */ fmul f8, f10, f7 /* 80268338 00265278 C9 22 B7 08 */ lfd f9, lbl_80455108-_SDA2_BASE_(r2) /* 8026833C 0026527C FC E7 01 F2 */ fmul f7, f7, f7 /* 80268340 00265280 FC E6 01 F2 */ fmul f7, f6, f7 /* 80268344 00265284 FC E9 38 28 */ fsub f7, f9, f7 /* 80268348 00265288 FC E8 01 F2 */ fmul f7, f8, f7 /* 8026834C 0026528C FD 0A 01 F2 */ fmul f8, f10, f7 /* 80268350 00265290 FC E7 01 F2 */ fmul f7, f7, f7 /* 80268354 00265294 FC E6 01 F2 */ fmul f7, f6, f7 /* 80268358 00265298 FC E9 38 28 */ fsub f7, f9, f7 /* 8026835C 0026529C FC E8 01 F2 */ fmul f7, f8, f7 /* 80268360 002652A0 FD 0A 01 F2 */ fmul f8, f10, f7 /* 80268364 002652A4 FC E7 01 F2 */ fmul f7, f7, f7 /* 80268368 002652A8 FC E6 01 F2 */ fmul f7, f6, f7 /* 8026836C 002652AC FC E9 38 28 */ fsub f7, f9, f7 /* 80268370 002652B0 FC E8 01 F2 */ fmul f7, f8, f7 /* 80268374 002652B4 FC E6 01 F2 */ fmul f7, f6, f7 /* 80268378 002652B8 FC E0 38 18 */ frsp f7, f7 /* 8026837C 002652BC 48 00 00 90 */ b lbl_8026840C lbl_80268380: /* 80268380 002652C0 C8 E2 B7 10 */ lfd f7, lbl_80455110-_SDA2_BASE_(r2) /* 80268384 002652C4 FC 06 38 40 */ fcmpo cr0, f6, f7 /* 80268388 002652C8 40 80 00 10 */ bge lbl_80268398 /* 8026838C 002652CC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha /* 80268390 002652D0 C0 E3 0A E0 */ lfs f7, lbl_80450AE0@l(r3) /* 80268394 002652D4 48 00 00 78 */ b lbl_8026840C lbl_80268398: /* 80268398 002652D8 D0 C1 00 0C */ stfs f6, 0xc(r1) /* 8026839C 002652DC 80 C1 00 0C */ lwz r6, 0xc(r1) /* 802683A0 002652E0 54 C3 00 50 */ rlwinm r3, r6, 0, 1, 8 /* 802683A4 002652E4 3C 00 7F 80 */ lis r0, 0x7f80 /* 802683A8 002652E8 7C 03 00 00 */ cmpw r3, r0 /* 802683AC 002652EC 41 82 00 14 */ beq lbl_802683C0 /* 802683B0 002652F0 40 80 00 40 */ bge lbl_802683F0 /* 802683B4 002652F4 2C 03 00 00 */ cmpwi r3, 0 /* 802683B8 002652F8 41 82 00 20 */ beq lbl_802683D8 /* 802683BC 002652FC 48 00 00 34 */ b lbl_802683F0 lbl_802683C0: /* 802683C0 00265300 54 C0 02 7F */ clrlwi. r0, r6, 9 /* 802683C4 00265304 41 82 00 0C */ beq lbl_802683D0 /* 802683C8 00265308 38 00 00 01 */ li r0, 1 /* 802683CC 0026530C 48 00 00 28 */ b lbl_802683F4 lbl_802683D0: /* 802683D0 00265310 38 00 00 02 */ li r0, 2 /* 802683D4 00265314 48 00 00 20 */ b lbl_802683F4 lbl_802683D8: /* 802683D8 00265318 54 C0 02 7F */ clrlwi. r0, r6, 9 /* 802683DC 0026531C 41 82 00 0C */ beq lbl_802683E8 /* 802683E0 00265320 38 00 00 05 */ li r0, 5 /* 802683E4 00265324 48 00 00 10 */ b lbl_802683F4 lbl_802683E8: /* 802683E8 00265328 38 00 00 03 */ li r0, 3 /* 802683EC 0026532C 48 00 00 08 */ b lbl_802683F4 lbl_802683F0: /* 802683F0 00265330 38 00 00 04 */ li r0, 4 lbl_802683F4: /* 802683F4 00265334 2C 00 00 01 */ cmpwi r0, 1 /* 802683F8 00265338 40 82 00 10 */ bne lbl_80268408 /* 802683FC 0026533C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha /* 80268400 00265340 C0 E3 0A E0 */ lfs f7, lbl_80450AE0@l(r3) /* 80268404 00265344 48 00 00 08 */ b lbl_8026840C lbl_80268408: /* 80268408 00265348 FC E0 30 90 */ fmr f7, f6 lbl_8026840C: /* 8026840C 0026534C FD 40 00 50 */ fneg f10, f0 /* 80268410 00265350 EC 0A 38 2A */ fadds f0, f10, f7 /* 80268414 00265354 ED 65 00 32 */ fmuls f11, f5, f0 /* 80268418 00265358 C0 02 B6 F8 */ lfs f0, lbl_804550F8-_SDA2_BASE_(r2) /* 8026841C 0026535C FC 06 00 40 */ fcmpo cr0, f6, f0 /* 80268420 00265360 40 81 00 58 */ ble lbl_80268478 /* 80268424 00265364 FC 00 30 34 */ frsqrte f0, f6 /* 80268428 00265368 C9 22 B7 00 */ lfd f9, lbl_80455100-_SDA2_BASE_(r2) /* 8026842C 0026536C FC E9 00 32 */ fmul f7, f9, f0 /* 80268430 00265370 C9 02 B7 08 */ lfd f8, lbl_80455108-_SDA2_BASE_(r2) /* 80268434 00265374 FC 00 00 32 */ fmul f0, f0, f0 /* 80268438 00265378 FC 06 00 32 */ fmul f0, f6, f0 /* 8026843C 0026537C FC 08 00 28 */ fsub f0, f8, f0 /* 80268440 00265380 FC 07 00 32 */ fmul f0, f7, f0 /* 80268444 00265384 FC E9 00 32 */ fmul f7, f9, f0 /* 80268448 00265388 FC 00 00 32 */ fmul f0, f0, f0 /* 8026844C 0026538C FC 06 00 32 */ fmul f0, f6, f0 /* 80268450 00265390 FC 08 00 28 */ fsub f0, f8, f0 /* 80268454 00265394 FC 07 00 32 */ fmul f0, f7, f0 /* 80268458 00265398 FC E9 00 32 */ fmul f7, f9, f0 /* 8026845C 0026539C FC 00 00 32 */ fmul f0, f0, f0 /* 80268460 002653A0 FC 06 00 32 */ fmul f0, f6, f0 /* 80268464 002653A4 FC 08 00 28 */ fsub f0, f8, f0 /* 80268468 002653A8 FC 07 00 32 */ fmul f0, f7, f0 /* 8026846C 002653AC FC 06 00 32 */ fmul f0, f6, f0 /* 80268470 002653B0 FC 00 00 18 */ frsp f0, f0 /* 80268474 002653B4 48 00 00 90 */ b lbl_80268504 lbl_80268478: /* 80268478 002653B8 C8 02 B7 10 */ lfd f0, lbl_80455110-_SDA2_BASE_(r2) /* 8026847C 002653BC FC 06 00 40 */ fcmpo cr0, f6, f0 /* 80268480 002653C0 40 80 00 10 */ bge lbl_80268490 /* 80268484 002653C4 3C 60 80 45 */ lis r3, lbl_80450AE0@ha /* 80268488 002653C8 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) /* 8026848C 002653CC 48 00 00 78 */ b lbl_80268504 lbl_80268490: /* 80268490 002653D0 D0 C1 00 08 */ stfs f6, 8(r1) /* 80268494 002653D4 80 C1 00 08 */ lwz r6, 8(r1) /* 80268498 002653D8 54 C3 00 50 */ rlwinm r3, r6, 0, 1, 8 /* 8026849C 002653DC 3C 00 7F 80 */ lis r0, 0x7f80 /* 802684A0 002653E0 7C 03 00 00 */ cmpw r3, r0 /* 802684A4 002653E4 41 82 00 14 */ beq lbl_802684B8 /* 802684A8 002653E8 40 80 00 40 */ bge lbl_802684E8 /* 802684AC 002653EC 2C 03 00 00 */ cmpwi r3, 0 /* 802684B0 002653F0 41 82 00 20 */ beq lbl_802684D0 /* 802684B4 002653F4 48 00 00 34 */ b lbl_802684E8 lbl_802684B8: /* 802684B8 002653F8 54 C0 02 7F */ clrlwi. r0, r6, 9 /* 802684BC 002653FC 41 82 00 0C */ beq lbl_802684C8 /* 802684C0 00265400 38 00 00 01 */ li r0, 1 /* 802684C4 00265404 48 00 00 28 */ b lbl_802684EC lbl_802684C8: /* 802684C8 00265408 38 00 00 02 */ li r0, 2 /* 802684CC 0026540C 48 00 00 20 */ b lbl_802684EC lbl_802684D0: /* 802684D0 00265410 54 C0 02 7F */ clrlwi. r0, r6, 9 /* 802684D4 00265414 41 82 00 0C */ beq lbl_802684E0 /* 802684D8 00265418 38 00 00 05 */ li r0, 5 /* 802684DC 0026541C 48 00 00 10 */ b lbl_802684EC lbl_802684E0: /* 802684E0 00265420 38 00 00 03 */ li r0, 3 /* 802684E4 00265424 48 00 00 08 */ b lbl_802684EC lbl_802684E8: /* 802684E8 00265428 38 00 00 04 */ li r0, 4 lbl_802684EC: /* 802684EC 0026542C 2C 00 00 01 */ cmpwi r0, 1 /* 802684F0 00265430 40 82 00 10 */ bne lbl_80268500 /* 802684F4 00265434 3C 60 80 45 */ lis r3, lbl_80450AE0@ha /* 802684F8 00265438 C0 03 0A E0 */ lfs f0, lbl_80450AE0@l(r3) /* 802684FC 0026543C 48 00 00 08 */ b lbl_80268504 lbl_80268500: /* 80268500 00265440 FC 00 30 90 */ fmr f0, f6 lbl_80268504: /* 80268504 00265444 EC 0A 00 28 */ fsubs f0, f10, f0 /* 80268508 00265448 EC 05 00 32 */ fmuls f0, f5, f0 /* 8026850C 0026544C FC 0B 00 40 */ fcmpo cr0, f11, f0 /* 80268510 00265450 40 81 00 0C */ ble lbl_8026851C /* 80268514 00265454 FC A0 58 90 */ fmr f5, f11 /* 80268518 00265458 48 00 00 08 */ b lbl_80268520 lbl_8026851C: /* 8026851C 0026545C FC A0 00 90 */ fmr f5, f0 lbl_80268520: /* 80268520 00265460 FC 00 2A 10 */ fabs f0, f5 /* 80268524 00265464 FC C0 00 18 */ frsp f6, f0 /* 80268528 00265468 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13) /* 8026852C 0026546C FC 06 00 40 */ fcmpo cr0, f6, f0 /* 80268530 00265470 40 80 00 10 */ bge lbl_80268540 /* 80268534 00265474 D0 24 00 00 */ stfs f1, 0(r4) /* 80268538 00265478 D0 45 00 00 */ stfs f2, 0(r5) /* 8026853C 0026547C 48 00 00 1C */ b lbl_80268558 lbl_80268540: /* 80268540 00265480 EC 05 00 F2 */ fmuls f0, f5, f3 /* 80268544 00265484 EC 01 00 2A */ fadds f0, f1, f0 /* 80268548 00265488 D0 04 00 00 */ stfs f0, 0(r4) /* 8026854C 0026548C EC 05 01 32 */ fmuls f0, f5, f4 /* 80268550 00265490 EC 02 00 2A */ fadds f0, f2, f0 /* 80268554 00265494 D0 05 00 00 */ stfs f0, 0(r5) lbl_80268558: /* 80268558 00265498 38 21 00 10 */ addi r1, r1, 0x10 /* 8026855C 0026549C 4E 80 00 20 */ blr