.section ".text.typst::math::lr::>::layout_math","ax",@progbits .globl typst::math::lr::>::layout_math .p2align 4, 0x90 .type typst::math::lr::>::layout_math,@function typst::math::lr::>::layout_math: .cfi_startproc .cfi_personality 155, DW.ref.rust_eh_personality .cfi_lsda 27, .Lexception3462 push rbp .cfi_def_cfa_offset 16 push r15 .cfi_def_cfa_offset 24 push r14 .cfi_def_cfa_offset 32 push r13 .cfi_def_cfa_offset 40 push r12 .cfi_def_cfa_offset 48 push rbx .cfi_def_cfa_offset 56 sub rsp, 232 .cfi_def_cfa_offset 288 .cfi_offset rbx, -56 .cfi_offset r12, -48 .cfi_offset r13, -40 .cfi_offset r14, -32 .cfi_offset r15, -24 .cfi_offset rbp, -16 mov qword ptr [rsp + 24], rdx mov r12, rsi mov rbx, rdi mov rcx, qword ptr [rdi + 16] lea rsi, [rip + .Lanon.64346fae68f7b6493629af87379b5a7d.8975] lea rdi, [rsp + 192] mov edx, 7 call qword ptr [rip + typst_timing::TimingScope::new@GOTPCREL] mov rax, qword ptr [rbx + 8] mov rdi, qword ptr [rax + 16] cmp rdi, 17 mov r8d, 16 cmovae r8, rdi dec r8 mov rax, r8 and rax, -16 add rax, qword ptr [rbx] mov ecx, 16 and r8, -64 add r8, rax dec rdi and rdi, -16 mov rax, qword ptr [rdi + r8 + 136] mov rdx, qword ptr [rax + 16] cmp rdx, 17 cmovae rcx, rdx dec rcx mov rsi, rcx and rsi, -16 mov qword ptr [rsp + 56], rdi mov qword ptr [rsp + 112], r8 add rsi, qword ptr [rdi + r8 + 128] and rcx, -64 add rcx, rsi dec rdx and rdx, -16 lea rdi, [rdx + rcx] add rdi, 96 call qword ptr [rax + 112] mov rcx, qword ptr [rsp + 56] mov rsi, qword ptr [rsp + 112] lea rbx, [rcx + rsi] add rbx, 128 movabs rcx, -6301422707868368758 cmp rax, rcx jne .LBB10596_5 movabs rax, 7332711041426343755 cmp rdx, rax jne .LBB10596_5 mov rax, qword ptr [rsp + 56] mov rcx, qword ptr [rsp + 112] add rax, rcx add rax, 80 mov rcx, qword ptr [rax + 56] mov r14, qword ptr [rcx + 16] cmp r14, 17 mov r15d, 16 cmovae r15, r14 dec r15 mov rcx, r15 and rcx, -16 add rcx, qword ptr [rax + 48] and r15, -64 add r15, rcx dec r14 and r14, -16 lea rax, [r14 + r15] add rax, 96 xor r8d, r8d cmp dword ptr [r14 + r15 + 96], 2 cmovne r8, rax mov rdx, qword ptr [rip + typst::math::lr::_::::data::DATA@GOTPCREL] lea rdi, [rsp + 64] mov rsi, qword ptr [rsp + 24] xor ecx, ecx call typst::foundations::styles::StyleChain::get lea rax, [r14 + r15] add rax, 80 add rax, 48 cmp qword ptr [rsp + 64], 0 cmove rbx, rax .LBB10596_5: mov rcx, qword ptr [rsp + 24] mov rax, qword ptr [rcx + 16] mov qword ptr [rsp + 80], rax movupd xmm0, xmmword ptr [rcx] movapd xmmword ptr [rsp + 64], xmm0 lea rcx, [rip + .Lanon.64346fae68f7b6493629af87379b5a7d.4824] lea rdi, [rsp + 144] lea r8, [rsp + 64] mov rsi, r12 mov rdx, rbx call qword ptr [rip + typst::math::ctx::MathContext::layout_into_fragments@GOTPCREL] mov qword ptr [rsp + 16], r12 mov rax, qword ptr [rsp + 144] mov r12, qword ptr [rsp + 152] movabs rcx, -9223372036854775808 mov rdx, qword ptr [rsp + 160] cmp rax, rcx mov qword ptr [rsp + 8], rdx jne .LBB10596_9 cmp qword ptr [rsp + 192], 0 je .LBB10596_145 lea rdi, [rsp + 192] call qword ptr [rip + ::drop@GOTPCREL] jmp .LBB10596_145 .LBB10596_9: mov qword ptr [rsp + 168], rax mov qword ptr [rsp + 176], r12 mov qword ptr [rsp + 184], rdx mov rax, qword ptr [rsp + 16] mov r8, qword ptr [rax + 152] cmp r8, 12 jb .LBB10596_10 mov rcx, qword ptr [rax + 144] lea rsi, [rcx + 12] lea rdx, [r8 - 12] lea rdi, [rsp + 64] call qword ptr [rip + ttf_parser::tables::math::MathValue::parse@GOTPCREL] cmp dword ptr [rsp + 64], 2 jne .LBB10596_14 .LBB10596_10: xor ebx, ebx jmp .LBB10596_15 .LBB10596_14: movzx ebx, word ptr [rsp + 96] .LBB10596_15: mov rdi, qword ptr [rsp + 24] call qword ptr [rip + typst::math::equation::_::::size_in@GOTPCREL] movzx eax, al lea ecx, [rax - 2] cmp ecx, 2 jae .LBB10596_18 movsd xmm0, qword ptr [rip + .LCPI10596_0] jmp .LBB10596_25 .LBB10596_18: xorpd xmm0, xmm0 test eax, eax jne .LBB10596_21 mov rax, qword ptr [rsp + 16] cmp qword ptr [rax + 152], 4 jb .LBB10596_24 mov rax, qword ptr [rsp + 16] mov rax, qword ptr [rax + 144] movzx eax, word ptr [rax + 2] jmp .LBB10596_23 .LBB10596_21: mov rax, qword ptr [rsp + 16] cmp qword ptr [rax + 152], 2 jb .LBB10596_24 mov rax, qword ptr [rsp + 16] mov rax, qword ptr [rax + 144] movzx eax, word ptr [rax] .LBB10596_23: rol ax, 8 cwde xorps xmm0, xmm0 cvtsi2sd xmm0, eax .LBB10596_24: divsd xmm0, qword ptr [rip + .LCPI10596_1] .LBB10596_25: movsd qword ptr [rsp + 32], xmm0 mov rdi, qword ptr [rsp + 24] call qword ptr [rip + typst::text::_::::size_in@GOTPCREL] movabs r14, 9218868437227405312 movabs r15, 4503599627370495 movq xmm1, qword ptr [rsp + 32] movq rax, xmm1 test rax, r15 not rax je .LBB10596_28 pxor xmm1, xmm1 .LBB10596_28: test rax, r14 jne .LBB10596_30 movq qword ptr [rsp + 32], xmm1 .LBB10596_30: mulsd xmm0, qword ptr [rsp + 32] movq rax, xmm0 movapd xmm1, xmm0 test rax, r15 not rax je .LBB10596_32 xorpd xmm1, xmm1 .LBB10596_32: test rax, r14 jne .LBB10596_34 movapd xmm0, xmm1 .LBB10596_34: mov rax, qword ptr [rsp + 16] mov rax, qword ptr [rax + 600] mov rax, qword ptr [rax] movsx ecx, bx xorps xmm1, xmm1 cvtsi2sd xmm1, ecx divsd xmm1, qword ptr [rax + 5840] movq rax, xmm1 movapd xmm2, xmm1 test rax, r15 not rax je .LBB10596_36 xorpd xmm2, xmm2 .LBB10596_36: test rax, r14 jne .LBB10596_38 movapd xmm1, xmm2 .LBB10596_38: movq rax, xmm1 movapd xmm2, xmm1 test rax, r15 not rax je .LBB10596_40 xorpd xmm2, xmm2 .LBB10596_40: test rax, r14 jne .LBB10596_42 movapd xmm1, xmm2 .LBB10596_42: mulsd xmm0, xmm1 movq rax, xmm0 movapd xmm1, xmm0 test rax, r15 not rax je .LBB10596_44 xorpd xmm1, xmm1 .LBB10596_44: test rax, r14 jne .LBB10596_46 movapd xmm0, xmm1 .LBB10596_46: movapd xmm1, xmmword ptr [rip + .LCPI10596_2] andpd xmm1, xmm0 cmpltsd xmm1, qword ptr [rip + .LCPI10596_3] andpd xmm1, xmm0 movlpd qword ptr [rsp + 136], xmm1 cmp qword ptr [rsp + 8], 0 je .LBB10596_55 lea rdi, [rsp + 136] mov rsi, r12 call typst::math::lr::>::layout_math::{{closure}} movsd qword ptr [rsp + 104], xmm0 mov ebx, 1 mov rax, qword ptr [rsp + 8] cmp rax, 1 je .LBB10596_57 lea rbx, [r12 + 176] imul rax, rax, 176 add rax, -176 movabs rcx, 3353953467947191203 mul rcx mov r13, rdx shr r13, 5 lea r15, [rsp + 144] lea r14, [rsp + 64] mov rbp, qword ptr [rip + ::cmp@GOTPCREL] jmp .LBB10596_51 .p2align 4, 0x90 .LBB10596_50: add rbx, 176 dec r13 je .LBB10596_56 .LBB10596_51: lea rdi, [rsp + 136] mov rsi, rbx call typst::math::lr::>::layout_math::{{closure}} movapd xmm1, xmm0 movsd xmm0, qword ptr [rsp + 104] movsd qword ptr [rsp + 144], xmm0 movsd qword ptr [rsp + 64], xmm1 mov rdi, r15 mov rsi, r14 movsd qword ptr [rsp + 32], xmm1 call rbp movsd xmm0, qword ptr [rsp + 32] cmp al, 1 je .LBB10596_50 movsd qword ptr [rsp + 104], xmm0 jmp .LBB10596_50 .LBB10596_55: xor ebx, ebx jmp .LBB10596_57 .LBB10596_56: movabs r14, 9218868437227405312 movabs r15, 4503599627370495 mov ebx, 1 .LBB10596_57: mov rax, qword ptr [rsp + 56] mov rcx, qword ptr [rsp + 112] add rax, rcx add rax, 96 xor r8d, r8d cmp dword ptr [rax], 2 cmovne r8, rax mov rdx, qword ptr [rip + typst::math::lr::_::::data::DATA@GOTPCREL] lea rdi, [rsp + 64] mov rsi, qword ptr [rsp + 24] xor ecx, ecx call typst::foundations::styles::StyleChain::get cmp qword ptr [rsp + 64], 0 je .LBB10596_60 movsd xmm0, qword ptr [rsp + 88] movsd qword ptr [rsp + 32], xmm0 xorpd xmm0, xmm0 xorpd xmm1, xmm1 jne .LBB10596_61 jmp .LBB10596_62 .LBB10596_60: movsd xmm0, qword ptr [rip + .LCPI10596_0] movsd qword ptr [rsp + 32], xmm0 xorpd xmm0, xmm0 xorpd xmm1, xmm1 je .LBB10596_62 .LBB10596_61: movsd xmm0, qword ptr [rsp + 72] movsd xmm1, qword ptr [rsp + 80] .LBB10596_62: movsd qword ptr [rsp + 56], xmm0 movapd xmmword ptr [rsp + 112], xmm1 movsd qword ptr [rsp + 144], xmm1 mov qword ptr [rsp + 64], 0 lea rdi, [rsp + 144] lea rsi, [rsp + 64] call qword ptr [rip + ::eq@GOTPCREL] xorpd xmm0, xmm0 test al, al jne .LBB10596_74 mov rdi, qword ptr [rsp + 24] call qword ptr [rip + typst::text::_::::size_in@GOTPCREL] movdqa xmm2, xmmword ptr [rsp + 112] movq rax, xmm2 movdqa xmm1, xmm2 test rax, r15 not rax je .LBB10596_67 pxor xmm1, xmm1 .LBB10596_67: test r14, rax jne .LBB10596_69 movdqa xmm2, xmm1 .LBB10596_69: mulsd xmm2, xmm0 movq rax, xmm2 movapd xmm0, xmm2 test rax, r15 not rax je .LBB10596_71 xorpd xmm0, xmm0 .LBB10596_71: test r14, rax jne .LBB10596_73 movapd xmm2, xmm0 .LBB10596_73: movapd xmm0, xmmword ptr [rip + .LCPI10596_2] andpd xmm0, xmm2 cmpltsd xmm0, qword ptr [rip + .LCPI10596_3] andpd xmm0, xmm2 .LBB10596_74: movsd xmm1, qword ptr [rsp + 56] addsd xmm1, xmm0 movq rax, xmm1 movapd xmm2, xmm1 movapd xmm0, xmm1 test rax, r15 not rax je .LBB10596_75 xorpd xmm0, xmm0 test r14, rax je .LBB10596_99 .LBB10596_76: xorpd xmm0, xmm0 test rbx, rbx je .LBB10596_78 .LBB10596_77: movsd xmm0, qword ptr [rsp + 104] addsd xmm0, xmm0 .LBB10596_78: movq rax, xmm0 movapd xmm1, xmm0 test rax, r15 not rax je .LBB10596_80 xorpd xmm1, xmm1 .LBB10596_80: test r14, rax jne .LBB10596_82 movapd xmm0, xmm1 .LBB10596_82: movq xmm1, qword ptr [rsp + 32] movq rax, xmm1 test rax, r15 not rax je .LBB10596_84 pxor xmm1, xmm1 .LBB10596_84: test r14, rax jne .LBB10596_86 movq qword ptr [rsp + 32], xmm1 .LBB10596_86: mulsd xmm0, qword ptr [rsp + 32] movq rax, xmm0 movapd xmm1, xmm0 test rax, r15 not rax je .LBB10596_88 xorpd xmm1, xmm1 .LBB10596_88: test r14, rax jne .LBB10596_90 movapd xmm0, xmm1 .LBB10596_90: movapd xmm1, xmmword ptr [rip + .LCPI10596_2] andpd xmm1, xmm0 cmpltsd xmm1, qword ptr [rip + .LCPI10596_3] andpd xmm1, xmm0 addsd xmm1, xmm2 movq rax, xmm1 movaps xmmword ptr [rsp + 32], xmm1 movapd xmm0, xmm1 test rax, r15 not rax je .LBB10596_91 xorpd xmm0, xmm0 test r14, rax je .LBB10596_101 .LBB10596_92: cmp qword ptr [rsp + 8], 0 je .LBB10596_102 .LBB10596_93: lea rax, [r12 + 138] xor r13d, r13d .p2align 4, 0x90 .LBB10596_94: cmp dword ptr [rax - 90], 4 jne .LBB10596_103 cmp byte ptr [rax], 0 je .LBB10596_103 inc r13 add rax, 176 cmp qword ptr [rsp + 8], r13 jne .LBB10596_94 mov r13, qword ptr [rsp + 8] jmp .LBB10596_103 .LBB10596_75: test r14, rax jne .LBB10596_76 .LBB10596_99: movapd xmm2, xmm0 xorpd xmm0, xmm0 test rbx, rbx jne .LBB10596_77 jmp .LBB10596_78 .LBB10596_91: test r14, rax jne .LBB10596_92 .LBB10596_101: movapd xmmword ptr [rsp + 32], xmm0 cmp qword ptr [rsp + 8], 0 jne .LBB10596_93 .LBB10596_102: xor r13d, r13d .LBB10596_103: mov rdi, qword ptr [rsp + 8] cmp r13, rdi mov rbp, rdi cmovb rbp, r13 imul rax, rdi, 176 add rax, r12 add rax, -38 .p2align 4, 0x90 .LBB10596_104: cmp rdi, r13 jbe .LBB10596_109 lea rcx, [rdi - 1] cmp rcx, qword ptr [rsp + 8] jae .LBB10596_146 cmp dword ptr [rax - 90], 4 jne .LBB10596_108 cmp byte ptr [rax], 0 lea rax, [rax - 176] mov rdi, rcx jne .LBB10596_104 .LBB10596_108: inc rcx mov rbp, rcx .LBB10596_109: cmp rbp, r13 jb .LBB10596_147 imul r14, r13, 176 lea rbx, [r12 + r14] mov r15, rbp sub r15, r13 je .LBB10596_115 cmp r15, 1 jne .LBB10596_113 mov rdi, qword ptr [rsp + 16] mov rsi, qword ptr [rsp + 24] mov rdx, rbx movapd xmm0, xmmword ptr [rsp + 32] mov ecx, 15 call typst::math::lr::scale jmp .LBB10596_115 .LBB10596_113: mov rdi, qword ptr [rsp + 16] mov rsi, qword ptr [rsp + 24] mov rdx, rbx movapd xmm0, xmmword ptr [rsp + 32] mov ecx, 8 call typst::math::lr::scale imul rax, r15, 176 lea rdx, [rax + rbx] add rdx, -176 mov rdi, qword ptr [rsp + 16] mov rsi, qword ptr [rsp + 24] movapd xmm0, xmmword ptr [rsp + 32] mov ecx, 3 call typst::math::lr::scale .LBB10596_115: cmp rbp, r13 jne .LBB10596_124 .LBB10596_116: cmp qword ptr [rsp + 8], 0 je .LBB10596_129 add r12, 48 mov rax, r13 neg rax mov r14d, 1 xor r15d, r15d xor ecx, ecx jmp .LBB10596_119 .p2align 4, 0x90 .LBB10596_118: inc rcx add r12, 176 inc r14 cmp rcx, qword ptr [rsp + 8] je .LBB10596_137 .LBB10596_119: lea rdx, [rax + r14] cmp rdx, 2 je .LBB10596_121 lea rdx, [rcx + 2] cmp rdx, rbp jne .LBB10596_118 .LBB10596_121: cmp dword ptr [r12], 5 jne .LBB10596_118 cmp byte ptr [r12 - 40], 0 je .LBB10596_118 mov r15d, 1 cmp r14, qword ptr [rsp + 8] jne .LBB10596_130 jmp .LBB10596_137 .LBB10596_124: imul r15, rbp, 176 sub r15, r14 jmp .LBB10596_126 .p2align 4, 0x90 .LBB10596_125: add rbx, 176 add r15, -176 je .LBB10596_116 .LBB10596_126: cmp dword ptr [rbx + 48], 3 jne .LBB10596_125 cmp byte ptr [rbx + 145], 0 jne .LBB10596_125 mov byte ptr [rbx + 145], 1 mov rdi, qword ptr [rsp + 16] mov rsi, qword ptr [rsp + 24] mov rdx, rbx movapd xmm0, xmmword ptr [rsp + 32] mov ecx, 7 call typst::math::lr::scale jmp .LBB10596_125 .LBB10596_129: xor r14d, r14d xor r15d, r15d cmp r14, qword ptr [rsp + 8] je .LBB10596_137 .LBB10596_130: sub r13, r14 inc r13 imul rbx, r14, 176 add rbx, qword ptr [rsp + 176] mov r12, qword ptr [rip + memcpy@GOTPCREL] jmp .LBB10596_132 .p2align 4, 0x90 .LBB10596_131: imul rdi, r15, -176 add rdi, rbx mov edx, 176 mov rsi, rbx call r12 inc r14 add rbx, 176 cmp r14, qword ptr [rsp + 8] je .LBB10596_137 .LBB10596_132: sub r13, 1 jb .LBB10596_134 lea rax, [r14 + 2] cmp rax, rbp jne .LBB10596_131 .LBB10596_134: cmp dword ptr [rbx + 48], 5 jne .LBB10596_131 cmp byte ptr [rbx + 8], 0 je .LBB10596_131 inc r15 inc r14 add rbx, 176 cmp r14, qword ptr [rsp + 8] jne .LBB10596_132 .LBB10596_137: mov r14, qword ptr [rsp + 8] sub r14, r15 mov r13, qword ptr [rsp + 168] mov rbx, qword ptr [rsp + 176] imul r15, r14, 176 lea rax, [rbx + r15] mov qword ptr [rsp + 64], rbx mov qword ptr [rsp + 80], r13 mov qword ptr [rsp + 72], rbx mov qword ptr [rsp + 88], rax mov rbp, qword ptr [rsp + 16] mov rax, qword ptr [rbp + 544] mov r12, qword ptr [rbp + 560] sub rax, r12 cmp rax, r14 jae .LBB10596_140 lea rdi, [rbp + 544] mov rsi, r12 mov rdx, r14 call alloc::raw_vec::RawVec::reserve::do_reserve_and_handle mov r12, qword ptr [rbp + 560] .LBB10596_140: imul rdi, r12, 176 add rdi, qword ptr [rbp + 552] mov rsi, rbx mov rdx, r15 call qword ptr [rip + memcpy@GOTPCREL] add r14, r12 mov qword ptr [rbp + 560], r14 test r13, r13 je .LBB10596_142 imul rsi, r13, 176 mov edx, 16 mov rdi, rbx call qword ptr [rip + __rust_dealloc@GOTPCREL] .LBB10596_142: cmp qword ptr [rsp + 192], 0 je .LBB10596_144 lea rdi, [rsp + 192] call qword ptr [rip + ::drop@GOTPCREL] .LBB10596_144: xor r12d, r12d .LBB10596_145: mov rax, r12 mov rdx, qword ptr [rsp + 8] add rsp, 232 .cfi_def_cfa_offset 56 pop rbx .cfi_def_cfa_offset 48 pop r12 .cfi_def_cfa_offset 40 pop r13 .cfi_def_cfa_offset 32 pop r14 .cfi_def_cfa_offset 24 pop r15 .cfi_def_cfa_offset 16 pop rbp .cfi_def_cfa_offset 8 ret .LBB10596_146: .cfi_def_cfa_offset 288 dec rdi lea rdx, [rip + .Lanon.64346fae68f7b6493629af87379b5a7d.8976] mov rsi, qword ptr [rsp + 8] call qword ptr [rip + core::panicking::panic_bounds_check@GOTPCREL] jmp .LBB10596_148 .LBB10596_147: lea rdx, [rip + .Lanon.64346fae68f7b6493629af87379b5a7d.8977] mov rdi, r13 mov rsi, rbp call qword ptr [rip + core::slice::index::slice_index_order_fail@GOTPCREL] .LBB10596_148: ud2 mov rbx, rax lea rdi, [rsp + 64] call core::ptr::drop_in_place> jmp .LBB10596_156 call qword ptr [rip + core::panicking::panic_in_cleanup@GOTPCREL] jmp .LBB10596_155 mov rbx, rax jmp .LBB10596_156 jmp .LBB10596_155 .LBB10596_155: mov rbx, rax lea rdi, [rsp + 168] call core::ptr::drop_in_place> .LBB10596_156: cmp qword ptr [rsp + 192], 0 je .LBB10596_158 lea rdi, [rsp + 192] call qword ptr [rip + ::drop@GOTPCREL] .LBB10596_158: mov rdi, rbx call _Unwind_Resume@PLT call qword ptr [rip + core::panicking::panic_in_cleanup@GOTPCREL]