Thanks for using Compiler Explorer
Sponsors
Jakt
C++
Ada
Analysis
Android Java
Android Kotlin
Assembly
C
C3
Carbon
C++ (Circle)
CIRCT
Clean
CMake
CMakeScript
COBOL
C++ for OpenCL
MLIR
Cppx
Cppx-Blue
Cppx-Gold
Cpp2-cppfront
Crystal
C#
CUDA C++
D
Dart
Elixir
Erlang
Fortran
F#
Go
Haskell
HLSL
Hook
Hylo
ispc
Java
Julia
Kotlin
LLVM IR
LLVM MIR
Modula-2
Nim
Objective-C
Objective-C++
OCaml
OpenCL C
Pascal
Pony
Python
Racket
Ruby
Rust
Snowball
Scala
Solidity
Spice
Swift
LLVM TableGen
Toit
TypeScript Native
V
Vala
Visual Basic
WASM
Zig
Javascript
GIMPLE
c source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
6502 cc65 2.17
6502 cc65 2.18
6502 cc65 2.19
6502 cc65 trunk
ARM GCC 10.2.0 (linux)
ARM GCC 10.2.1 (none)
ARM GCC 10.3.0 (linux)
ARM GCC 10.3.1 (2021.07 none)
ARM GCC 10.3.1 (2021.10 none)
ARM GCC 10.5.0
ARM GCC 11.1.0 (linux)
ARM GCC 11.2.0 (linux)
ARM GCC 11.2.1 (none)
ARM GCC 11.3.0 (linux)
ARM GCC 11.4.0
ARM GCC 12.1.0 (linux)
ARM GCC 12.2.0 (linux)
ARM GCC 12.3.0
ARM GCC 12.4.0
ARM GCC 13.1.0 (linux)
ARM GCC 13.2.0
ARM GCC 13.2.0 (unknown-eabi)
ARM GCC 13.3.0
ARM GCC 14.1.0
ARM GCC 4.5.4 (linux)
ARM GCC 4.6.4 (linux)
ARM GCC 5.4 (linux)
ARM GCC 5.4.1 (none)
ARM GCC 6.3.0 (linux)
ARM GCC 6.4.0 (linux)
ARM GCC 7.2.1 (none)
ARM GCC 7.3.0 (linux)
ARM GCC 7.5.0 (linux)
ARM GCC 8.2.0 (WinCE)
ARM GCC 8.2.0 (linux)
ARM GCC 8.3.1 (none)
ARM GCC 8.5.0 (linux)
ARM GCC 9.2.1 (none)
ARM GCC 9.3.0 (linux)
ARM GCC trunk (linux)
ARM msvc v19.0 (WINE)
ARM msvc v19.10 (WINE)
ARM msvc v19.14 (WINE)
ARM64 GCC 10.2.0
ARM64 GCC 10.3.0
ARM64 GCC 10.4.0
ARM64 GCC 10.5.0
ARM64 GCC 11.1.0
ARM64 GCC 11.2.0
ARM64 GCC 11.3.0
ARM64 GCC 11.4.0
ARM64 GCC 12.1.0
ARM64 GCC 12.2.0
ARM64 GCC 12.3.0
ARM64 GCC 12.4.0
ARM64 GCC 13.1.0
ARM64 GCC 13.2.0
ARM64 GCC 13.3.0
ARM64 GCC 14.1.0
ARM64 GCC 4.9.4
ARM64 GCC 5.4
ARM64 GCC 5.5.0
ARM64 GCC 6.3
ARM64 GCC 6.4.0
ARM64 GCC 7.3.0
ARM64 GCC 7.5.0
ARM64 GCC 8.2.0
ARM64 GCC 8.5.0
ARM64 GCC 9.3.0
ARM64 GCC 9.4.0
ARM64 GCC 9.5.0
ARM64 GCC trunk
ARM64 Morello GCC 10.1.0 Alpha 1
ARM64 Morello GCC 10.1.2 Alpha 2
ARM64 msvc v19.14 (WINE)
AVR gcc 10.3.0
AVR gcc 11.1.0
AVR gcc 12.1.0
AVR gcc 12.2.0
AVR gcc 12.3.0
AVR gcc 12.4.0
AVR gcc 13.1.0
AVR gcc 13.2.0
AVR gcc 13.3.0
AVR gcc 14.1.0
AVR gcc 4.5.4
AVR gcc 4.6.4
AVR gcc 5.4.0
AVR gcc 9.2.0
AVR gcc 9.3.0
Arduino Mega (1.8.9)
Arduino Uno (1.8.9)
BPF clang (trunk)
BPF clang 13.0.0
BPF clang 14.0.0
BPF clang 15.0.0
BPF clang 16.0.0
BPF clang 17.0.1
BPF clang 18.1.0
BPF gcc 13.1.0
BPF gcc 13.2.0
BPF gcc 13.3.0
BPF gcc 14.1.0
BPF gcc trunk
Chibicc 2020-12-07
FRC 2019
FRC 2020
FRC 2023
K1C gcc 7.4
K1C gcc 7.5
KVX ACB 4.1.0 (GCC 7.5.0)
KVX ACB 4.1.0-cd1 (GCC 7.5.0)
KVX ACB 4.10.0 (GCC 10.3.1)
KVX ACB 4.11.1 (GCC 10.3.1)
KVX ACB 4.12.0 (GCC 11.3.0)
KVX ACB 4.2.0 (GCC 7.5.0)
KVX ACB 4.3.0 (GCC 7.5.0)
KVX ACB 4.4.0 (GCC 7.5.0)
KVX ACB 4.6.0 (GCC 9.4.1)
KVX ACB 4.8.0 (GCC 9.4.1)
KVX ACB 4.9.0 (GCC 9.4.1)
KVX ACB 5.0.0 (GCC 12.2.1)
LC3 (trunk)
M68K clang (trunk)
M68K gcc 13.1.0
M68K gcc 13.2.0
M68K gcc 13.3.0
M68K gcc 14.1.0
MRISC32 gcc (trunk)
MSP430 gcc 12.1.0
MSP430 gcc 12.2.0
MSP430 gcc 12.3.0
MSP430 gcc 12.4.0
MSP430 gcc 13.1.0
MSP430 gcc 13.2.0
MSP430 gcc 13.3.0
MSP430 gcc 14.1.0
MSP430 gcc 4.5.3
MSP430 gcc 5.3.0
MSP430 gcc 6.2.1
MinGW clang 14.0.3
MinGW clang 14.0.6
MinGW clang 15.0.7
MinGW clang 16.0.0
MinGW clang 16.0.2
MinGW gcc 11.3.0
MinGW gcc 12.1.0
MinGW gcc 12.2.0
MinGW gcc 13.1.0
POWER64 gcc 11.2.0
POWER64 gcc 12.1.0
POWER64 gcc 12.2.0
POWER64 gcc 12.3.0
POWER64 gcc 12.4.0
POWER64 gcc 13.1.0
POWER64 gcc 13.2.0
POWER64 gcc 13.3.0
POWER64 gcc 14.1.0
POWER64 gcc trunk
RISC-V (32-bits) gcc (trunk)
RISC-V (32-bits) gcc 10.2.0
RISC-V (32-bits) gcc 10.3.0
RISC-V (32-bits) gcc 11.2.0
RISC-V (32-bits) gcc 11.3.0
RISC-V (32-bits) gcc 11.4.0
RISC-V (32-bits) gcc 12.1.0
RISC-V (32-bits) gcc 12.2.0
RISC-V (32-bits) gcc 12.3.0
RISC-V (32-bits) gcc 12.4.0
RISC-V (32-bits) gcc 13.1.0
RISC-V (32-bits) gcc 13.2.0
RISC-V (32-bits) gcc 13.3.0
RISC-V (32-bits) gcc 14.1.0
RISC-V (32-bits) gcc 8.2.0
RISC-V (32-bits) gcc 8.5.0
RISC-V (32-bits) gcc 9.4.0
RISC-V (64-bits) gcc (trunk)
RISC-V (64-bits) gcc 10.2.0
RISC-V (64-bits) gcc 10.3.0
RISC-V (64-bits) gcc 11.2.0
RISC-V (64-bits) gcc 11.3.0
RISC-V (64-bits) gcc 11.4.0
RISC-V (64-bits) gcc 12.1.0
RISC-V (64-bits) gcc 12.2.0
RISC-V (64-bits) gcc 12.3.0
RISC-V (64-bits) gcc 12.4.0
RISC-V (64-bits) gcc 13.1.0
RISC-V (64-bits) gcc 13.2.0
RISC-V (64-bits) gcc 13.3.0
RISC-V (64-bits) gcc 14.1.0
RISC-V (64-bits) gcc 8.2.0
RISC-V (64-bits) gcc 8.5.0
RISC-V (64-bits) gcc 9.4.0
RISC-V rv32gc clang (trunk)
RISC-V rv32gc clang 10.0.0
RISC-V rv32gc clang 10.0.1
RISC-V rv32gc clang 11.0.0
RISC-V rv32gc clang 11.0.1
RISC-V rv32gc clang 12.0.0
RISC-V rv32gc clang 12.0.1
RISC-V rv32gc clang 13.0.0
RISC-V rv32gc clang 13.0.1
RISC-V rv32gc clang 14.0.0
RISC-V rv32gc clang 15.0.0
RISC-V rv32gc clang 16.0.0
RISC-V rv32gc clang 17.0.1
RISC-V rv32gc clang 18.1.0
RISC-V rv32gc clang 9.0.0
RISC-V rv32gc clang 9.0.1
RISC-V rv64gc clang (trunk)
RISC-V rv64gc clang 10.0.0
RISC-V rv64gc clang 10.0.1
RISC-V rv64gc clang 11.0.0
RISC-V rv64gc clang 11.0.1
RISC-V rv64gc clang 12.0.0
RISC-V rv64gc clang 12.0.1
RISC-V rv64gc clang 13.0.0
RISC-V rv64gc clang 13.0.1
RISC-V rv64gc clang 14.0.0
RISC-V rv64gc clang 15.0.0
RISC-V rv64gc clang 16.0.0
RISC-V rv64gc clang 17.0.1
RISC-V rv64gc clang 18.1.0
RISC-V rv64gc clang 9.0.0
RISC-V rv64gc clang 9.0.1
Raspbian Buster
Raspbian Stretch
SDCC 4.0.0
SDCC 4.1.0
SDCC 4.2.0
SDCC 4.3.0
SDCC 4.4.0
SPARC LEON gcc 12.2.0
SPARC LEON gcc 12.3.0
SPARC LEON gcc 12.4.0
SPARC LEON gcc 13.1.0
SPARC LEON gcc 13.2.0
SPARC LEON gcc 13.3.0
SPARC LEON gcc 14.1.0
SPARC gcc 12.2.0
SPARC gcc 12.3.0
SPARC gcc 12.4.0
SPARC gcc 13.1.0
SPARC gcc 13.2.0
SPARC gcc 13.3.0
SPARC gcc 14.1.0
SPARC64 gcc 12.2.0
SPARC64 gcc 12.3.0
SPARC64 gcc 12.4.0
SPARC64 gcc 13.1.0
SPARC64 gcc 13.2.0
SPARC64 gcc 13.3.0
SPARC64 gcc 14.1.0
TCC (trunk)
TCC 0.9.27
TI C6x gcc 12.2.0
TI C6x gcc 12.3.0
TI C6x gcc 12.4.0
TI C6x gcc 13.1.0
TI C6x gcc 13.2.0
TI C6x gcc 13.3.0
TI C6x gcc 14.1.0
TI CL430 21.6.1
VAX gcc NetBSDELF 10.4.0
VAX gcc NetBSDELF 10.5.0 (Nov 15 03:50:22 2023)
WebAssembly clang (trunk)
Xtensa ESP32 gcc 11.2.0 (2022r1)
Xtensa ESP32 gcc 12.2.0 (20230208)
Xtensa ESP32 gcc 8.2.0 (2019r2)
Xtensa ESP32 gcc 8.2.0 (2020r1)
Xtensa ESP32 gcc 8.2.0 (2020r2)
Xtensa ESP32 gcc 8.4.0 (2020r3)
Xtensa ESP32 gcc 8.4.0 (2021r1)
Xtensa ESP32 gcc 8.4.0 (2021r2)
Xtensa ESP32-S2 gcc 11.2.0 (2022r1)
Xtensa ESP32-S2 gcc 12.2.0 (20230208)
Xtensa ESP32-S2 gcc 8.2.0 (2019r2)
Xtensa ESP32-S2 gcc 8.2.0 (2020r1)
Xtensa ESP32-S2 gcc 8.2.0 (2020r2)
Xtensa ESP32-S2 gcc 8.4.0 (2020r3)
Xtensa ESP32-S2 gcc 8.4.0 (2021r1)
Xtensa ESP32-S2 gcc 8.4.0 (2021r2)
Xtensa ESP32-S3 gcc 11.2.0 (2022r1)
Xtensa ESP32-S3 gcc 12.2.0 (20230208)
Xtensa ESP32-S3 gcc 8.4.0 (2020r3)
Xtensa ESP32-S3 gcc 8.4.0 (2021r1)
Xtensa ESP32-S3 gcc 8.4.0 (2021r2)
arm64 msvc v19.20 VS16.0
arm64 msvc v19.21 VS16.1
arm64 msvc v19.22 VS16.2
arm64 msvc v19.23 VS16.3
arm64 msvc v19.24 VS16.4
arm64 msvc v19.25 VS16.5
arm64 msvc v19.27 VS16.7
arm64 msvc v19.28 VS16.8
arm64 msvc v19.28 VS16.9
arm64 msvc v19.29 VS16.10
arm64 msvc v19.29 VS16.11
arm64 msvc v19.30 VS17.0
arm64 msvc v19.31 VS17.1
arm64 msvc v19.32 VS17.2
arm64 msvc v19.33 VS17.3
arm64 msvc v19.34 VS17.4
arm64 msvc v19.35 VS17.5
arm64 msvc v19.36 VS17.6
arm64 msvc v19.37 VS17.7
arm64 msvc v19.38 VS17.8
arm64 msvc v19.39 VS17.9
arm64 msvc v19.40 VS17.10
arm64 msvc v19.latest
armv7-a clang (trunk)
armv7-a clang 10.0.0
armv7-a clang 10.0.1
armv7-a clang 11.0.0
armv7-a clang 11.0.1
armv7-a clang 12.0.0
armv7-a clang 12.0.1
armv7-a clang 13.0.0
armv7-a clang 13.0.1
armv7-a clang 14.0.0
armv7-a clang 15.0.0
armv7-a clang 16.0.0
armv7-a clang 17.0.1
armv7-a clang 18.1.0
armv7-a clang 9.0.0
armv7-a clang 9.0.1
armv8-a clang (all architectural features, trunk)
armv8-a clang (trunk)
armv8-a clang 10.0.0
armv8-a clang 10.0.1
armv8-a clang 11.0.0
armv8-a clang 11.0.1
armv8-a clang 12.0.0
armv8-a clang 12.0.1
armv8-a clang 13.0.0
armv8-a clang 13.0.1
armv8-a clang 14.0.0
armv8-a clang 15.0.0
armv8-a clang 16.0.0
armv8-a clang 17.0.1
armv8-a clang 18.1.0
armv8-a clang 9.0.0
armv8-a clang 9.0.1
clang 12 for DPU (rel 2023.2.0)
cproc-master
llvm-mos commander X16
llvm-mos commodore 64
llvm-mos mega65
llvm-mos nes-cnrom
llvm-mos nes-mmc1
llvm-mos nes-mmc3
llvm-mos nes-nrom
llvm-mos osi-c1p
loongarch64 gcc 12.2.0
loongarch64 gcc 12.3.0
loongarch64 gcc 12.4.0
loongarch64 gcc 13.1.0
loongarch64 gcc 13.2.0
loongarch64 gcc 13.3.0
loongarch64 gcc 14.1.0
mips (el) gcc 12.1.0
mips (el) gcc 12.2.0
mips (el) gcc 12.3.0
mips (el) gcc 12.4.0
mips (el) gcc 13.1.0
mips (el) gcc 13.2.0
mips (el) gcc 13.3.0
mips (el) gcc 14.1.0
mips (el) gcc 4.9.4
mips (el) gcc 5.4
mips (el) gcc 5.5.0
mips (el) gcc 9.5.0
mips clang 13.0.0
mips clang 14.0.0
mips clang 15.0.0
mips clang 16.0.0
mips clang 17.0.1
mips clang 18.1.0
mips gcc 11.2.0
mips gcc 12.1.0
mips gcc 12.2.0
mips gcc 12.3.0
mips gcc 12.4.0
mips gcc 13.1.0
mips gcc 13.2.0
mips gcc 13.3.0
mips gcc 14.1.0
mips gcc 4.9.4
mips gcc 5.4
mips gcc 5.5.0
mips gcc 9.3.0 (codescape)
mips gcc 9.5.0
mips64 (el) gcc 12.1.0
mips64 (el) gcc 12.2.0
mips64 (el) gcc 12.3.0
mips64 (el) gcc 12.4.0
mips64 (el) gcc 13.1.0
mips64 (el) gcc 13.2.0
mips64 (el) gcc 13.3.0
mips64 (el) gcc 14.1.0
mips64 (el) gcc 4.9.4
mips64 (el) gcc 5.4.0
mips64 (el) gcc 5.5.0
mips64 (el) gcc 9.5.0
mips64 clang 13.0.0
mips64 clang 14.0.0
mips64 clang 15.0.0
mips64 clang 16.0.0
mips64 clang 17.0.1
mips64 clang 18.1.0
mips64 gcc 11.2.0
mips64 gcc 12.1.0
mips64 gcc 12.2.0
mips64 gcc 12.3.0
mips64 gcc 12.4.0
mips64 gcc 13.1.0
mips64 gcc 13.2.0
mips64 gcc 13.3.0
mips64 gcc 14.1.0
mips64 gcc 4.9.4
mips64 gcc 5.4
mips64 gcc 5.5.0
mips64 gcc 9.5.0
mips64el clang 13.0.0
mips64el clang 14.0.0
mips64el clang 15.0.0
mips64el clang 16.0.0
mips64el clang 17.0.1
mips64el clang 18.1.0
mipsel clang 13.0.0
mipsel clang 14.0.0
mipsel clang 15.0.0
mipsel clang 16.0.0
mipsel clang 17.0.1
mipsel clang 18.1.0
movfuscator (trunk)
nanoMIPS gcc 6.3.0
power gcc 11.2.0
power gcc 12.1.0
power gcc 12.2.0
power gcc 12.3.0
power gcc 12.4.0
power gcc 13.1.0
power gcc 13.2.0
power gcc 13.3.0
power gcc 14.1.0
power gcc 4.8.5
power64 AT12.0 (gcc8)
power64 AT13.0 (gcc9)
power64le AT12.0 (gcc8)
power64le AT13.0 (gcc9)
power64le clang (trunk)
power64le gcc 11.2.0
power64le gcc 12.1.0
power64le gcc 12.2.0
power64le gcc 12.3.0
power64le gcc 12.4.0
power64le gcc 13.1.0
power64le gcc 13.2.0
power64le gcc 13.3.0
power64le gcc 14.1.0
power64le gcc 6.3.0
power64le gcc trunk
powerpc64 clang (trunk)
ppci 0.5.5
s390x gcc 11.2.0
s390x gcc 12.1.0
s390x gcc 12.2.0
s390x gcc 12.3.0
s390x gcc 12.4.0
s390x gcc 13.1.0
s390x gcc 13.2.0
s390x gcc 13.3.0
s390x gcc 14.1.0
sh gcc 12.2.0
sh gcc 12.3.0
sh gcc 12.4.0
sh gcc 13.1.0
sh gcc 13.2.0
sh gcc 13.3.0
sh gcc 14.1.0
sh gcc 4.9.4
sh gcc 9.5.0
vast (trunk)
x64 msvc v19.0 (WINE)
x64 msvc v19.10 (WINE)
x64 msvc v19.14 (WINE)
x64 msvc v19.20 VS16.0
x64 msvc v19.21 VS16.1
x64 msvc v19.22 VS16.2
x64 msvc v19.23 VS16.3
x64 msvc v19.24 VS16.4
x64 msvc v19.25 VS16.5
x64 msvc v19.27 VS16.7
x64 msvc v19.28 VS16.8
x64 msvc v19.28 VS16.9
x64 msvc v19.29 VS16.10
x64 msvc v19.29 VS16.11
x64 msvc v19.30 VS17.0
x64 msvc v19.31 VS17.1
x64 msvc v19.32 VS17.2
x64 msvc v19.33 VS17.3
x64 msvc v19.34 VS17.4
x64 msvc v19.35 VS17.5
x64 msvc v19.36 VS17.6
x64 msvc v19.37 VS17.7
x64 msvc v19.38 VS17.8
x64 msvc v19.39 VS17.9
x64 msvc v19.40 VS17.10
x64 msvc v19.latest
x86 CompCert 3.10
x86 CompCert 3.11
x86 CompCert 3.12
x86 CompCert 3.9
x86 gcc 1.27
x86 msvc v19.0 (WINE)
x86 msvc v19.10 (WINE)
x86 msvc v19.14 (WINE)
x86 msvc v19.20 VS16.0
x86 msvc v19.21 VS16.1
x86 msvc v19.22 VS16.2
x86 msvc v19.23 VS16.3
x86 msvc v19.24 VS16.4
x86 msvc v19.25 VS16.5
x86 msvc v19.27 VS16.7
x86 msvc v19.28 VS16.8
x86 msvc v19.28 VS16.9
x86 msvc v19.29 VS16.10
x86 msvc v19.29 VS16.11
x86 msvc v19.30 VS17.0
x86 msvc v19.31 VS17.1
x86 msvc v19.32 VS17.2
x86 msvc v19.33 VS17.3
x86 msvc v19.34 VS17.4
x86 msvc v19.35 VS17.5
x86 msvc v19.36 VS17.6
x86 msvc v19.37 VS17.7
x86 msvc v19.38 VS17.8
x86 msvc v19.39 VS17.9
x86 msvc v19.40 VS17.10
x86 msvc v19.latest
x86 tendra (trunk)
x86-64 clang (assertions trunk)
x86-64 clang (thephd.dev)
x86-64 clang (trunk)
x86-64 clang (widberg)
x86-64 clang 10.0.0
x86-64 clang 10.0.1
x86-64 clang 11.0.0
x86-64 clang 11.0.1
x86-64 clang 12.0.0
x86-64 clang 12.0.1
x86-64 clang 13.0.0
x86-64 clang 13.0.1
x86-64 clang 14.0.0
x86-64 clang 15.0.0
x86-64 clang 16.0.0
x86-64 clang 17.0.1
x86-64 clang 18.1.0
x86-64 clang 3.0.0
x86-64 clang 3.1
x86-64 clang 3.2
x86-64 clang 3.3
x86-64 clang 3.4.1
x86-64 clang 3.5
x86-64 clang 3.5.1
x86-64 clang 3.5.2
x86-64 clang 3.6
x86-64 clang 3.7
x86-64 clang 3.7.1
x86-64 clang 3.8
x86-64 clang 3.8.1
x86-64 clang 3.9.0
x86-64 clang 3.9.1
x86-64 clang 4.0.0
x86-64 clang 4.0.1
x86-64 clang 5.0.0
x86-64 clang 5.0.1
x86-64 clang 5.0.2
x86-64 clang 6.0.0
x86-64 clang 6.0.1
x86-64 clang 7.0.0
x86-64 clang 7.0.1
x86-64 clang 7.1.0
x86-64 clang 8.0.0
x86-64 clang 8.0.1
x86-64 clang 9.0.0
x86-64 clang 9.0.1
x86-64 gcc (trunk)
x86-64 gcc 10.1
x86-64 gcc 10.2
x86-64 gcc 10.3
x86-64 gcc 10.4
x86-64 gcc 10.5
x86-64 gcc 11.1
x86-64 gcc 11.2
x86-64 gcc 11.3
x86-64 gcc 11.4
x86-64 gcc 12.1
x86-64 gcc 12.2
x86-64 gcc 12.3
x86-64 gcc 12.4
x86-64 gcc 13.1
x86-64 gcc 13.2
x86-64 gcc 13.3
x86-64 gcc 14.1
x86-64 gcc 3.4.6
x86-64 gcc 4.0.4
x86-64 gcc 4.1.2
x86-64 gcc 4.4.7
x86-64 gcc 4.5.3
x86-64 gcc 4.6.4
x86-64 gcc 4.7.1
x86-64 gcc 4.7.2
x86-64 gcc 4.7.3
x86-64 gcc 4.7.4
x86-64 gcc 4.8.1
x86-64 gcc 4.8.2
x86-64 gcc 4.8.3
x86-64 gcc 4.8.4
x86-64 gcc 4.8.5
x86-64 gcc 4.9.0
x86-64 gcc 4.9.1
x86-64 gcc 4.9.2
x86-64 gcc 4.9.3
x86-64 gcc 4.9.4
x86-64 gcc 5.1
x86-64 gcc 5.2
x86-64 gcc 5.3
x86-64 gcc 5.4
x86-64 gcc 6.1
x86-64 gcc 6.2
x86-64 gcc 6.3
x86-64 gcc 6.5
x86-64 gcc 7.1
x86-64 gcc 7.2
x86-64 gcc 7.3
x86-64 gcc 7.4
x86-64 gcc 7.5
x86-64 gcc 8.1
x86-64 gcc 8.2
x86-64 gcc 8.3
x86-64 gcc 8.4
x86-64 gcc 8.5
x86-64 gcc 9.1
x86-64 gcc 9.2
x86-64 gcc 9.3
x86-64 gcc 9.4
x86-64 gcc 9.5
x86-64 icc 13.0.1
x86-64 icc 16.0.3
x86-64 icc 17.0.0
x86-64 icc 18.0.0
x86-64 icc 19.0.0
x86-64 icc 19.0.1
x86-64 icc 2021.1.2
x86-64 icc 2021.10.0
x86-64 icc 2021.2.0
x86-64 icc 2021.3.0
x86-64 icc 2021.4.0
x86-64 icc 2021.5.0
x86-64 icc 2021.6.0
x86-64 icc 2021.7.0
x86-64 icc 2021.7.1
x86-64 icc 2021.8.0
x86-64 icc 2021.9.0
x86-64 icx (latest)
x86-64 icx 2021.1.2
x86-64 icx 2021.2.0
x86-64 icx 2021.3.0
x86-64 icx 2021.4.0
x86-64 icx 2022.0.0
x86-64 icx 2022.1.0
x86-64 icx 2022.2.0
x86-64 icx 2022.2.1
x86-64 icx 2023.0.0
x86-64 icx 2023.1.0
x86-64 icx 2024.0.0
x86_64 CompCert 3.10
x86_64 CompCert 3.11
x86_64 CompCert 3.12
x86_64 CompCert 3.9
z88dk 2.2
zig cc 0.10.0
zig cc 0.11.0
zig cc 0.12.0
zig cc 0.6.0
zig cc 0.7.0
zig cc 0.7.1
zig cc 0.8.0
zig cc 0.9.0
zig cc trunk
Options
Source code
# 0 "g.c" # 0 "<built-in>" # 0 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 0 "<command-line>" 2 # 1 "g.c" # 331 "g.c" # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 145 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 # 145 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 214 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 typedef long unsigned int size_t; # 329 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 typedef unsigned int wchar_t; # 425 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 typedef struct { long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); # 436 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 } max_align_t; # 450 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 3 4 typedef __typeof__(nullptr) nullptr_t; # 332 "g.c" 2 # 1 "/usr/include/inttypes.h" 1 3 4 # 25 "/usr/include/inttypes.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 392 "/usr/include/features.h" 3 4 # 1 "/usr/include/features-time64.h" 1 3 4 # 20 "/usr/include/features-time64.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 21 "/usr/include/features-time64.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/timesize.h" 1 3 4 # 22 "/usr/include/features-time64.h" 2 3 4 # 393 "/usr/include/features.h" 2 3 4 # 489 "/usr/include/features.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 1 3 4 # 561 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 562 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/long-double.h" 1 3 4 # 563 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 2 3 4 # 490 "/usr/include/features.h" 2 3 4 # 513 "/usr/include/features.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/gnu/stubs.h" 1 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 6 "/usr/include/aarch64-linux-gnu/gnu/stubs.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h" 1 3 4 # 9 "/usr/include/aarch64-linux-gnu/gnu/stubs.h" 2 3 4 # 514 "/usr/include/features.h" 2 3 4 # 26 "/usr/include/inttypes.h" 2 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stdint.h" 1 3 4 # 9 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stdint.h" 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 26 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/types.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 28 "/usr/include/aarch64-linux-gnu/bits/types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/timesize.h" 1 3 4 # 29 "/usr/include/aarch64-linux-gnu/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef __int8_t __int_least8_t; typedef __uint8_t __uint_least8_t; typedef __int16_t __int_least16_t; typedef __uint16_t __uint_least16_t; typedef __int32_t __int_least32_t; typedef __uint32_t __uint_least32_t; typedef __int64_t __int_least64_t; typedef __uint64_t __uint_least64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; typedef long int __intmax_t; typedef unsigned long int __uintmax_t; # 141 "/usr/include/aarch64-linux-gnu/bits/types.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/typesizes.h" 1 3 4 # 142 "/usr/include/aarch64-linux-gnu/bits/types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/time64.h" 1 3 4 # 143 "/usr/include/aarch64-linux-gnu/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __suseconds64_t; typedef int __daddr_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __fsword_t; typedef long int __ssize_t; typedef long int __syscall_slong_t; typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; typedef int __sig_atomic_t; # 28 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wchar.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 30 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/stdint-intn.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/stdint-intn.h" 3 4 typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; # 35 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h" 3 4 typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; # 38 "/usr/include/stdint.h" 2 3 4 typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; typedef __int_least64_t int_least64_t; typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; typedef signed char int_fast8_t; typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; # 71 "/usr/include/stdint.h" 3 4 typedef unsigned char uint_fast8_t; typedef unsigned long int uint_fast16_t; typedef unsigned long int uint_fast32_t; typedef unsigned long int uint_fast64_t; # 87 "/usr/include/stdint.h" 3 4 typedef long int intptr_t; typedef unsigned long int uintptr_t; # 101 "/usr/include/stdint.h" 3 4 typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; # 10 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stdint.h" 2 3 4 # 28 "/usr/include/inttypes.h" 2 3 4 typedef unsigned int __gwchar_t; # 266 "/usr/include/inttypes.h" 3 4 typedef struct { long int quot; long int rem; } imaxdiv_t; # 290 "/usr/include/inttypes.h" 3 4 extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern intmax_t strtoimax (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern uintmax_t strtoumax (const char *__restrict __nptr, char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, __gwchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); # 333 "g.c" 2 # 1 "/usr/include/aarch64-linux-gnu/sys/types.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 1 "/usr/include/aarch64-linux-gnu/bits/types/clock_t.h" 1 3 4 typedef __clock_t clock_t; # 127 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h" 1 3 4 typedef __clockid_t clockid_t; # 129 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/time_t.h" 1 3 4 # 10 "/usr/include/aarch64-linux-gnu/bits/types/time_t.h" 3 4 typedef __time_t time_t; # 130 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/timer_t.h" 1 3 4 typedef __timer_t timer_t; # 131 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 145 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef int register_t __attribute__ ((__mode__ (__word__))); # 176 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 24 "/usr/include/endian.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/endian.h" 1 3 4 # 35 "/usr/include/aarch64-linux-gnu/bits/endian.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/endianness.h" 1 3 4 # 36 "/usr/include/aarch64-linux-gnu/bits/endian.h" 2 3 4 # 25 "/usr/include/endian.h" 2 3 4 # 35 "/usr/include/endian.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 1 3 4 # 33 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 3 4 static __inline __uint16_t __bswap_16 (__uint16_t __bsx) { return __builtin_bswap16 (__bsx); } static __inline __uint32_t __bswap_32 (__uint32_t __bsx) { return __builtin_bswap32 (__bsx); } # 69 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 3 4 __extension__ static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return __builtin_bswap64 (__bsx); } # 36 "/usr/include/endian.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/uintn-identity.h" 1 3 4 # 32 "/usr/include/aarch64-linux-gnu/bits/uintn-identity.h" 3 4 static __inline __uint16_t __uint16_identity (__uint16_t __x) { return __x; } static __inline __uint32_t __uint32_identity (__uint32_t __x) { return __x; } static __inline __uint64_t __uint64_identity (__uint64_t __x) { return __x; } # 37 "/usr/include/endian.h" 2 3 4 # 177 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/select.h" 1 3 4 # 30 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/select.h" 1 3 4 # 31 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h" 1 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 5 "/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h" 2 3 4 typedef __sigset_t sigset_t; # 34 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 38 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 # 11 "/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h" 3 4 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; # 31 "/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h" 3 4 }; # 40 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 # 49 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 typedef long int __fd_mask; # 59 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 91 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 # 102 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 127 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 153 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 # 180 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 219 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 1 3 4 # 44 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 # 45 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 # 25 "/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h" 3 4 typedef union { __extension__ unsigned long long int __value64; struct { unsigned int __low; unsigned int __high; } __value32; } __atomic_wide_counter; # 47 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 2 3 4 typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; # 76 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/struct_mutex.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/struct_mutex.h" 3 4 struct __pthread_mutex_s { int __lock ; unsigned int __count; int __owner; unsigned int __nusers; # 58 "/usr/include/aarch64-linux-gnu/bits/struct_mutex.h" 3 4 int __kind; int __spins; __pthread_list_t __list; # 74 "/usr/include/aarch64-linux-gnu/bits/struct_mutex.h" 3 4 }; # 77 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 2 3 4 # 89 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h" 3 4 struct __pthread_rwlock_arch_t { unsigned int __readers; unsigned int __writers; unsigned int __wrphase_futex; unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; int __cur_writer; int __shared; unsigned long int __pad1; unsigned long int __pad2; unsigned int __flags; }; # 90 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 2 3 4 struct __pthread_cond_s { __atomic_wide_counter __wseq; __atomic_wide_counter __g1_start; unsigned int __g_refs[2] ; unsigned int __g_size[2]; unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; }; typedef unsigned int __tss_t; typedef unsigned long int __thrd_t; typedef struct { int __data ; } __once_flag; # 24 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h" 2 3 4 typedef unsigned long int pthread_t; typedef union { char __size[8]; int __align; } pthread_mutexattr_t; typedef union { char __size[8]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; union pthread_attr_t { char __size[64]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; typedef union { struct __pthread_mutex_s __data; char __size[48]; long int __align; } pthread_mutex_t; typedef union { struct __pthread_cond_s __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { struct __pthread_rwlock_arch_t __data; char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[8]; int __align; } pthread_barrierattr_t; # 228 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 # 334 "g.c" 2 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stdckdint.h" 1 3 4 # 335 "g.c" 2 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/float.h" 1 3 4 # 340 "g.c" 2 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/limits.h" 1 3 4 # 34 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/limits.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/syslimits.h" 1 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/limits.h" 1 3 4 # 210 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 26 "/usr/include/limits.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/limits.h" 2 3 4 # 195 "/usr/include/limits.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 28 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 2 3 4 # 161 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 1 3 4 # 38 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 39 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 2 3 4 # 81 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h" 3 4 extern long int __sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); # 82 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 2 3 4 # 162 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 2 3 4 # 196 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/posix2_lim.h" 1 3 4 # 200 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/xopen_lim.h" 1 3 4 # 64 "/usr/include/aarch64-linux-gnu/bits/xopen_lim.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/uio_lim.h" 1 3 4 # 65 "/usr/include/aarch64-linux-gnu/bits/xopen_lim.h" 2 3 4 # 204 "/usr/include/limits.h" 2 3 4 # 211 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/limits.h" 2 3 4 # 8 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/syslimits.h" 2 3 4 # 35 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/limits.h" 2 3 4 # 341 "g.c" 2 # 1 "/usr/include/stdio.h" 1 3 4 # 27 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 34 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stdarg.h" 1 3 4 # 40 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 37 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 # 13 "/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 6 "/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 typedef struct _G_fpos_t { __off_t __pos; __mbstate_t __state; } __fpos_t; # 40 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 # 10 "/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h" 3 4 typedef struct _G_fpos64_t { __off64_t __pos; __mbstate_t __state; } __fpos64_t; # 41 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE __FILE; # 42 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 43 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 # 35 "/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h" 3 4 struct _IO_FILE; struct _IO_marker; struct _IO_codecvt; struct _IO_wide_data; typedef void _IO_lock_t; struct _IO_FILE { int _flags; char *_IO_read_ptr; char *_IO_read_end; char *_IO_read_base; char *_IO_write_base; char *_IO_write_ptr; char *_IO_write_end; char *_IO_buf_base; char *_IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; __off64_t _offset; struct _IO_codecvt *_codecvt; struct _IO_wide_data *_wide_data; struct _IO_FILE *_freeres_list; void *_freeres_buf; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; # 44 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h" 3 4 typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, size_t __nbytes); typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); typedef int cookie_close_function_t (void *__cookie); typedef struct _IO_cookie_io_functions_t { cookie_read_function_t *read; cookie_write_function_t *write; cookie_seek_function_t *seek; cookie_close_function_t *close; } cookie_io_functions_t; # 47 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 84 "/usr/include/stdio.h" 3 4 typedef __fpos_t fpos_t; typedef __fpos64_t fpos64_t; # 133 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/stdio_lim.h" 1 3 4 # 134 "/usr/include/stdio.h" 2 3 4 # 143 "/usr/include/stdio.h" 3 4 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); extern int renameat (int __oldfd, const char *__old, int __newfd, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); # 170 "/usr/include/stdio.h" 3 4 extern int renameat2 (int __oldfd, const char *__old, int __newfd, const char *__new, unsigned int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern int fclose (FILE *__stream); # 188 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; # 200 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; # 222 "/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); extern int fflush (FILE *__stream); # 239 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 249 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 258 "/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; # 283 "/usr/include/stdio.h" 3 4 extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; # 328 "/usr/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int fprintf (FILE *__restrict __stream, const char *__restrict __format, ...); extern int printf (const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) ; extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) ; extern int scanf (const char *__restrict __format, ...) ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/long-double.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 2 3 4 # 95 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/floatn-common.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/floatn-common.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/long-double.h" 1 3 4 # 25 "/usr/include/aarch64-linux-gnu/bits/floatn-common.h" 2 3 4 # 96 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 2 3 4 # 431 "/usr/include/stdio.h" 2 3 4 extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") ; extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) ; # 459 "/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 513 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 538 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 549 "/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 565 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__access__ (__write_only__, 1, 2))); # 615 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__access__ (__write_only__, 1, 2))); # 632 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (const char *__restrict __s, FILE *__restrict __stream); extern int puts (const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 691 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 702 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 736 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 760 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, const fpos_t *__pos); # 779 "/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern void perror (const char *__s); extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; # 823 "/usr/include/stdio.h" 3 4 extern int pclose (FILE *__stream); extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 1))); extern char *cuserid (char *__s) __attribute__ ((__access__ (__write_only__, 1))); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); # 885 "/usr/include/stdio.h" 3 4 extern int __uflow (FILE *); extern int __overflow (FILE *, int); # 902 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/stdio.h" 1 3 4 # 38 "/usr/include/aarch64-linux-gnu/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return getc (stdin); } extern __inline __attribute__ ((__gnu_inline__)) int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int putchar (int __c) { return putc (__c, stdout); } extern __inline __attribute__ ((__gnu_inline__)) int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x0010) != 0); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x0020) != 0); } # 903 "/usr/include/stdio.h" 2 3 4 # 342 "g.c" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 26 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 33 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/waitflags.h" 1 3 4 # 41 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/waitstatus.h" 1 3 4 # 42 "/usr/include/stdlib.h" 2 3 4 # 59 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 98 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; extern double atof (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 141 "/usr/include/stdlib.h" 3 4 extern _Float32 strtof32 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float64 strtof64 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float128 strtof128 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float32x strtof32x (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern _Float64x strtof64x (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 177 "/usr/include/stdlib.h" 3 4 extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int strfromd (char *__dest, size_t __size, const char *__format, double __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf (char *__dest, size_t __size, const char *__format, float __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfroml (char *__dest, size_t __size, const char *__format, long double __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); # 233 "/usr/include/stdlib.h" 3 4 extern int strfromf32 (char *__dest, size_t __size, const char * __format, _Float32 __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf64 (char *__dest, size_t __size, const char * __format, _Float64 __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf128 (char *__dest, size_t __size, const char * __format, _Float128 __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf32x (char *__dest, size_t __size, const char * __format, _Float32x __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); extern int strfromf64x (char *__dest, size_t __size, const char * __format, _Float64x __f) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))); # 273 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/locale_t.h" 1 3 4 # 22 "/usr/include/aarch64-linux-gnu/bits/types/locale_t.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h" 3 4 struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; }; typedef struct __locale_struct *__locale_t; # 23 "/usr/include/aarch64-linux-gnu/bits/types/locale_t.h" 2 3 4 typedef __locale_t locale_t; # 274 "/usr/include/stdlib.h" 2 3 4 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))); extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); # 317 "/usr/include/stdlib.h" 3 4 extern _Float32 strtof32_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float64 strtof64_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float128 strtof128_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float32x strtof32x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); extern _Float64x strtof64x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))); # 361 "/usr/include/stdlib.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 386 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; extern long int a64l (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 402 "/usr/include/stdlib.h" 3 4 extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; __extension__ unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern __uint32_t arc4random (void) __attribute__ ((__nothrow__ , __leaf__)) ; extern void arc4random_buf (void *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) __attribute__ ((__nothrow__ , __leaf__)) ; extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2, 3))) __attribute__ ((__malloc__ (__builtin_free, 1))); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); # 1 "/usr/include/alloca.h" 1 3 4 # 24 "/usr/include/alloca.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 25 "/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); # 588 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern void *aligned_alloc (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) __attribute__ ((__alloc_size__ (2))) ; extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern char *secure_getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int setenv (const char *__name, const char *__value, int __replace) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); # 695 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 708 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 718 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 730 "/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 740 "/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 751 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 762 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 772 "/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 782 "/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 794 "/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 804 "/usr/include/stdlib.h" 3 4 extern int system (const char *__command) ; extern char *canonicalize_file_name (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))) ; # 821 "/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; typedef int (*__compar_fn_t) (const void *, const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (const void *, const void *, void *); extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; # 1 "/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h" 1 3 4 # 19 "/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (const void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" return (void *) __p; #pragma GCC diagnostic pop } } return ((void *)0); } # 847 "/usr/include/stdlib.h" 2 3 4 extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; # 893 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__read_only__, 2))); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 980 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 1036 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/stdlib-float.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/stdlib-float.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } # 1037 "/usr/include/stdlib.h" 2 3 4 # 1048 "/usr/include/stdlib.h" 3 4 # 343 "g.c" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 27 "/usr/include/unistd.h" 3 4 # 202 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/posix_opt.h" 1 3 4 # 203 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/environments.h" 1 3 4 # 22 "/usr/include/aarch64-linux-gnu/bits/environments.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/environments.h" 2 3 4 # 207 "/usr/include/unistd.h" 2 3 4 # 226 "/usr/include/unistd.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 227 "/usr/include/unistd.h" 2 3 4 # 274 "/usr/include/unistd.h" 3 4 typedef __socklen_t socklen_t; # 287 "/usr/include/unistd.h" 3 4 extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int euidaccess (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int eaccess (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int execveat (int __fd, const char *__path, char *const __argv[], char *const __envp[], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern int faccessat (int __fd, const char *__file, int __type, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; # 339 "/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__)); # 350 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __attribute__ ((__nothrow__ , __leaf__)); extern int close (int __fd); extern void closefrom (int __lowfd) __attribute__ ((__nothrow__ , __leaf__)); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__access__ (__write_only__, 2, 3))); extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__access__ (__read_only__, 2, 3))); # 389 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __attribute__ ((__access__ (__write_only__, 2, 3))); extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset) __attribute__ ((__access__ (__read_only__, 2, 3))); # 422 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __attribute__ ((__access__ (__write_only__, 2, 3))); extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset) __attribute__ ((__access__ (__read_only__, 2, 3))); extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) ; extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) ; # 452 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__)); # 464 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__ , __leaf__)); extern int usleep (__useconds_t __useconds); # 489 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) ; extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int fchownat (int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) ; extern int chdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; # 531 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) ; extern char *get_current_dir_name (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *getwd (char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__access__ (__write_only__, 1))); extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) ; extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__)); extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern char **__environ; extern char **environ; extern int execve (const char *__path, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int execv (const char *__path, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execle (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execl (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvp (const char *__file, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execlp (const char *__file, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvpe (const char *__file, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/aarch64-linux-gnu/bits/confname.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS, _SC_V7_ILP32_OFF32, _SC_V7_ILP32_OFFBIG, _SC_V7_LP64_OFF64, _SC_V7_LPBIG_OFFBIG, _SC_SS_REPL_MAX, _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS, _SC_THREAD_ROBUST_PRIO_INHERIT, _SC_THREAD_ROBUST_PRIO_PROTECT, _SC_MINSIGSTKSZ, _SC_SIGSTKSZ }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_V5_WIDTH_RESTRICTED_ENVS, _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V7_ILP32_OFF32_CFLAGS, _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, _CS_POSIX_V7_ILP32_OFF32_LIBS, _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LIBS, _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V7_LP64_OFF64_CFLAGS, _CS_POSIX_V7_LP64_OFF64_LDFLAGS, _CS_POSIX_V7_LP64_OFF64_LIBS, _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_ENV, _CS_V7_ENV }; # 631 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (const char *__path, int __name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 2, 3))); extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__)); # 682 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__access__ (__write_only__, 2, 1))); extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)); extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) __attribute__ ((__nothrow__ , __leaf__)); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) __attribute__ ((__nothrow__ , __leaf__)); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) __attribute__ ((__nothrow__ , __leaf__)) ; extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) __attribute__ ((__nothrow__ , __leaf__)) ; extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t _Fork (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__)); extern int link (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; extern int linkat (int __fromfd, const char *__from, int __tofd, const char *__to, int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) ; extern int symlink (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) ; extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int symlinkat (const char *__from, int __tofd, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) ; extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__access__ (__write_only__, 3, 4))); extern int unlink (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int unlinkat (int __fd, const char *__name, int __flag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int rmdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern int setlogin (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 1 "/usr/include/aarch64-linux-gnu/bits/getopt_posix.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/getopt_posix.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/getopt_core.h" 1 3 4 # 28 "/usr/include/aarch64-linux-gnu/bits/getopt_core.h" 3 4 extern char *optarg; # 50 "/usr/include/aarch64-linux-gnu/bits/getopt_core.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 91 "/usr/include/aarch64-linux-gnu/bits/getopt_core.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 28 "/usr/include/aarch64-linux-gnu/bits/getopt_posix.h" 2 3 4 # 49 "/usr/include/aarch64-linux-gnu/bits/getopt_posix.h" 3 4 # 904 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern int sethostname (const char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 2))); extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) ; extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern int setdomainname (const char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 2))); extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__)); extern int revoke (const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int acct (const char *__name) __attribute__ ((__nothrow__ , __leaf__)); extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__)); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) ; extern int chroot (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); extern int fsync (int __fd); extern int syncfs (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__)); # 1026 "/usr/include/unistd.h" 3 4 extern int truncate (const char *__file, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 1038 "/usr/include/unistd.h" 3 4 extern int truncate64 (const char *__file, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; # 1049 "/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__ , __leaf__)) ; # 1059 "/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) ; # 1070 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) ; extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__)); # 1091 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__)); # 1114 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 1124 "/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 1142 "/usr/include/unistd.h" 3 4 ssize_t copy_file_range (int __infd, __off64_t *__pinoff, int __outfd, __off64_t *__poutoff, size_t __length, unsigned int __flags); extern int fdatasync (int __fildes); # 1159 "/usr/include/unistd.h" 3 4 extern char *crypt (const char *__key, const char *__salt) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void swab (const void *__restrict __from, void *__restrict __to, ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_only__, 1, 3))) __attribute__ ((__access__ (__write_only__, 2, 3))); # 1198 "/usr/include/unistd.h" 3 4 int getentropy (void *__buffer, size_t __length) __attribute__ ((__access__ (__write_only__, 1, 2))); # 1208 "/usr/include/unistd.h" 3 4 extern int close_range (unsigned int __fd, unsigned int __max_fd, int __flags) __attribute__ ((__nothrow__ , __leaf__)); # 1218 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/unistd_ext.h" 1 3 4 # 34 "/usr/include/aarch64-linux-gnu/bits/unistd_ext.h" 3 4 extern __pid_t gettid (void) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/linux/close_range.h" 1 3 4 # 39 "/usr/include/aarch64-linux-gnu/bits/unistd_ext.h" 2 3 4 # 1219 "/usr/include/unistd.h" 2 3 4 # 344 "g.c" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 28 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/fcntl.h" 1 3 4 # 40 "/usr/include/aarch64-linux-gnu/bits/fcntl.h" 3 4 struct flock { short int l_type; short int l_whence; __off_t l_start; __off_t l_len; __pid_t l_pid; }; struct flock64 { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; # 1 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 1 3 4 # 38 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h" 2 3 4 struct iovec { void *iov_base; size_t iov_len; }; # 39 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 2 3 4 # 265 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 3 4 enum __pid_type { F_OWNER_TID = 0, F_OWNER_PID, F_OWNER_PGRP, F_OWNER_GID = F_OWNER_PGRP }; struct f_owner_ex { enum __pid_type type; __pid_t pid; }; # 354 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 3 4 # 1 "/usr/include/linux/falloc.h" 1 3 4 # 355 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 2 3 4 struct file_handle { unsigned int handle_bytes; int handle_type; unsigned char f_handle[0]; }; # 393 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 3 4 extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count) __attribute__ ((__nothrow__ , __leaf__)); extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count, unsigned int __flags); extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov, size_t __count, unsigned int __flags); extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, __off64_t *__offout, size_t __len, unsigned int __flags); extern __ssize_t tee (int __fdin, int __fdout, size_t __len, unsigned int __flags); extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # 448 "/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h" 3 4 extern int fallocate64 (int __fd, int __mode, __off64_t __offset, __off64_t __len); extern int name_to_handle_at (int __dfd, const char *__name, struct file_handle *__handle, int *__mnt_id, int __flags) __attribute__ ((__nothrow__ , __leaf__)); extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle, int __flags); # 62 "/usr/include/aarch64-linux-gnu/bits/fcntl.h" 2 3 4 # 36 "/usr/include/fcntl.h" 2 3 4 # 78 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/stat.h" 1 3 4 # 25 "/usr/include/aarch64-linux-gnu/bits/stat.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/struct_stat.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/struct_stat.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 28 "/usr/include/aarch64-linux-gnu/bits/struct_stat.h" 2 3 4 # 44 "/usr/include/aarch64-linux-gnu/bits/struct_stat.h" 3 4 struct stat { __dev_t st_dev; __ino_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; __dev_t __pad1; __off_t st_size; __blksize_t st_blksize; int __pad2; __blkcnt_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 79 "/usr/include/aarch64-linux-gnu/bits/struct_stat.h" 3 4 int __glibc_reserved[2]; }; struct stat64 { __dev_t st_dev; __ino64_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; __dev_t __pad1; __off64_t st_size; __blksize_t st_blksize; int __pad2; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 117 "/usr/include/aarch64-linux-gnu/bits/struct_stat.h" 3 4 int __glibc_reserved[2]; }; # 26 "/usr/include/aarch64-linux-gnu/bits/stat.h" 2 3 4 # 79 "/usr/include/fcntl.h" 2 3 4 # 149 "/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...); # 158 "/usr/include/fcntl.h" 3 4 extern int fcntl64 (int __fd, int __cmd, ...); # 181 "/usr/include/fcntl.h" 3 4 extern int open (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 191 "/usr/include/fcntl.h" 3 4 extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 205 "/usr/include/fcntl.h" 3 4 extern int openat (int __fd, const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 216 "/usr/include/fcntl.h" 3 4 extern int openat64 (int __fd, const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 227 "/usr/include/fcntl.h" 3 4 extern int creat (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1))); # 237 "/usr/include/fcntl.h" 3 4 extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1))); # 273 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, off_t __offset, off_t __len, int __advise) __attribute__ ((__nothrow__ , __leaf__)); # 285 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len, int __advise) __attribute__ ((__nothrow__ , __leaf__)); # 295 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate (int __fd, off_t __offset, off_t __len); # 306 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len); # 317 "/usr/include/fcntl.h" 3 4 # 345 "g.c" 2 # 1 "/usr/include/math.h" 1 3 4 # 27 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/math-vector.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/math-vector.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libm-simd-decl-stubs.h" 1 3 4 # 28 "/usr/include/aarch64-linux-gnu/bits/math-vector.h" 2 3 4 # 41 "/usr/include/math.h" 2 3 4 # 152 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/flt-eval-method.h" 1 3 4 # 153 "/usr/include/math.h" 2 3 4 # 163 "/usr/include/math.h" 3 4 typedef float float_t; typedef double double_t; # 204 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/fp-logb.h" 1 3 4 # 205 "/usr/include/math.h" 2 3 4 # 247 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/fp-fast.h" 1 3 4 # 248 "/usr/include/math.h" 2 3 4 enum { FP_INT_UPWARD = 0, FP_INT_DOWNWARD = 1, FP_INT_TOWARDZERO = 2, FP_INT_TONEARESTFROMZERO = 3, FP_INT_TONEAREST = 4, }; # 312 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassify (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbit (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsig (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignaling (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 313 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern double acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern double acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern double exp10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); # 177 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern int isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double drem (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double significand (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __significand (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double nan (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern double __nan (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 213 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern int isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double gamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __gamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern double rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double nextdown (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __nextdown (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double nextup (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __nextup (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern double roundeven (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __roundeven (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalize (double *__cx, const double *__x) __attribute__ ((__nothrow__ , __leaf__)); extern double fmaxmag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fminmag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmaximum (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fminimum (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmaximum_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fminimum_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmaximum_mag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fminimum_mag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmaximum_mag_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fminimum_mag_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorder (const double *__x, const double *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermag (const double *__x, const double *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern double getpayload (const double *__x) __attribute__ ((__nothrow__ , __leaf__)); extern double __getpayload (const double *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayload (double *__x, double __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsig (double *__x, double __payload) __attribute__ ((__nothrow__ , __leaf__)); extern double scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); # 314 "/usr/include/math.h" 2 3 4 # 329 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsigf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 330 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern float acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern float acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern float exp10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); # 177 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern int isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float dremf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float significandf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __significandf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float nanf (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern float __nanf (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 213 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern int isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float j0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __j0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float j1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __j1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float jnf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float __jnf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float y0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __y0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float y1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __y1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float ynf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float __ynf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float gammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __gammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern float rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float nextdownf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __nextdownf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float nextupf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __nextupf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); extern float roundevenf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __roundevenf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizef (float *__cx, const float *__x) __attribute__ ((__nothrow__ , __leaf__)); extern float fmaxmagf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminmagf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaximumf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminimumf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaximum_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaximum_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminimum_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaximum_magf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminimum_magf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaximum_mag_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminimum_mag_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderf (const float *__x, const float *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagf (const float *__x, const float *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern float getpayloadf (const float *__x) __attribute__ ((__nothrow__ , __leaf__)); extern float __getpayloadf (const float *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadf (float *__x, float __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigf (float *__x, float __payload) __attribute__ ((__nothrow__ , __leaf__)); extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__ , __leaf__)); # 331 "/usr/include/math.h" 2 3 4 # 398 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsigl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 399 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern long double acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern long double exp10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 177 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern int isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double significandl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double nanl (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nanl (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 213 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern int isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double j0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __j0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double j1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __j1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double jnl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double y0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __y0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double y1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __y1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double ynl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double gammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __gammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern long double rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double nextdownl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nextdownl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double nextupl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nextupl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern long double roundevenl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizel (long double *__cx, const long double *__x) __attribute__ ((__nothrow__ , __leaf__)); extern long double fmaxmagl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminmagl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmaximuml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminimuml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmaximum_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminimum_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmaximum_magl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminimum_magl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmaximum_mag_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminimum_mag_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderl (const long double *__x, const long double *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagl (const long double *__x, const long double *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern long double getpayloadl (const long double *__x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __getpayloadl (const long double *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadl (long double *__x, long double __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigl (long double *__x, long double __payload) __attribute__ ((__nothrow__ , __leaf__)); extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ , __leaf__)); # 400 "/usr/include/math.h" 2 3 4 # 450 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32 acosf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __acosf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 asinf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __asinf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 atanf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __atanf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 cosf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __cosf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 sinf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __sinf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 tanf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __tanf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 coshf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __coshf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 sinhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __sinhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 tanhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __tanhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern _Float32 acoshf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __acoshf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 asinhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __asinhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 atanhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __atanhf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 expf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __expf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 frexpf32 (_Float32 __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 ldexpf32 (_Float32 __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 logf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __logf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 log10f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __log10f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern _Float32 exp10f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __exp10f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 expm1f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __expm1f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 log1pf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __log1pf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 logbf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __logbf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 exp2f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __exp2f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 log2f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __log2f32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 powf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 sqrtf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __sqrtf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 cbrtf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __cbrtf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 ceilf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fabsf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 floorf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 nanf32 (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __nanf32 (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 220 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32 j0f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __j0f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 j1f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __j1f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 jnf32 (int, _Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __jnf32 (int, _Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 y0f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __y0f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 y1f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __y1f32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 ynf32 (int, _Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __ynf32 (int, _Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 erff32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __erff32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 erfcf32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __erfcf32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 lgammaf32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __lgammaf32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 tgammaf32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __tgammaf32 (_Float32) __attribute__ ((__nothrow__ , __leaf__)); # 252 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32 lgammaf32_r (_Float32, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 rintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __rintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 nextdownf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __nextdownf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 nextupf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __nextupf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 scalbnf32 (_Float32 __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __scalbnf32 (_Float32 __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 scalblnf32 (_Float32 __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 nearbyintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __nearbyintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 roundf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 truncf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fminf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 roundevenf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern _Float32 getpayloadf32 (const _Float32 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 __getpayloadf32 (const _Float32 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) __attribute__ ((__nothrow__ , __leaf__)); # 451 "/usr/include/math.h" 2 3 4 # 467 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64 acosf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __acosf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 asinf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __asinf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 atanf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __atanf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 cosf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __cosf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 sinf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __sinf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 tanf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __tanf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 coshf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __coshf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 sinhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __sinhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 tanhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __tanhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern _Float64 acoshf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __acoshf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 asinhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __asinhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 atanhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __atanhf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 expf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __expf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 frexpf64 (_Float64 __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 ldexpf64 (_Float64 __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 logf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __logf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 log10f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __log10f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern _Float64 exp10f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __exp10f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 expm1f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __expm1f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 log1pf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __log1pf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 logbf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __logbf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 exp2f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __exp2f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 log2f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __log2f64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 powf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 sqrtf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __sqrtf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 cbrtf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __cbrtf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 ceilf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fabsf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 floorf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 nanf64 (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __nanf64 (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 220 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64 j0f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __j0f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 j1f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __j1f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 jnf64 (int, _Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __jnf64 (int, _Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 y0f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __y0f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 y1f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __y1f64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 ynf64 (int, _Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __ynf64 (int, _Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 erff64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __erff64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 erfcf64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __erfcf64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 lgammaf64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __lgammaf64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 tgammaf64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __tgammaf64 (_Float64) __attribute__ ((__nothrow__ , __leaf__)); # 252 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64 lgammaf64_r (_Float64, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 rintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __rintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 nextdownf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __nextdownf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 nextupf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __nextupf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 scalbnf64 (_Float64 __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __scalbnf64 (_Float64 __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 scalblnf64 (_Float64 __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 nearbyintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __nearbyintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 roundf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 truncf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fminf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 roundevenf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern _Float64 getpayloadf64 (const _Float64 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 __getpayloadf64 (const _Float64 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) __attribute__ ((__nothrow__ , __leaf__)); # 468 "/usr/include/math.h" 2 3 4 # 484 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float128 acosf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __acosf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 asinf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __asinf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 atanf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __atanf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 atan2f128 (_Float128 __y, _Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __atan2f128 (_Float128 __y, _Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 cosf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __cosf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 sinf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __sinf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 tanf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __tanf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 coshf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __coshf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 sinhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __sinhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 tanhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __tanhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern _Float128 acoshf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __acoshf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 asinhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __asinhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 atanhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __atanhf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 expf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __expf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 frexpf128 (_Float128 __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __frexpf128 (_Float128 __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 ldexpf128 (_Float128 __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __ldexpf128 (_Float128 __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 logf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __logf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 log10f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __log10f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 modff128 (_Float128 __x, _Float128 *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __modff128 (_Float128 __x, _Float128 *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern _Float128 exp10f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __exp10f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 expm1f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __expm1f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 log1pf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __log1pf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 logbf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __logbf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 exp2f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __exp2f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 log2f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __log2f128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 powf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __powf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 sqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __sqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 hypotf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __hypotf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 cbrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __cbrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 ceilf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __ceilf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fabsf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fabsf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 floorf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __floorf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fmodf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __fmodf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float128 copysignf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __copysignf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 nanf128 (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __nanf128 (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 220 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float128 j0f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __j0f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 j1f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __j1f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 jnf128 (int, _Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __jnf128 (int, _Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 y0f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __y0f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 y1f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __y1f128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 ynf128 (int, _Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __ynf128 (int, _Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 erff128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __erff128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 erfcf128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __erfcf128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 lgammaf128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __lgammaf128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 tgammaf128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __tgammaf128 (_Float128) __attribute__ ((__nothrow__ , __leaf__)); # 252 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float128 lgammaf128_r (_Float128, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __lgammaf128_r (_Float128, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 rintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __rintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 nextafterf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __nextafterf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 nextdownf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __nextdownf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 nextupf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __nextupf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 remainderf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __remainderf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 scalbnf128 (_Float128 __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __scalbnf128 (_Float128 __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 scalblnf128 (_Float128 __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __scalblnf128 (_Float128 __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 nearbyintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __nearbyintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 roundf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __roundf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 truncf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __truncf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 remquof128 (_Float128 __x, _Float128 __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __remquof128 (_Float128 __x, _Float128 __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 fdimf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __fdimf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 fmaxf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fmaxf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fminf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fminf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 roundevenf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __roundevenf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 fmaxmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fmaxmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fminmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fminmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fmaximumf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fmaximumf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fminimumf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fminimumf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fmaximum_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fmaximum_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fminimum_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fminimum_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fmaximum_magf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fmaximum_magf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fminimum_magf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fminimum_magf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fmaximum_mag_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fmaximum_mag_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 fminimum_mag_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float128 __fminimum_mag_numf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderf128 (const _Float128 *__x, const _Float128 *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagf128 (const _Float128 *__x, const _Float128 *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern _Float128 getpayloadf128 (const _Float128 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float128 __getpayloadf128 (const _Float128 *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadf128 (_Float128 *__x, _Float128 __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigf128 (_Float128 *__x, _Float128 __payload) __attribute__ ((__nothrow__ , __leaf__)); # 485 "/usr/include/math.h" 2 3 4 # 501 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32x acosf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __acosf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x asinf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __asinf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x atanf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __atanf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x cosf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __cosf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x sinf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __sinf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x tanf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __tanf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x coshf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __coshf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x sinhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __sinhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x tanhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __tanhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern _Float32x acoshf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __acoshf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x asinhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __asinhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x atanhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __atanhf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x expf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __expf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x frexpf32x (_Float32x __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x ldexpf32x (_Float32x __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x logf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __logf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x log10f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __log10f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern _Float32x exp10f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __exp10f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x expm1f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __expm1f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x log1pf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __log1pf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x logbf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __logbf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x exp2f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __exp2f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x log2f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __log2f32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x powf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x sqrtf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __sqrtf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x cbrtf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __cbrtf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x ceilf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fabsf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x floorf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x nanf32x (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __nanf32x (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 220 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32x j0f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __j0f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x j1f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __j1f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x jnf32x (int, _Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __jnf32x (int, _Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x y0f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __y0f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x y1f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __y1f32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x ynf32x (int, _Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __ynf32x (int, _Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x erff32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __erff32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x erfcf32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __erfcf32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x lgammaf32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __lgammaf32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x tgammaf32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __tgammaf32x (_Float32x) __attribute__ ((__nothrow__ , __leaf__)); # 252 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x rintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __rintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x nextdownf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __nextdownf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x nextupf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __nextupf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x scalbnf32x (_Float32x __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __scalbnf32x (_Float32x __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x scalblnf32x (_Float32x __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x nearbyintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __nearbyintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x roundf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x truncf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fminf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x roundevenf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern _Float32x getpayloadf32x (const _Float32x *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x __getpayloadf32x (const _Float32x *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) __attribute__ ((__nothrow__ , __leaf__)); # 502 "/usr/include/math.h" 2 3 4 # 518 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64x acosf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __acosf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x asinf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __asinf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x atanf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __atanf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x atan2f64x (_Float64x __y, _Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __atan2f64x (_Float64x __y, _Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x cosf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __cosf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x sinf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __sinf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x tanf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __tanf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x coshf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __coshf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x sinhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __sinhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x tanhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __tanhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern void sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) __attribute__ ((__nothrow__ , __leaf__)) ; extern _Float64x acoshf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __acoshf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x asinhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __asinhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x atanhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __atanhf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x expf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __expf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x frexpf64x (_Float64x __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __frexpf64x (_Float64x __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x ldexpf64x (_Float64x __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __ldexpf64x (_Float64x __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x logf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __logf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x log10f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __log10f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x modff64x (_Float64x __x, _Float64x *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __modff64x (_Float64x __x, _Float64x *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern _Float64x exp10f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __exp10f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x expm1f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __expm1f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x log1pf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __log1pf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x logbf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __logbf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x exp2f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __exp2f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x log2f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __log2f64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x powf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __powf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x sqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __sqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x hypotf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __hypotf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x cbrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __cbrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x ceilf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __ceilf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fabsf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fabsf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x floorf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __floorf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fmodf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __fmodf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); # 198 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64x copysignf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __copysignf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x nanf64x (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __nanf64x (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 220 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64x j0f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __j0f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x j1f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __j1f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x jnf64x (int, _Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __jnf64x (int, _Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x y0f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __y0f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x y1f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __y1f64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x ynf64x (int, _Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __ynf64x (int, _Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x erff64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __erff64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x erfcf64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __erfcf64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x lgammaf64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __lgammaf64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x tgammaf64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __tgammaf64x (_Float64x) __attribute__ ((__nothrow__ , __leaf__)); # 252 "/usr/include/aarch64-linux-gnu/bits/mathcalls.h" 3 4 extern _Float64x lgammaf64x_r (_Float64x, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __lgammaf64x_r (_Float64x, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x rintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __rintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x nextafterf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __nextafterf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x nextdownf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __nextdownf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x nextupf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __nextupf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x remainderf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __remainderf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x scalbnf64x (_Float64x __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __scalbnf64x (_Float64x __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int llogbf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __llogbf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x scalblnf64x (_Float64x __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __scalblnf64x (_Float64x __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x nearbyintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __nearbyintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x roundf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __roundf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x truncf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __truncf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x remquof64x (_Float64x __x, _Float64x __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __remquof64x (_Float64x __x, _Float64x __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x fdimf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __fdimf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x fmaxf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fmaxf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fminf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fminf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x roundevenf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __roundevenf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern __intmax_t fromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __intmax_t fromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __intmax_t __fromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern __uintmax_t ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)); extern __uintmax_t __ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ , __leaf__)) ; extern int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x fmaxmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fmaxmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fminmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fminmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fmaximumf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fmaximumf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fminimumf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fminimumf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fmaximum_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fmaximum_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fminimum_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fminimum_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fmaximum_magf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fmaximum_magf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fminimum_magf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fminimum_magf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fmaximum_mag_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fmaximum_mag_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x fminimum_mag_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern _Float64x __fminimum_mag_numf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int totalorderf64x (const _Float64x *__x, const _Float64x *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int totalordermagf64x (const _Float64x *__x, const _Float64x *__y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern _Float64x getpayloadf64x (const _Float64x *__x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x __getpayloadf64x (const _Float64x *__x) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadf64x (_Float64x *__x, _Float64x __payload) __attribute__ ((__nothrow__ , __leaf__)); extern int setpayloadsigf64x (_Float64x *__x, _Float64x __payload) __attribute__ ((__nothrow__ , __leaf__)); # 519 "/usr/include/math.h" 2 3 4 # 566 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern float fadd (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fdiv (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float ffma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern float fmul (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fsqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern float fsub (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); # 567 "/usr/include/math.h" 2 3 4 # 587 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern float faddl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fdivl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float ffmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern float fmull (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fsqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern float fsubl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 588 "/usr/include/math.h" 2 3 4 # 616 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern double daddl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double ddivl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double dfmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern double dmull (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double dsqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double dsubl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 617 "/usr/include/math.h" 2 3 4 # 697 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32sqrtf32x (_Float32x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ , __leaf__)); # 698 "/usr/include/math.h" 2 3 4 # 707 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32sqrtf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); # 708 "/usr/include/math.h" 2 3 4 # 717 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32divf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32sqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); # 718 "/usr/include/math.h" 2 3 4 # 727 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32divf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32sqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); # 728 "/usr/include/math.h" 2 3 4 # 747 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xsqrtf64 (_Float64 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ , __leaf__)); # 748 "/usr/include/math.h" 2 3 4 # 757 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xdivf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xfmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xsqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); # 758 "/usr/include/math.h" 2 3 4 # 767 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xdivf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xfmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xsqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); # 768 "/usr/include/math.h" 2 3 4 # 787 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float64 f64addf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64divf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64sqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ , __leaf__)); # 788 "/usr/include/math.h" 2 3 4 # 797 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float64 f64addf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64divf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64sqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); # 798 "/usr/include/math.h" 2 3 4 # 817 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/mathcalls-narrow.h" 3 4 extern _Float64x f64xaddf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x f64xdivf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x f64xfmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x f64xsqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ , __leaf__)); extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); # 818 "/usr/include/math.h" 2 3 4 # 854 "/usr/include/math.h" 3 4 extern int signgam; # 934 "/usr/include/math.h" 3 4 enum { FP_NAN = 0, FP_INFINITE = 1, FP_ZERO = 2, FP_SUBNORMAL = 3, FP_NORMAL = 4 }; # 1054 "/usr/include/math.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/iscanonical.h" 1 3 4 # 1055 "/usr/include/math.h" 2 3 4 # 1471 "/usr/include/math.h" 3 4 # 346 "g.c" 2 # 1 "/usr/include/fenv.h" 1 3 4 # 26 "/usr/include/fenv.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/fenv.h" 2 3 4 # 64 "/usr/include/fenv.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/fenv.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/fenv.h" 3 4 enum { FE_INVALID = 1, FE_DIVBYZERO = 2, FE_OVERFLOW = 4, FE_UNDERFLOW = 8, FE_INEXACT = 16, }; # 58 "/usr/include/aarch64-linux-gnu/bits/fenv.h" 3 4 typedef unsigned int fexcept_t; typedef struct { unsigned int __fpcr; unsigned int __fpsr; } fenv_t; # 78 "/usr/include/aarch64-linux-gnu/bits/fenv.h" 3 4 typedef unsigned int femode_t; # 65 "/usr/include/fenv.h" 2 3 4 extern int feclearexcept (int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fegetexceptflag (fexcept_t *__flagp, int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int feraiseexcept (int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fesetexcept (int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fetestexcept (int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fetestexceptflag (const fexcept_t *__flagp, int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fegetround (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)); extern int fesetround (int __rounding_direction) __attribute__ ((__nothrow__ , __leaf__)); extern int fegetenv (fenv_t *__envp) __attribute__ ((__nothrow__ , __leaf__)); extern int feholdexcept (fenv_t *__envp) __attribute__ ((__nothrow__ , __leaf__)); extern int fesetenv (const fenv_t *__envp) __attribute__ ((__nothrow__ , __leaf__)); extern int feupdateenv (const fenv_t *__envp) __attribute__ ((__nothrow__ , __leaf__)); extern int fegetmode (femode_t *__modep) __attribute__ ((__nothrow__ , __leaf__)); extern int fesetmode (const femode_t *__modep) __attribute__ ((__nothrow__ , __leaf__)); # 157 "/usr/include/fenv.h" 3 4 extern int feenableexcept (int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fedisableexcept (int __excepts) __attribute__ ((__nothrow__ , __leaf__)); extern int fegetexcept (void) __attribute__ ((__nothrow__ , __leaf__)); # 347 "g.c" 2 # 1 "/usr/include/string.h" 1 3 4 # 26 "/usr/include/string.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/string.h" 2 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 # 43 "/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, const void *__src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 80 "/usr/include/string.h" 3 4 extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 107 "/usr/include/string.h" 3 4 extern void *memchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 120 "/usr/include/string.h" 3 4 extern void *rawmemchr (const void *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 133 "/usr/include/string.h" 3 4 extern void *memrchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 3))); extern char *strcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__access__ (__write_only__, 1, 3))); extern char *strdup (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 246 "/usr/include/string.h" 3 4 extern char *strchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 273 "/usr/include/string.h" 3 4 extern char *strrchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 286 "/usr/include/string.h" 3 4 extern char *strchrnul (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (const char *__s, const char *__reject) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 323 "/usr/include/string.h" 3 4 extern char *strpbrk (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 350 "/usr/include/string.h" 3 4 extern char *strstr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 380 "/usr/include/string.h" 3 4 extern char *strcasestr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__access__ (__read_only__, 1, 2))) __attribute__ ((__access__ (__read_only__, 3, 4))); extern void *__mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (const char *__string, size_t __maxlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); # 444 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern const char *strerrordesc_np (int __err) __attribute__ ((__nothrow__ , __leaf__)); extern const char *strerrorname_np (int __err) __attribute__ ((__nothrow__ , __leaf__)); extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/strings.h" 1 3 4 # 23 "/usr/include/strings.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 24 "/usr/include/strings.h" 2 3 4 extern int bcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void bcopy (const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 68 "/usr/include/strings.h" 3 4 extern char *index (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 96 "/usr/include/strings.h" 3 4 extern char *rindex (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int strcasecmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (const char *__s1, const char *__s2, size_t __n, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); # 463 "/usr/include/string.h" 2 3 4 extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern const char *sigabbrev_np (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern const char *sigdescr_np (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_write__, 1, 2))); # 527 "/usr/include/string.h" 3 4 extern char *basename (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 539 "/usr/include/string.h" 3 4 # 348 "g.c" 2 # 1 "/usr/include/time.h" 1 3 4 # 29 "/usr/include/time.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 30 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/time.h" 1 3 4 # 73 "/usr/include/aarch64-linux-gnu/bits/time.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/timex.h" 1 3 4 # 26 "/usr/include/aarch64-linux-gnu/bits/timex.h" 3 4 struct timex { # 58 "/usr/include/aarch64-linux-gnu/bits/timex.h" 3 4 unsigned int modes; __syscall_slong_t offset; __syscall_slong_t freq; __syscall_slong_t maxerror; __syscall_slong_t esterror; int status; __syscall_slong_t constant; __syscall_slong_t precision; __syscall_slong_t tolerance; struct timeval time; __syscall_slong_t tick; __syscall_slong_t ppsfreq; __syscall_slong_t jitter; int shift; __syscall_slong_t stabil; __syscall_slong_t jitcnt; __syscall_slong_t calcnt; __syscall_slong_t errcnt; __syscall_slong_t stbcnt; int tai; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; }; # 74 "/usr/include/aarch64-linux-gnu/bits/time.h" 2 3 4 extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 90 "/usr/include/aarch64-linux-gnu/bits/time.h" 3 4 # 34 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h" 1 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; const char *tm_zone; }; # 40 "/usr/include/time.h" 2 3 4 # 48 "/usr/include/time.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h" 1 3 4 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; # 49 "/usr/include/time.h" 2 3 4 struct sigevent; # 68 "/usr/include/time.h" 3 4 extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__)); extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); # 100 "/usr/include/time.h" 3 4 extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern char *strptime (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern size_t strftime_l (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern char *strptime_l (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp, locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); # 154 "/usr/include/time.h" 3 4 extern struct tm *gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); extern struct tm *localtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__)); # 179 "/usr/include/time.h" 3 4 extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__)); # 197 "/usr/include/time.h" 3 4 extern char *asctime_r (const struct tm *__restrict __tp, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern char *ctime_r (const time_t *__restrict __timer, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); # 217 "/usr/include/time.h" 3 4 extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__)); extern int daylight; extern long int timezone; # 246 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); # 263 "/usr/include/time.h" 3 4 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__)); extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 281 "/usr/include/time.h" 3 4 extern int nanosleep (const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__)); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 323 "/usr/include/time.h" 3 4 extern int clock_nanosleep (clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem); # 338 "/usr/include/time.h" 3 4 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_settime (timer_t __timerid, int __flags, const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__)); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) __attribute__ ((__nothrow__ , __leaf__)); # 376 "/usr/include/time.h" 3 4 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__)); extern int timespec_get (struct timespec *__ts, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 399 "/usr/include/time.h" 3 4 extern int timespec_getres (struct timespec *__ts, int __base) __attribute__ ((__nothrow__ , __leaf__)); # 425 "/usr/include/time.h" 3 4 extern int getdate_err; # 434 "/usr/include/time.h" 3 4 extern struct tm *getdate (const char *__string); # 448 "/usr/include/time.h" 3 4 extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); # 349 "g.c" 2 # 1 "/usr/include/errno.h" 1 3 4 # 28 "/usr/include/errno.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/errno.h" 1 3 4 # 26 "/usr/include/aarch64-linux-gnu/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 6 "/usr/include/asm-generic/errno.h" 2 3 4 # 2 "/usr/lib/linux/uapi/arm64/asm/errno.h" 2 3 4 # 2 "/usr/include/linux/errno.h" 2 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/errno.h" 2 3 4 # 29 "/usr/include/errno.h" 2 3 4 extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern char *program_invocation_name; extern char *program_invocation_short_name; # 1 "/usr/include/aarch64-linux-gnu/bits/types/error_t.h" 1 3 4 # 22 "/usr/include/aarch64-linux-gnu/bits/types/error_t.h" 3 4 typedef int error_t; # 49 "/usr/include/errno.h" 2 3 4 # 350 "g.c" 2 # 1 "/usr/include/signal.h" 1 3 4 # 27 "/usr/include/signal.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/signum-generic.h" 1 3 4 # 76 "/usr/include/aarch64-linux-gnu/bits/signum-generic.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/signum-arch.h" 1 3 4 # 77 "/usr/include/aarch64-linux-gnu/bits/signum-generic.h" 2 3 4 # 31 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/sig_atomic_t.h" 1 3 4 typedef __sig_atomic_t sig_atomic_t; # 33 "/usr/include/signal.h" 2 3 4 # 57 "/usr/include/signal.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h" 1 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 5 "/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/__sigval_t.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/types/__sigval_t.h" 3 4 union sigval { int sival_int; void *sival_ptr; }; typedef union sigval __sigval_t; # 7 "/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h" 2 3 4 # 16 "/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/siginfo-arch.h" 1 3 4 # 17 "/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h" 2 3 4 # 36 "/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h" 3 4 typedef struct { int si_signo; int si_errno; int si_code; int __pad0; union { int _pad[((128 / sizeof (int)) - 4)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; __sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; __sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; short int si_addr_lsb; union { struct { void *_lower; void *_upper; } _addr_bnd; __uint32_t _pkey; } _bounds; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; struct { void *_call_addr; int _syscall; unsigned int _arch; } _sigsys; } _sifields; } siginfo_t ; # 58 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/siginfo-consts.h" 1 3 4 # 35 "/usr/include/aarch64-linux-gnu/bits/siginfo-consts.h" 3 4 enum { SI_ASYNCNL = -60, SI_DETHREAD = -7, SI_TKILL, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 # 66 "/usr/include/aarch64-linux-gnu/bits/siginfo-consts.h" 3 4 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK, ILL_BADIADDR }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB, FPE_FLTUNK = 14, FPE_CONDTRAP }; enum { SEGV_MAPERR = 1, SEGV_ACCERR, SEGV_BNDERR, SEGV_PKUERR, SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR, SEGV_MTEAERR, SEGV_MTESERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR, BUS_MCEERR_AR, BUS_MCEERR_AO }; enum { TRAP_BRKPT = 1, TRAP_TRACE, TRAP_BRANCH, TRAP_HWBKPT, TRAP_UNK }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 1 "/usr/include/aarch64-linux-gnu/bits/siginfo-consts-arch.h" 1 3 4 # 214 "/usr/include/aarch64-linux-gnu/bits/siginfo-consts.h" 2 3 4 # 59 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/sigval_t.h" 1 3 4 # 16 "/usr/include/aarch64-linux-gnu/bits/types/sigval_t.h" 3 4 typedef __sigval_t sigval_t; # 63 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/sigevent_t.h" 1 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 # 5 "/usr/include/aarch64-linux-gnu/bits/types/sigevent_t.h" 2 3 4 # 22 "/usr/include/aarch64-linux-gnu/bits/types/sigevent_t.h" 3 4 typedef struct sigevent { __sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 4)]; __pid_t _tid; struct { void (*_function) (__sigval_t); pthread_attr_t *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; # 67 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/sigevent-consts.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/sigevent-consts.h" 3 4 enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 68 "/usr/include/signal.h" 2 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); # 112 "/usr/include/signal.h" 3 4 extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern int raise (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ , __leaf__)); extern int gsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); extern void psignal (int __sig, const char *__s); extern void psiginfo (const siginfo_t *__pinfo, const char *__s); # 151 "/usr/include/signal.h" 3 4 extern int sigpause (int __sig) __asm__ ("__xpg_sigpause") __attribute__ ((__deprecated__ ("Use the sigsuspend function instead"))); # 173 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int siggetmask (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); # 188 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigismember (const sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigisemptyset (const sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigandset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int sigorset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))); # 1 "/usr/include/aarch64-linux-gnu/bits/sigaction.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 230 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, const sigset_t *__restrict __set, sigset_t *__restrict __oset) __attribute__ ((__nothrow__ , __leaf__)); extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1))); extern int sigaction (int __sig, const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ , __leaf__)); extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) __attribute__ ((__nonnull__ (1, 2))); extern int sigwaitinfo (const sigset_t *__restrict __set, siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); extern int sigtimedwait (const sigset_t *__restrict __set, siginfo_t *__restrict __info, const struct timespec *__restrict __timeout) __attribute__ ((__nonnull__ (1))); # 292 "/usr/include/signal.h" 3 4 extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/aarch64-linux-gnu/bits/sigcontext.h" 1 3 4 # 30 "/usr/include/aarch64-linux-gnu/bits/sigcontext.h" 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 1 3 4 # 22 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 3 4 # 1 "/usr/include/linux/types.h" 1 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/types.h" 1 3 4 # 1 "/usr/include/asm-generic/types.h" 1 3 4 # 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4 # 12 "/usr/include/asm-generic/int-ll64.h" 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/bitsperlong.h" 1 3 4 # 22 "/usr/lib/linux/uapi/arm64/asm/bitsperlong.h" 3 4 # 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4 # 23 "/usr/lib/linux/uapi/arm64/asm/bitsperlong.h" 2 3 4 # 13 "/usr/include/asm-generic/int-ll64.h" 2 3 4 typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; # 8 "/usr/include/asm-generic/types.h" 2 3 4 # 2 "/usr/lib/linux/uapi/arm64/asm/types.h" 2 3 4 # 6 "/usr/include/linux/types.h" 2 3 4 # 1 "/usr/include/linux/posix_types.h" 1 3 4 # 1 "/usr/include/linux/stddef.h" 1 3 4 # 6 "/usr/include/linux/posix_types.h" 2 3 4 # 25 "/usr/include/linux/posix_types.h" 3 4 typedef struct { unsigned long fds_bits[1024 / (8 * sizeof(long))]; } __kernel_fd_set; typedef void (*__kernel_sighandler_t)(int); typedef int __kernel_key_t; typedef int __kernel_mqd_t; # 1 "/usr/lib/linux/uapi/arm64/asm/posix_types.h" 1 3 4 typedef unsigned short __kernel_old_uid_t; typedef unsigned short __kernel_old_gid_t; # 1 "/usr/include/asm-generic/posix_types.h" 1 3 4 # 15 "/usr/include/asm-generic/posix_types.h" 3 4 typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef __kernel_ulong_t __kernel_ino_t; typedef unsigned int __kernel_mode_t; typedef int __kernel_pid_t; typedef int __kernel_ipc_pid_t; typedef unsigned int __kernel_uid_t; typedef unsigned int __kernel_gid_t; typedef __kernel_long_t __kernel_suseconds_t; typedef int __kernel_daddr_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; # 59 "/usr/include/asm-generic/posix_types.h" 3 4 typedef unsigned int __kernel_old_dev_t; # 72 "/usr/include/asm-generic/posix_types.h" 3 4 typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef __kernel_long_t __kernel_ptrdiff_t; typedef struct { int val[2]; } __kernel_fsid_t; typedef __kernel_long_t __kernel_off_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_old_time_t; typedef __kernel_long_t __kernel_time_t; typedef long long __kernel_time64_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; # 10 "/usr/lib/linux/uapi/arm64/asm/posix_types.h" 2 3 4 # 37 "/usr/include/linux/posix_types.h" 2 3 4 # 10 "/usr/include/linux/types.h" 2 3 4 typedef __signed__ __int128 __s128 __attribute__((aligned(16))); typedef unsigned __int128 __u128 __attribute__((aligned(16))); # 31 "/usr/include/linux/types.h" 3 4 typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u64 __le64; typedef __u64 __be64; typedef __u16 __sum16; typedef __u32 __wsum; # 54 "/usr/include/linux/types.h" 3 4 typedef unsigned __poll_t; # 23 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 2 3 4 struct sigcontext { __u64 fault_address; __u64 regs[31]; __u64 sp; __u64 pc; __u64 pstate; __u8 __reserved[4096] __attribute__((__aligned__(16))); }; # 70 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 3 4 struct _aarch64_ctx { __u32 magic; __u32 size; }; struct fpsimd_context { struct _aarch64_ctx head; __u32 fpsr; __u32 fpcr; __uint128_t vregs[32]; }; # 96 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 3 4 struct esr_context { struct _aarch64_ctx head; __u64 esr; }; # 129 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 3 4 struct extra_context { struct _aarch64_ctx head; __u64 datap; __u32 size; __u32 __reserved[3]; }; struct sve_context { struct _aarch64_ctx head; __u16 vl; __u16 flags; __u16 __reserved[2]; }; struct tpidr2_context { struct _aarch64_ctx head; __u64 tpidr2; }; struct za_context { struct _aarch64_ctx head; __u16 vl; __u16 __reserved[3]; }; struct zt_context { struct _aarch64_ctx head; __u16 nregs; __u16 __reserved[3]; }; # 1 "/usr/lib/linux/uapi/arm64/asm/sve_context.h" 1 3 4 # 174 "/usr/lib/linux/uapi/arm64/asm/sigcontext.h" 2 3 4 # 31 "/usr/include/aarch64-linux-gnu/bits/sigcontext.h" 2 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 35 "/usr/include/aarch64-linux-gnu/bits/sigcontext.h" 2 3 4 # 302 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 312 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/stack_t.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/types/stack_t.h" 3 4 # 1 "/usr/local/lib/gcc/aarch64-unknown-linux-gnu/14.1.0/include/stddef.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/types/stack_t.h" 2 3 4 typedef struct { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 314 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/ucontext.h" 1 3 4 # 36 "/usr/include/aarch64-linux-gnu/sys/ucontext.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 1 3 4 # 33 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/time.h" 1 3 4 # 34 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 # 52 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; # 67 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, void *__restrict __tz) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 86 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 extern int settimeofday (const struct timeval *__tv, const struct timezone *__tz) __attribute__ ((__nothrow__ , __leaf__)); extern int adjtime (const struct timeval *__delta, struct timeval *__olddelta) __attribute__ ((__nothrow__ , __leaf__)); # 114 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) __attribute__ ((__nothrow__ , __leaf__)); extern int setitimer (__itimer_which_t __which, const struct itimerval *__restrict __new, struct itimerval *__restrict __old) __attribute__ ((__nothrow__ , __leaf__)); extern int utimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 189 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 extern int lutimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int futimes (int __fd, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)); # 214 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 extern int futimesat (int __fd, const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__)); # 258 "/usr/include/aarch64-linux-gnu/sys/time.h" 3 4 # 34 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/user.h" 1 3 4 # 22 "/usr/include/aarch64-linux-gnu/sys/user.h" 3 4 struct user_regs_struct { unsigned long long regs[31]; unsigned long long sp; unsigned long long pc; unsigned long long pstate; }; struct user_fpsimd_struct { __uint128_t vregs[32]; unsigned int fpsr; unsigned int fpcr; }; # 36 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/procfs.h" 1 3 4 # 25 "/usr/include/aarch64-linux-gnu/bits/procfs.h" 3 4 typedef __uint64_t elf_greg_t; typedef elf_greg_t elf_gregset_t[(sizeof (struct user_regs_struct) / sizeof (elf_greg_t))]; typedef struct user_fpsimd_struct elf_fpregset_t; # 41 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/procfs-id.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/procfs-id.h" 3 4 typedef unsigned int __pr_uid_t; typedef unsigned int __pr_gid_t; # 45 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 2 3 4 struct elf_siginfo { int si_signo; int si_code; int si_errno; }; # 63 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 3 4 struct elf_prstatus { struct elf_siginfo pr_info; short int pr_cursig; unsigned long int pr_sigpend; unsigned long int pr_sighold; __pid_t pr_pid; __pid_t pr_ppid; __pid_t pr_pgrp; __pid_t pr_sid; struct timeval pr_utime; struct timeval pr_stime; struct timeval pr_cutime; struct timeval pr_cstime; elf_gregset_t pr_reg; int pr_fpvalid; }; struct elf_prpsinfo { char pr_state; char pr_sname; char pr_zomb; char pr_nice; unsigned long int pr_flag; __pr_uid_t pr_uid; __pr_gid_t pr_gid; int pr_pid, pr_ppid, pr_pgrp, pr_sid; char pr_fname[16]; char pr_psargs[(80)]; }; typedef void *psaddr_t; # 1 "/usr/include/aarch64-linux-gnu/bits/procfs-prregset.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/procfs-prregset.h" 3 4 typedef elf_gregset_t __prgregset_t; typedef elf_fpregset_t __prfpregset_t; # 107 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 2 3 4 typedef __prgregset_t prgregset_t; typedef __prfpregset_t prfpregset_t; typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; typedef struct elf_prpsinfo prpsinfo_t; # 1 "/usr/include/aarch64-linux-gnu/bits/procfs-extra.h" 1 3 4 # 125 "/usr/include/aarch64-linux-gnu/sys/procfs.h" 2 3 4 # 37 "/usr/include/aarch64-linux-gnu/sys/ucontext.h" 2 3 4 typedef elf_greg_t greg_t; typedef elf_gregset_t gregset_t; typedef elf_fpregset_t fpregset_t; typedef struct { unsigned long long int fault_address; unsigned long long int regs[31]; unsigned long long int sp; unsigned long long int pc; unsigned long long int pstate; unsigned char __reserved[4096] __attribute__ ((__aligned__ (16))); } mcontext_t; typedef struct ucontext_t { unsigned long uc_flags; struct ucontext_t *uc_link; stack_t uc_stack; sigset_t uc_sigmask; mcontext_t uc_mcontext; } ucontext_t; # 317 "/usr/include/signal.h" 2 3 4 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__ ("Use sigaction with SA_RESTART instead"))); # 1 "/usr/include/aarch64-linux-gnu/bits/sigstack.h" 1 3 4 # 328 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/sigstksz.h" 1 3 4 # 329 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/ss_flags.h" 1 3 4 # 27 "/usr/include/aarch64-linux-gnu/bits/ss_flags.h" 3 4 enum { SS_ONSTACK = 1, SS_DISABLE }; # 330 "/usr/include/signal.h" 2 3 4 extern int sigaltstack (const stack_t *__restrict __ss, stack_t *__restrict __oss) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_sigstack.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/types/struct_sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; # 340 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); extern int sighold (int __sig) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__ ("Use the sigprocmask function instead"))); extern int sigrelse (int __sig) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__ ("Use the sigprocmask function instead"))); extern int sigignore (int __sig) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__ ("Use the signal function instead"))); extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__ ("Use the signal and sigprocmask functions instead"))) ; # 1 "/usr/include/aarch64-linux-gnu/bits/sigthread.h" 1 3 4 # 31 "/usr/include/aarch64-linux-gnu/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ , __leaf__)); extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ , __leaf__)); extern int pthread_sigqueue (pthread_t __threadid, int __signo, const union sigval __value) __attribute__ ((__nothrow__ , __leaf__)); # 377 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ , __leaf__)); extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ , __leaf__)); # 1 "/usr/include/aarch64-linux-gnu/bits/signal_ext.h" 1 3 4 # 29 "/usr/include/aarch64-linux-gnu/bits/signal_ext.h" 3 4 extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal); # 392 "/usr/include/signal.h" 2 3 4 # 351 "g.c" 2 # 1 "/usr/include/assert.h" 1 3 4 # 352 "g.c" 2 # 1 "/usr/include/setjmp.h" 1 3 4 # 27 "/usr/include/setjmp.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/setjmp.h" 1 3 4 # 30 "/usr/include/aarch64-linux-gnu/bits/setjmp.h" 3 4 __extension__ typedef unsigned long long __jmp_buf [22]; # 30 "/usr/include/setjmp.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h" 1 3 4 # 26 "/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h" 3 4 struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; }; # 31 "/usr/include/setjmp.h" 2 3 4 typedef struct __jmp_buf_tag jmp_buf[1]; extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__)); extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__)); extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__)); # 54 "/usr/include/setjmp.h" 3 4 extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); typedef struct __jmp_buf_tag sigjmp_buf[1]; # 80 "/usr/include/setjmp.h" 3 4 extern void siglongjmp (sigjmp_buf __env, int __val) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 90 "/usr/include/setjmp.h" 3 4 # 353 "g.c" 2 # 1 "/usr/include/aarch64-linux-gnu/sys/ioctl.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/sys/ioctl.h" 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/ioctls.h" 1 3 4 # 23 "/usr/include/aarch64-linux-gnu/bits/ioctls.h" 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/ioctls.h" 1 3 4 # 1 "/usr/include/asm-generic/ioctls.h" 1 3 4 # 1 "/usr/include/linux/ioctl.h" 1 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/ioctl.h" 1 3 4 # 1 "/usr/include/asm-generic/ioctl.h" 1 3 4 # 2 "/usr/lib/linux/uapi/arm64/asm/ioctl.h" 2 3 4 # 6 "/usr/include/linux/ioctl.h" 2 3 4 # 6 "/usr/include/asm-generic/ioctls.h" 2 3 4 # 2 "/usr/lib/linux/uapi/arm64/asm/ioctls.h" 2 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/ioctls.h" 2 3 4 # 27 "/usr/include/aarch64-linux-gnu/sys/ioctl.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/ioctl-types.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/bits/ioctl-types.h" 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/ioctls.h" 1 3 4 # 25 "/usr/include/aarch64-linux-gnu/bits/ioctl-types.h" 2 3 4 struct winsize { unsigned short int ws_row; unsigned short int ws_col; unsigned short int ws_xpixel; unsigned short int ws_ypixel; }; struct termio { unsigned short int c_iflag; unsigned short int c_oflag; unsigned short int c_cflag; unsigned short int c_lflag; unsigned char c_line; unsigned char c_cc[8]; }; # 30 "/usr/include/aarch64-linux-gnu/sys/ioctl.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/sys/ttydefaults.h" 1 3 4 # 37 "/usr/include/aarch64-linux-gnu/sys/ioctl.h" 2 3 4 extern int ioctl (int __fd, unsigned long int __request, ...) __attribute__ ((__nothrow__ , __leaf__)); # 53 "/usr/include/aarch64-linux-gnu/sys/ioctl.h" 3 4 # 354 "g.c" 2 # 1 "/usr/include/readline/readline.h" 1 3 4 # 36 "/usr/include/readline/readline.h" 3 4 # 1 "/usr/include/readline/rlstdc.h" 1 3 4 # 37 "/usr/include/readline/readline.h" 2 3 4 # 1 "/usr/include/readline/rltypedefs.h" 1 3 4 # 35 "/usr/include/readline/rltypedefs.h" 3 4 typedef int Function () __attribute__((deprecated)); typedef void VFunction () __attribute__((deprecated)); typedef char *CPFunction () __attribute__((deprecated)); typedef char **CPPFunction () __attribute__((deprecated)); # 54 "/usr/include/readline/rltypedefs.h" 3 4 typedef int rl_command_func_t (int, int); typedef char *rl_compentry_func_t (const char *, int); typedef char **rl_completion_func_t (const char *, int, int); typedef char *rl_quote_func_t (char *, int, char *); typedef char *rl_dequote_func_t (char *, int); typedef int rl_compignore_func_t (char **); typedef void rl_compdisp_func_t (char **, int, int); typedef int rl_hook_func_t (void); typedef int rl_getc_func_t (FILE *); typedef int rl_linebuf_func_t (char *, int); typedef int rl_intfunc_t (int); typedef int rl_icpfunc_t (char *); typedef int rl_icppfunc_t (char **); typedef void rl_voidfunc_t (void); typedef void rl_vintfunc_t (int); typedef void rl_vcpfunc_t (char *); typedef void rl_vcppfunc_t (char **); typedef char *rl_cpvfunc_t (void); typedef char *rl_cpifunc_t (int); typedef char *rl_cpcpfunc_t (char *); typedef char *rl_cpcppfunc_t (char **); # 38 "/usr/include/readline/readline.h" 2 3 4 # 1 "/usr/include/readline/keymaps.h" 1 3 4 # 35 "/usr/include/readline/keymaps.h" 3 4 # 1 "/usr/include/readline/chardefs.h" 1 3 4 # 25 "/usr/include/readline/chardefs.h" 3 4 # 1 "/usr/include/ctype.h" 1 3 4 # 28 "/usr/include/ctype.h" 3 4 # 46 "/usr/include/ctype.h" 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 79 "/usr/include/ctype.h" 3 4 extern const unsigned short int **__ctype_b_loc (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 108 "/usr/include/ctype.h" 3 4 extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ , __leaf__)); extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); # 206 "/usr/include/ctype.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 251 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isalpha_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int iscntrl_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int islower_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isgraph_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isprint_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int ispunct_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isspace_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isupper_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isxdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int isblank_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); extern int __tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern int tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern int __toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); extern int toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); # 327 "/usr/include/ctype.h" 3 4 # 26 "/usr/include/readline/chardefs.h" 2 3 4 # 36 "/usr/include/readline/keymaps.h" 2 3 4 # 44 "/usr/include/readline/keymaps.h" 3 4 typedef struct _keymap_entry { char type; rl_command_func_t *function; } KEYMAP_ENTRY; typedef KEYMAP_ENTRY KEYMAP_ENTRY_ARRAY[257]; typedef KEYMAP_ENTRY *Keymap; extern KEYMAP_ENTRY_ARRAY emacs_standard_keymap, emacs_meta_keymap, emacs_ctlx_keymap; extern KEYMAP_ENTRY_ARRAY vi_insertion_keymap, vi_movement_keymap; extern Keymap rl_make_bare_keymap (void); extern Keymap rl_copy_keymap (Keymap); extern Keymap rl_make_keymap (void); extern void rl_discard_keymap (Keymap); extern Keymap rl_get_keymap_by_name (const char *); extern Keymap rl_get_keymap (void); extern void rl_set_keymap (Keymap); extern int rl_set_keymap_name (const char *, Keymap); # 39 "/usr/include/readline/readline.h" 2 3 4 # 1 "/usr/include/readline/tilde.h" 1 3 4 # 30 "/usr/include/readline/tilde.h" 3 4 typedef char *tilde_hook_func_t (char *); extern tilde_hook_func_t *tilde_expansion_preexpansion_hook; extern tilde_hook_func_t *tilde_expansion_failure_hook; extern char **tilde_additional_prefixes; extern char **tilde_additional_suffixes; extern char *tilde_expand (const char *); extern char *tilde_expand_word (const char *); extern char *tilde_find_word (const char *, int, int *); # 40 "/usr/include/readline/readline.h" 2 3 4 # 55 "/usr/include/readline/readline.h" 3 4 enum undo_code { UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END }; typedef struct undo_list { struct undo_list *next; int start, end; char *text; enum undo_code what; } UNDO_LIST; extern UNDO_LIST *rl_undo_list; typedef struct _funmap { const char *name; rl_command_func_t *function; } FUNMAP; extern FUNMAP **funmap; # 83 "/usr/include/readline/readline.h" 3 4 extern int rl_digit_argument (int, int); extern int rl_universal_argument (int, int); extern int rl_forward_byte (int, int); extern int rl_forward_char (int, int); extern int rl_forward (int, int); extern int rl_backward_byte (int, int); extern int rl_backward_char (int, int); extern int rl_backward (int, int); extern int rl_beg_of_line (int, int); extern int rl_end_of_line (int, int); extern int rl_forward_word (int, int); extern int rl_backward_word (int, int); extern int rl_refresh_line (int, int); extern int rl_clear_screen (int, int); extern int rl_clear_display (int, int); extern int rl_skip_csi_sequence (int, int); extern int rl_arrow_keys (int, int); extern int rl_previous_screen_line (int, int); extern int rl_next_screen_line (int, int); extern int rl_insert (int, int); extern int rl_quoted_insert (int, int); extern int rl_tab_insert (int, int); extern int rl_newline (int, int); extern int rl_do_lowercase_version (int, int); extern int rl_rubout (int, int); extern int rl_delete (int, int); extern int rl_rubout_or_delete (int, int); extern int rl_delete_horizontal_space (int, int); extern int rl_delete_or_show_completions (int, int); extern int rl_insert_comment (int, int); extern int rl_upcase_word (int, int); extern int rl_downcase_word (int, int); extern int rl_capitalize_word (int, int); extern int rl_transpose_words (int, int); extern int rl_transpose_chars (int, int); extern int rl_char_search (int, int); extern int rl_backward_char_search (int, int); extern int rl_beginning_of_history (int, int); extern int rl_end_of_history (int, int); extern int rl_get_next_history (int, int); extern int rl_get_previous_history (int, int); extern int rl_operate_and_get_next (int, int); extern int rl_fetch_history (int, int); extern int rl_set_mark (int, int); extern int rl_exchange_point_and_mark (int, int); extern int rl_vi_editing_mode (int, int); extern int rl_emacs_editing_mode (int, int); extern int rl_overwrite_mode (int, int); extern int rl_re_read_init_file (int, int); extern int rl_dump_functions (int, int); extern int rl_dump_macros (int, int); extern int rl_dump_variables (int, int); extern int rl_complete (int, int); extern int rl_possible_completions (int, int); extern int rl_insert_completions (int, int); extern int rl_old_menu_complete (int, int); extern int rl_menu_complete (int, int); extern int rl_backward_menu_complete (int, int); extern int rl_kill_word (int, int); extern int rl_backward_kill_word (int, int); extern int rl_kill_line (int, int); extern int rl_backward_kill_line (int, int); extern int rl_kill_full_line (int, int); extern int rl_unix_word_rubout (int, int); extern int rl_unix_filename_rubout (int, int); extern int rl_unix_line_discard (int, int); extern int rl_copy_region_to_kill (int, int); extern int rl_kill_region (int, int); extern int rl_copy_forward_word (int, int); extern int rl_copy_backward_word (int, int); extern int rl_yank (int, int); extern int rl_yank_pop (int, int); extern int rl_yank_nth_arg (int, int); extern int rl_yank_last_arg (int, int); extern int rl_bracketed_paste_begin (int, int); extern int rl_reverse_search_history (int, int); extern int rl_forward_search_history (int, int); extern int rl_start_kbd_macro (int, int); extern int rl_end_kbd_macro (int, int); extern int rl_call_last_kbd_macro (int, int); extern int rl_print_last_kbd_macro (int, int); extern int rl_revert_line (int, int); extern int rl_undo_command (int, int); extern int rl_tilde_expand (int, int); extern int rl_restart_output (int, int); extern int rl_stop_output (int, int); extern int rl_abort (int, int); extern int rl_tty_status (int, int); extern int rl_history_search_forward (int, int); extern int rl_history_search_backward (int, int); extern int rl_history_substr_search_forward (int, int); extern int rl_history_substr_search_backward (int, int); extern int rl_noninc_forward_search (int, int); extern int rl_noninc_reverse_search (int, int); extern int rl_noninc_forward_search_again (int, int); extern int rl_noninc_reverse_search_again (int, int); extern int rl_insert_close (int, int); extern void rl_callback_handler_install (const char *, rl_vcpfunc_t *); extern void rl_callback_read_char (void); extern void rl_callback_handler_remove (void); extern void rl_callback_sigcleanup (void); extern int rl_vi_redo (int, int); extern int rl_vi_undo (int, int); extern int rl_vi_yank_arg (int, int); extern int rl_vi_fetch_history (int, int); extern int rl_vi_search_again (int, int); extern int rl_vi_search (int, int); extern int rl_vi_complete (int, int); extern int rl_vi_tilde_expand (int, int); extern int rl_vi_prev_word (int, int); extern int rl_vi_next_word (int, int); extern int rl_vi_end_word (int, int); extern int rl_vi_insert_beg (int, int); extern int rl_vi_append_mode (int, int); extern int rl_vi_append_eol (int, int); extern int rl_vi_eof_maybe (int, int); extern int rl_vi_insertion_mode (int, int); extern int rl_vi_insert_mode (int, int); extern int rl_vi_movement_mode (int, int); extern int rl_vi_arg_digit (int, int); extern int rl_vi_change_case (int, int); extern int rl_vi_put (int, int); extern int rl_vi_column (int, int); extern int rl_vi_delete_to (int, int); extern int rl_vi_change_to (int, int); extern int rl_vi_yank_to (int, int); extern int rl_vi_yank_pop (int, int); extern int rl_vi_rubout (int, int); extern int rl_vi_delete (int, int); extern int rl_vi_back_to_indent (int, int); extern int rl_vi_unix_word_rubout (int, int); extern int rl_vi_first_print (int, int); extern int rl_vi_char_search (int, int); extern int rl_vi_match (int, int); extern int rl_vi_change_char (int, int); extern int rl_vi_subst (int, int); extern int rl_vi_overstrike (int, int); extern int rl_vi_overstrike_delete (int, int); extern int rl_vi_replace (int, int); extern int rl_vi_set_mark (int, int); extern int rl_vi_goto_mark (int, int); extern int rl_vi_check (void); extern int rl_vi_domove (int, int *); extern int rl_vi_bracktype (int); extern void rl_vi_start_inserting (int, int, int); extern int rl_vi_fWord (int, int); extern int rl_vi_bWord (int, int); extern int rl_vi_eWord (int, int); extern int rl_vi_fword (int, int); extern int rl_vi_bword (int, int); extern int rl_vi_eword (int, int); # 298 "/usr/include/readline/readline.h" 3 4 extern char *readline (const char *); extern int rl_set_prompt (const char *); extern int rl_expand_prompt (char *); extern int rl_initialize (void); extern int rl_discard_argument (void); extern int rl_add_defun (const char *, rl_command_func_t *, int); extern int rl_bind_key (int, rl_command_func_t *); extern int rl_bind_key_in_map (int, rl_command_func_t *, Keymap); extern int rl_unbind_key (int); extern int rl_unbind_key_in_map (int, Keymap); extern int rl_bind_key_if_unbound (int, rl_command_func_t *); extern int rl_bind_key_if_unbound_in_map (int, rl_command_func_t *, Keymap); extern int rl_unbind_function_in_map (rl_command_func_t *, Keymap); extern int rl_unbind_command_in_map (const char *, Keymap); extern int rl_bind_keyseq (const char *, rl_command_func_t *); extern int rl_bind_keyseq_in_map (const char *, rl_command_func_t *, Keymap); extern int rl_bind_keyseq_if_unbound (const char *, rl_command_func_t *); extern int rl_bind_keyseq_if_unbound_in_map (const char *, rl_command_func_t *, Keymap); extern int rl_generic_bind (int, const char *, char *, Keymap); extern char *rl_variable_value (const char *); extern int rl_variable_bind (const char *, const char *); extern int rl_set_key (const char *, rl_command_func_t *, Keymap); extern int rl_macro_bind (const char *, const char *, Keymap); extern int rl_translate_keyseq (const char *, char *, int *); extern char *rl_untranslate_keyseq (int); extern rl_command_func_t *rl_named_function (const char *); extern rl_command_func_t *rl_function_of_keyseq (const char *, Keymap, int *); extern rl_command_func_t *rl_function_of_keyseq_len (const char *, size_t, Keymap, int *); extern int rl_trim_arg_from_keyseq (const char *, size_t, Keymap); extern void rl_list_funmap_names (void); extern char **rl_invoking_keyseqs_in_map (rl_command_func_t *, Keymap); extern char **rl_invoking_keyseqs (rl_command_func_t *); extern void rl_function_dumper (int); extern void rl_macro_dumper (int); extern void rl_variable_dumper (int); extern int rl_read_init_file (const char *); extern int rl_parse_and_bind (char *); extern Keymap rl_make_bare_keymap (void); extern int rl_empty_keymap (Keymap); extern Keymap rl_copy_keymap (Keymap); extern Keymap rl_make_keymap (void); extern void rl_discard_keymap (Keymap); extern void rl_free_keymap (Keymap); extern Keymap rl_get_keymap_by_name (const char *); extern char *rl_get_keymap_name (Keymap); extern void rl_set_keymap (Keymap); extern Keymap rl_get_keymap (void); extern int rl_set_keymap_name (const char *, Keymap); extern void rl_set_keymap_from_edit_mode (void); extern char *rl_get_keymap_name_from_edit_mode (void); extern int rl_add_funmap_entry (const char *, rl_command_func_t *); extern const char **rl_funmap_names (void); extern void rl_initialize_funmap (void); extern void rl_push_macro_input (char *); extern void rl_add_undo (enum undo_code, int, int, char *); extern void rl_free_undo_list (void); extern int rl_do_undo (void); extern int rl_begin_undo_group (void); extern int rl_end_undo_group (void); extern int rl_modifying (int, int); extern void rl_redisplay (void); extern int rl_on_new_line (void); extern int rl_on_new_line_with_prompt (void); extern int rl_forced_update_display (void); extern int rl_clear_visible_line (void); extern int rl_clear_message (void); extern int rl_reset_line_state (void); extern int rl_crlf (void); extern void rl_keep_mark_active (void); extern void rl_activate_mark (void); extern void rl_deactivate_mark (void); extern int rl_mark_active_p (void); extern int rl_message (); extern int rl_show_char (int); extern int rl_character_len (int, int); extern void rl_redraw_prompt_last_line (void); extern void rl_save_prompt (void); extern void rl_restore_prompt (void); extern void rl_replace_line (const char *, int); extern int rl_insert_text (const char *); extern int rl_delete_text (int, int); extern int rl_kill_text (int, int); extern char *rl_copy_text (int, int); extern void rl_prep_terminal (int); extern void rl_deprep_terminal (void); extern void rl_tty_set_default_bindings (Keymap); extern void rl_tty_unset_default_bindings (Keymap); extern int rl_tty_set_echoing (int); extern int rl_reset_terminal (const char *); extern void rl_resize_terminal (void); extern void rl_set_screen_size (int, int); extern void rl_get_screen_size (int *, int *); extern void rl_reset_screen_size (void); extern char *rl_get_termcap (const char *); extern int rl_stuff_char (int); extern int rl_execute_next (int); extern int rl_clear_pending_input (void); extern int rl_read_key (void); extern int rl_getc (FILE *); extern int rl_set_keyboard_input_timeout (int); extern int rl_set_timeout (unsigned int, unsigned int); extern int rl_timeout_remaining (unsigned int *, unsigned int *); extern void rl_extend_line_buffer (int); extern int rl_ding (void); extern int rl_alphabetic (int); extern void rl_free (void *); extern int rl_set_signals (void); extern int rl_clear_signals (void); extern void rl_cleanup_after_signal (void); extern void rl_reset_after_signal (void); extern void rl_free_line_state (void); extern int rl_pending_signal (void); extern void rl_check_signals (void); extern void rl_echo_signal_char (int); extern int rl_set_paren_blink_timeout (int); extern void rl_clear_history (void); extern int rl_maybe_save_line (void); extern int rl_maybe_unsave_line (void); extern int rl_maybe_replace_line (void); extern int rl_complete_internal (int); extern void rl_display_match_list (char **, int, int); extern char **rl_completion_matches (const char *, rl_compentry_func_t *); extern char *rl_username_completion_function (const char *, int); extern char *rl_filename_completion_function (const char *, int); extern int rl_completion_mode (rl_command_func_t *); # 523 "/usr/include/readline/readline.h" 3 4 extern const char *rl_library_version; extern int rl_readline_version; extern int rl_gnu_readline_p; extern unsigned long rl_readline_state; extern int rl_editing_mode; extern int rl_insert_mode; extern const char *rl_readline_name; extern char *rl_prompt; extern char *rl_display_prompt; extern char *rl_line_buffer; extern int rl_point; extern int rl_end; extern int rl_mark; extern int rl_done; extern int rl_eof_found; extern int rl_pending_input; extern int rl_dispatching; extern int rl_explicit_arg; extern int rl_numeric_arg; extern rl_command_func_t *rl_last_func; extern const char *rl_terminal_name; extern FILE *rl_instream; extern FILE *rl_outstream; extern int rl_prefer_env_winsize; extern rl_hook_func_t *rl_startup_hook; extern rl_hook_func_t *rl_pre_input_hook; extern rl_hook_func_t *rl_event_hook; extern rl_hook_func_t *rl_signal_event_hook; extern rl_hook_func_t *rl_timeout_event_hook; extern rl_hook_func_t *rl_input_available_hook; extern rl_getc_func_t *rl_getc_function; extern rl_voidfunc_t *rl_redisplay_function; extern rl_vintfunc_t *rl_prep_term_function; extern rl_voidfunc_t *rl_deprep_term_function; extern Keymap rl_executing_keymap; extern Keymap rl_binding_keymap; extern int rl_executing_key; extern char *rl_executing_keyseq; extern int rl_key_sequence_length; extern int rl_erase_empty_line; extern int rl_already_prompted; extern int rl_num_chars_to_read; extern char *rl_executing_macro; extern int rl_catch_signals; extern int rl_catch_sigwinch; extern int rl_change_environment; extern rl_compentry_func_t *rl_completion_entry_function; extern rl_compentry_func_t *rl_menu_completion_entry_function; extern rl_compignore_func_t *rl_ignore_some_completions_function; # 698 "/usr/include/readline/readline.h" 3 4 extern rl_completion_func_t *rl_attempted_completion_function; extern const char *rl_basic_word_break_characters; extern const char *rl_completer_word_break_characters; extern rl_cpvfunc_t *rl_completion_word_break_hook; extern const char *rl_completer_quote_characters; extern const char *rl_basic_quote_characters; extern const char *rl_filename_quote_characters; extern const char *rl_special_prefixes; # 741 "/usr/include/readline/readline.h" 3 4 extern rl_icppfunc_t *rl_directory_completion_hook; # 754 "/usr/include/readline/readline.h" 3 4 extern rl_icppfunc_t *rl_directory_rewrite_hook; extern rl_icppfunc_t *rl_filename_stat_hook; # 772 "/usr/include/readline/readline.h" 3 4 extern rl_dequote_func_t *rl_filename_rewrite_hook; # 784 "/usr/include/readline/readline.h" 3 4 extern rl_compdisp_func_t *rl_completion_display_matches_hook; extern int rl_filename_completion_desired; extern int rl_filename_quoting_desired; extern rl_quote_func_t *rl_filename_quoting_function; extern rl_dequote_func_t *rl_filename_dequoting_function; extern rl_linebuf_func_t *rl_char_is_quoted_p; extern int rl_attempted_completion_over; extern int rl_completion_type; extern int rl_completion_invoking_key; extern int rl_completion_query_items; extern int rl_completion_append_character; extern int rl_completion_suppress_append; extern int rl_completion_quote_character; extern int rl_completion_found_quote; extern int rl_completion_suppress_quote; extern int rl_sort_completion_matches; # 864 "/usr/include/readline/readline.h" 3 4 extern int rl_completion_mark_symlink_dirs; extern int rl_ignore_completion_duplicates; extern int rl_inhibit_completion; extern int rl_persistent_signal_handlers; # 932 "/usr/include/readline/readline.h" 3 4 struct readline_state { int point; int end; int mark; int buflen; char *buffer; UNDO_LIST *ul; char *prompt; int rlstate; int done; Keymap kmap; rl_command_func_t *lastfunc; int insmode; int edmode; char *kseq; int kseqlen; int pendingin; FILE *inf; FILE *outf; char *macro; int catchsigs; int catchsigwinch; rl_compentry_func_t *entryfunc; rl_compentry_func_t *menuentryfunc; rl_compignore_func_t *ignorefunc; rl_completion_func_t *attemptfunc; const char *wordbreakchars; char reserved[64]; }; extern int rl_save_state (struct readline_state *); extern int rl_restore_state (struct readline_state *); # 355 "g.c" 2 # 1 "/usr/include/readline/history.h" 1 3 4 # 41 "/usr/include/readline/history.h" 3 4 typedef void *histdata_t; # 52 "/usr/include/readline/history.h" 3 4 typedef struct _hist_entry { char *line; char *timestamp; histdata_t data; } HIST_ENTRY; typedef struct _hist_state { HIST_ENTRY **entries; int offset; int length; int size; int flags; } HISTORY_STATE; # 77 "/usr/include/readline/history.h" 3 4 extern void using_history (void); extern HISTORY_STATE *history_get_history_state (void); extern void history_set_history_state (HISTORY_STATE *); extern void add_history (const char *); extern void add_history_time (const char *); extern HIST_ENTRY *remove_history (int); extern HIST_ENTRY **remove_history_range (int, int); extern HIST_ENTRY *alloc_history_entry (char *, char *); extern HIST_ENTRY *copy_history_entry (HIST_ENTRY *); extern histdata_t free_history_entry (HIST_ENTRY *); extern HIST_ENTRY *replace_history_entry (int, const char *, histdata_t); extern void clear_history (void); extern void stifle_history (int); extern int unstifle_history (void); extern int history_is_stifled (void); extern HIST_ENTRY **history_list (void); extern int where_history (void); extern HIST_ENTRY *current_history (void); extern HIST_ENTRY *history_get (int); extern time_t history_get_time (HIST_ENTRY *); extern int history_total_bytes (void); extern int history_set_pos (int); extern HIST_ENTRY *previous_history (void); extern HIST_ENTRY *next_history (void); # 182 "/usr/include/readline/history.h" 3 4 extern int history_search (const char *, int); extern int history_search_prefix (const char *, int); extern int history_search_pos (const char *, int, int); extern int read_history (const char *); extern int read_history_range (const char *, int, int); extern int write_history (const char *); extern int append_history (int, const char *); extern int history_truncate_file (const char *, int); # 236 "/usr/include/readline/history.h" 3 4 extern int history_expand (char *, char **); extern char *history_arg_extract (int, int, const char *); extern char *get_history_event (const char *, int *, int); extern char **history_tokenize (const char *); extern int history_base; extern int history_length; extern int history_max_entries; extern int history_offset; extern int history_lines_read_from_file; extern int history_lines_written_to_file; extern char history_expansion_char; extern char history_subst_char; extern char *history_word_delimiters; extern char history_comment_char; extern char *history_no_expand_chars; extern char *history_search_delimiter_chars; extern int history_quotes_inhibit_expansion; extern int history_quoting_state; extern int history_write_timestamps; extern int history_multiline_entries; extern int history_file_version; extern int max_input_history; extern rl_linebuf_func_t *history_inhibit_expansion_function; # 356 "g.c" 2 # 379 "g.c" # 379 "g.c" typedef int64_t i64; typedef uint16_t u16; typedef uint32_t u32; typedef uint64_t u64; typedef uint8_t byte; typedef double real; # 402 "g.c" # 402 "g.c" 3 4 _Static_assert # 402 "g.c" (8 # 402 "g.c" == 8 && # 402 "g.c" 3 4 0 # 402 "g.c" == 0 && # 402 "g.c" 3 4 (0x7f * 2 + 1) # 402 "g.c" == 255, "The char type must be unsigned 8 bits (use -funsigned-char)"); # 404 "g.c" 3 4 _Static_assert # 404 "g.c" ('Z'-'A' == 25 && 'z'-'a' == 25 && '9'-'0' == 9, "Rational character set expected"); # 406 "g.c" 3 4 _Static_assert # 406 "g.c" (sizeof(real) == 8 && 53 # 406 "g.c" == 53 && 308 # 406 "g.c" == 308 && 2 # 406 "g.c" == 2, "The double type must be IEEE 754 binary64"); # 408 "g.c" 3 4 _Static_assert # 408 "g.c" (sizeof(byte) == 1 && sizeof(u16) == 2 && sizeof(u32) == 4 && sizeof(u64) == 8, "Wrong size(s) for fixed width unsigned integers"); # 410 "g.c" 3 4 _Static_assert # 410 "g.c" (sizeof(int) == 4 && sizeof(i64) == 8, "Wrong size(s) for signed integers"); # 411 "g.c" 3 4 _Static_assert # 411 "g.c" (64 # 411 "g.c" == 64, "G requires a 64-bit platform"); # 449 "g.c" static __attribute__((pure)) u64 stdc_leading_zeros( u64 n ) { asm("clz %0,%0" : "+r" (n)); return n; } static __attribute__((pure)) u64 stdc_trailing_zeros( u64 n ) { asm("rbit %0,%0; clz %0,%0" : "+r" (n)); return n; } # 486 "g.c" # 1 "/usr/include/aarch64-linux-gnu/sys/syscall.h" 1 3 4 # 24 "/usr/include/aarch64-linux-gnu/sys/syscall.h" 3 4 # 1 "/usr/lib/linux/uapi/arm64/asm/unistd.h" 1 3 4 # 25 "/usr/lib/linux/uapi/arm64/asm/unistd.h" 3 4 # 1 "/usr/include/asm-generic/unistd.h" 1 3 4 # 34 "/usr/include/asm-generic/unistd.h" 3 4 # 632 "/usr/include/asm-generic/unistd.h" 3 4 # 758 "/usr/include/asm-generic/unistd.h" 3 4 # 26 "/usr/lib/linux/uapi/arm64/asm/unistd.h" 2 3 4 # 25 "/usr/include/aarch64-linux-gnu/sys/syscall.h" 2 3 4 # 1 "/usr/include/aarch64-linux-gnu/bits/syscall.h" 1 3 4 # 30 "/usr/include/aarch64-linux-gnu/sys/syscall.h" 2 3 4 # 487 "g.c" 2 # 552 "g.c" enum { GPAGE = 65536, # 565 "g.c" STR_SIZE = 2048, STR_LEN = STR_SIZE - 1, LINE_SIZE = GPAGE, COM_LEN = STR_SIZE + STR_LEN, NAME_LEN = 6, MAX_PREC = 15 # 571 "g.c" * 2, FE_ERROR = # 573 "g.c" 3 4 1 # 573 "g.c" | # 573 "g.c" 3 4 2 # 573 "g.c" | # 573 "g.c" 3 4 4 # 573 "g.c" | # 573 "g.c" 3 4 8 # 574 "g.c" }; typedef char line[LINE_SIZE], string[STR_SIZE]; # 585 "g.c" enum : char { EOS=0, TAB=9, LF=10, CR=13, SPACE=32, BSLASH=92, DQUOTE=34, SQUOTE=39, GRAVE=96 }; enum : char { UPPER=95, LOWER=32 }; enum : byte { DIGIT = 0x01, WORD = 0x02, WHITE = 0x04, ALPHA = 0x08, QC2 = 0x10, ROMAN = 0x20, DELIM = 0x40, COMSEP = 0x80 }; # 620 "g.c" static __inline__ __attribute__((always_inline)) __attribute__((pure)) i64 locate( char const * const str, const char c, const u32 len ) { # 623 "g.c" 3 4 ((void) (0)) # 623 "g.c" ; char const * const e = memchr(str, c, len); return e ? e - str : -1; } static __inline__ __attribute__((always_inline)) __attribute__((pure)) u32 size( const char *s ) { # 634 "g.c" 3 4 ((void) (0)) # 634 "g.c" ; char const * const start = s; __asm__ __volatile__("1: ldrb w4,[%0],1; cbnz w4,1b" : "+r" (s) :: "x4"); return (u32)(s - start); } static __inline__ __attribute__((always_inline)) char * scopy( char *dst, const char *src ) { # 651 "g.c" 3 4 ((void) (0)) # 651 "g.c" ; __asm__ __volatile__("1: ldrb w4,[%1],1; strb w4,[%0],1; cbnz w4,1b" : "+r" (dst), "+r" (src) :: "x4", "memory"); return dst - 1; } static __inline__ __attribute__((always_inline)) __attribute__((pure)) char xlat( char const * const s1, char const * const s2, const char c, const u32 len ) { # 667 "g.c" 3 4 ((void) (0)) # 667 "g.c" ; char const * const p = memchr(s1, c, len); return p ? s2[p - s1] : c; } # 877 "g.c" typedef struct { const char token_str[NAME_LEN]; const u16 token_id; } MATH; enum : u32 { T_ROR = (u32)('<' << 8 | '>'), T_ASL = (u32)('<' << 8 | '<'), T_ASR = (u32)('>' << 8 | '>'), T_LSL = (u32)('l' << 8 | 'l'), T_LSR = (u32)('r' << 8 | 'r'), T_GEQ = (u32)('=' << 8 | '>'), T_LEQ = (u32)('=' << 8 | '<'), T_AND = (u32)('&' << 8 | '&'), T_OR = (u32)('|' << 8 | '|'), T_EQ = (u32)('=' << 8 | '='), T_FEQ = (u32)('~' << 8 | '='), T_NEQ = (u32)('!' << 8 | '='), T_REMAB = (u32)('%' << 8 | '='), T_PLUSAB = (u32)('+' << 8 | '='), T_MINAB = (u32)('-' << 8 | '='), T_MULAB = (u32)('*' << 8 | '='), T_DIVAB = (u32)('/' << 8 | '='), T_IDIV = (u32)('/' << 8 | '/'), T_IDIVAB = (u32)('=' << 8 | '/'), T_IREM = (u32)('%' << 8 | '%'), T_IREMAB = (u32)('=' << 8 | '%'), T_POW = (u32)('*' << 8 | '*'), T_POWAB = (u32)('=' << 8 | '*'), T_ANDAB = (u32)('&' << 8 | '='), T_ORAB = (u32)('|' << 8 | '='), T_XORAB = (u32)('^' << 8 | '='), T_ASLAB = (u32)('<' << 8 | '='), T_ASRAB = (u32)('>' << 8 | '='), T_LSLAB = (u32)('l' << 8 | '='), T_LSRAB = (u32)('r' << 8 | '='), T_RORAB = (u32)('t' << 8 | '='), T_PPLUS = (u32)('+' << 8 | '+'), T_MMINUS = (u32)('-' << 8 | '-') }; typedef enum : u32 { RESULT=0, PLUS='Z'+1, MINUS, MUL, DIV, IDIV, REM, IREM, ROR, LSL, LSR, ASL, ASR, OR, AND, XOR, POW, LT, LEQ, GT, GEQ, EQ, NEQ, LAND, LOR, FEQ, ASSIGN, PLUSAB, POWAB=PLUSAB+(POW-PLUS), NOT, LNOT, PPLUS, MMINUS, UPLUS, UMINUS, ABS, SQUARE, CUBE, SQRT, CBRT, LOG, LOG2, LOG10, EXP, EXP2, EXP10, SIN, COS, TAN, ASIN, ACOS, ATAN, RAD, DEG, FACT, CEIL, FLOOR, ROUND, TRUNC, FRAC, SIGN, UNSIGN, NEARBY, LROUND, MASK, BSWAP, REV, CLZ, CTZ, POPC, RINT, LRINT, NEXTA, NEXTB, RAND, REAL, FMOV, TYPE, DIGITS, BASE, HEX, INEX, EXLOG, WARN, EXIT, SCI, FIX, NORMAL, DECIMAL, ZERO, SHOW, COUNTER, LITERAL, FPI, FMAX, FMIN, FSUB, FEPS, FMAN, FDIG, EMAX, EMIN, IMAX64, IMAX32, IMAX16, IMAX8, IMIN64, IMIN32, IMIN16, IMIN8, UMAX64, UMAX32, UMAX16, UMAX8 } OPERATION; # 950 "g.c" constexpr real PI = 3.1415926535897932384626433832795028841971693993751058209749445923078164; constexpr u64 SIGNED_MAX = 0x7FFFFFFFFFFFFFFFUL; constexpr u64 SIGNED_MIN = 0x8000000000000000UL; enum { SI=0, US=1, FP=2 }; typedef struct { union { i64 i; u64 q; real r; struct { u64 mantissa : 52; u32 exponent : 11; bool sign : 1; }; }; u32 type, event; } VALUE; typedef struct tk { _Alignas(16) VALUE opval, litval; struct tk *next, *snext; const char *erp; OPERATION id; enum : byte { OPERAND, PREFIX, POSTFIX, BINARY, OPEN_PAR, CLOSE_PAR, COLON, QUERY, SEMI, COMMAND, END_EXP } type; byte priority; bool rvalue; } TOKEN; # 1131 "g.c" enum { SYNTAX, DOM, POLE, LVALUE, LIT_OVER, LIT_UNDER, RANGE, FP_INV, DIV_ZERO, FP_OVER, FP_UNDER, CHAR_OVER, BAD_NUM, US_IMP_NEG, TYPE_REAL, TYPE_INT, UNKNOWN_NAME, AMBIG_NAME, COM_TOO_LONG, MISSING_BRA, MISSING_EXP, MISSING_OP, INV_PREC, INV_BASE, INV_TERN }; static constexpr char error_messages[] = # 1169 "g.c" "\033Syntax error in expression" "\015Domain error" "\013Pole error" "\020Lvalue expected" "\044Out of range floating-point literal" "\041Floating-point literal too small" "\014Range error" "\041Invalid floating-point operation" "\017Divide by zero" "\030Floating-point overflow" "\031Floating-point underflow" "\042Numeric character value too large" "\017Invalid number" "\062Implicit conversion of negative value to unsigned" "\047Operation undefined for floating-point" "\041Operation undefined for integers" "\015Unknown name" "\017Ambiguous name" "\021Command too long" "\026Parenthesis imbalance" "\023Expression missing" "\020Missing operand" "\032Invalid display precision" "\026Invalid display radix" "\020Invalid ternary"; # 1202 "g.c" static constexpr byte g_map[256] = { [TAB...CR] = WHITE|QC2|COMSEP, [SPACE] = WHITE|COMSEP, ['0'...'9'] = DIGIT|WORD, ['_'] = WORD, ['A'...'B'] = WORD|ALPHA|QC2, ['C'...'D'] = WORD|ALPHA|QC2|ROMAN, ['E'...'H'] = WORD|ALPHA|QC2, ['I'...'J'] = WORD|ALPHA|QC2|ROMAN, ['K'] = WORD|ALPHA|QC2, ['L'...'N'] = WORD|ALPHA|QC2|ROMAN, ['O'...'U'] = WORD|ALPHA|QC2, ['V'] = WORD|ALPHA|QC2|ROMAN, ['W'] = WORD|ALPHA|QC2, ['X'] = WORD|ALPHA|QC2|ROMAN, ['Y'...'Z'] = WORD|ALPHA|QC2, ['a'...'b'] = WORD|ALPHA|QC2, ['c'...'d'] = WORD|ALPHA|QC2|ROMAN, ['e'...'h'] = WORD|ALPHA|QC2, ['i'...'j'] = WORD|ALPHA|QC2|ROMAN, ['k'] = WORD|ALPHA|QC2, ['l'...'n'] = WORD|ALPHA|QC2|ROMAN, ['o'...'u'] = WORD|ALPHA|QC2, ['v'] = WORD|ALPHA|QC2|ROMAN, ['w'] = WORD|ALPHA|QC2, ['x'] = WORD|ALPHA|QC2|ROMAN, ['y'...'z'] = WORD|ALPHA|QC2, [','] = COMSEP, [';'] = COMSEP, ['('...')'] = COMSEP, [EOS] = COMSEP, [SQUOTE] = DELIM, [DQUOTE] = DELIM, [GRAVE] = DELIM, ['/'] = DELIM, [':'] = DELIM, ['?'] = DELIM, ['$'...'&'] = DELIM, [255] = DELIM, [1 ... 8] = QC2, [14 ... 26] = QC2 }; static constexpr char u_map[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF }; # 1479 "g.c" static _Alignas(16) jmp_buf err_env; static constexpr _Alignas(16) char digits[64] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"; static _Alignas(16) VALUE locals[27]; static int promotions; static int signed_unsigned; static int signed_wrap; static int lossy_implicit; # 1509 "g.c" static bool inexact = false; static bool warn_inexact = false; static bool expr_log = false; enum { I_UNARY, I_BINARY, I_FUNC, I_IRRATIONAL, I_UNDERFLOW, I_PROM, I_RINT, W_PROM, W_OVER, W_US_PROM, W_NEG_US, W_CONV, W_UNSIGNED_WRAP, W_SIGNED_WRAP }; static constexpr char event_tab[] = "\036Unary operator raised inexact" "\037Binary operator raised inexact" "\030Function raised inexact" "\024Irrational constant" "\060Floating-point underflow with loss of precision" "\063Precision lost during conversion to floating-point" "\035Result differs from argument" "\072Oversize integer converted to floating-point during parse" "\072Operation converted to floating-point (to avoid overflow)" "\062Out of range signed integer converted to unsigned" "\035Negation of unsigned integer" "\063Fraction part removed during conversion to integer" "\026Unsigned integer wrap" "\024Signed integer wrap"; static char *event_log = # 1542 "g.c" 3 4 ((void *)0) # 1542 "g.c" ; static size_t log_size = 0; static char real_format[] = "%.*g"; static int real_digits = 15 # 1554 "g.c" ; static int radix = 0; static bool real_hex = false; static bool decimal_view = false; static int lines, cols; # 1595 "g.c" static char * table( char * const buf, u32 i, const char *m ) { while( i-- ) m += *m; return (char*)mempcpy(buf,m + 1,(size_t)(*m - 1)); } [[noreturn]] static void leave( const int rc ) { register int w0 __asm__("w0") = rc, w8 __asm__("w8") = # 1613 "g.c" 3 4 93 # 1613 "g.c" ; __asm__ __volatile__("svc 0" :: "r" (w0), "r" (w8)); # 1618 "g.c" 3 4 (__builtin_unreachable ()) # 1618 "g.c" ; } static void console( char const * const m ) { string buf; char *p = scopy(buf + 1, m); *buf = *p++ = LF; {*p++ = LF; write(2,buf,(size_t)(p-buf));}; } static void inform( char const * const m ) { console(m); } [[noreturn]] static void fatal( char const * const m ) { ; console(m); leave( # 1655 "g.c" 3 4 1 # 1655 "g.c" ); } [[noreturn]] static void build( char * const buf, char const * const product ) { write(2,buf,(size_t)(sprintf(buf, "%s - " "Jun 27 2024" " [GCC %d.%d, GLIBC %d.%d]\n", product, 14, 1, # 1664 "g.c" 3 4 2 # 1664 "g.c" , # 1664 "g.c" 3 4 36 # 1664 "g.c" ))) ; leave( # 1666 "g.c" 3 4 0 # 1666 "g.c" ); } static int screen_size( const int fd ) { struct winsize buf; register int rc __asm__("w0") = fd, w8 __asm__("w8") = # 1679 "g.c" 3 4 29 # 1679 "g.c" ; register u64 x1 __asm__("x1") = # 1680 "g.c" 3 4 0x5413 # 1680 "g.c" ; register void *x2 __asm__("x2") = &buf; __asm__ __volatile__("svc 0" : "+r" (rc) : "r" (x1), "r" (x2), "r" (w8) : "memory"); if( rc == 0 ) { lines = buf.ws_row; cols = buf.ws_col; } return rc; } static void reset( void ) { lossy_implicit = signed_wrap = signed_unsigned = promotions = inexact = 0; log_size = 0; } static void display_events( void ) { if( log_size > 0 ) { write(2,event_log,(size_t)(log_size)); return; } if( promotions ) { write(2,"Warning: out of range integers",(size_t)(29 + (promotions > 1))); write(2," converted to floating-point""\n",sizeof(" converted to floating-point")); } if( signed_unsigned ) { write(2,"Warning: out of range signed integers",(size_t)(36 + (signed_unsigned > 1))); write(2," converted to unsigned""\n",sizeof(" converted to unsigned")); } if( lossy_implicit ) { write(2,"Warning: precision lost during conversions",(size_t)(41 + (lossy_implicit > 1))); write(2," to floating-point""\n",sizeof(" to floating-point")); } if( signed_wrap ) { write(2,"Warning: signed integer wraps",(size_t)(28 + (signed_wrap > 1))); write(2,"\n",1); } } static void * heap( const size_t len ) { # 1747 "g.c" 3 4 ((void) (0)) # 1747 "g.c" ; void * const p = malloc(len); if( !p ) fatal("Out of core"); return p; } static void * grow( void *p, const size_t len ) { # 1757 "g.c" 3 4 ((void) (0)) # 1757 "g.c" ; p = realloc(p, len); if( !p ) fatal("Out of core"); return p; } # 1781 "g.c" static __inline__ __attribute__((always_inline)) char * itoa_int( char *p, int n ) { # 1784 "g.c" 3 4 ((void) (0)) # 1784 "g.c" ; do *--p = (char)((n % 10) | 48); while( n /= 10 ); return p; } static __inline__ __attribute__((always_inline)) char * itoa_i64( char *p, i64 n ) { # 1794 "g.c" 3 4 ((void) (0)) # 1794 "g.c" ; do *--p = (char)((n % 10) | 48); while( n /= 10 ); return p; } static __inline__ __attribute__((always_inline)) char * itoa_u64( char *p, u64 n ) { do *--p = (char)((n % 10U) | 48); while( n /= 10U ); return p; } static __inline__ __attribute__((always_inline)) void hex( char * const p, const u32 n ) { # 1815 "g.c" 3 4 ((void) (0)) # 1815 "g.c" ; p[0] = digits[n >> 4]; p[1] = digits[n & 15]; } static void format_error( const u32 code, const char *culprit, char *p ) { p = table(p, code, error_messages); if( culprit && *culprit ) { p = (char*)mempcpy(p,"\nCulprit: ",(size_t)(10)); char const * const last = p + 64; do { const char c = *culprit++; if( c == EOS ) break; *p++ = (c < 32 || c > 126) ? '#' : c; } while( p < last ); } # 1856 "g.c" *p = EOS; } [[noreturn]] static void error( const u32 code, char const * const ptr ) { line buf; format_error(code, ptr, buf); display_events(); reset(); inform(buf); longjmp(err_env, 1); } static void add_event( const u32 event, char const * const erp ) { if( event < I_RINT ) inexact = true; if( expr_log ) { char buf[160]; static size_t alloc_size = 0; char *e = table(buf, event, event_tab); memcpy(e,": ",2); e = (char*)mempcpy(e + 2,erp,(size_t)(({ const typeof(64U) t1 = (64U), t2 = (typeof(64U))((int)(size(erp) - 1)); (typeof(64U))(t1 < t2 ? t1 : t2); }))); *e++ = LF; const size_t len = (size_t)(e - buf); const size_t new_len = log_size + len; if( new_len > alloc_size ) event_log = grow(event_log, alloc_size = new_len); (char*)mempcpy(event_log + log_size,buf,(size_t)(len)); log_size = new_len; return; } if( event == I_PROM ) ++lossy_implicit; else if( event == W_PROM ) ++promotions; else if( event == W_US_PROM ) ++signed_unsigned; else if( event == W_SIGNED_WRAP ) ++signed_wrap; } # 1920 "g.c" static byte parse_escape( char const ** const ptr ) { const char *p = *ptr; if( p[-1] == BSLASH && p[-2] != BSLASH ) ++p; const char * const erp = p - 2, * const last = p + 2; u32 n = 0, base = 16; byte c = p[-1]; # 1931 "g.c" 3 4 ((void) (0)) # 1931 "g.c" ; switch( c ) { case '0'...'9': --p; base = 8; case 'x': char const * const start = p; do { const i64 d = locate(digits, u_map[*(p)], base); if( d < 0 ) { if( p == start ) error(BAD_NUM, erp); break; } if( (n = n * base + (u32)d) > # 1949 "g.c" 3 4 (0x7f * 2 + 1) # 1949 "g.c" ) error(CHAR_OVER, erp); } while( ++p < last ); c = (byte)n; break; case 'c': c = *p++ & 31; break; default: c = xlat("tnrbfvae", "\t\n\r\b\f\013\007\033", c, 8); } *ptr = p; return c; } # 3744 "g.c" static constexpr _Alignas(16) MATH math_tab[] = { { "ABS", ABS }, { "ACOS", ACOS }, { "ANSWER", RESULT }, { "ASIN", ASIN }, { "ATAN", ATAN }, { "BASE", BASE }, { "BSWAP", BSWAP }, { "CBRT", CBRT }, { "CEILIN", CEIL }, { "CLEAR", ZERO }, { "CLZ", CLZ }, { "COS", COS }, { "COUNTE", COUNTER }, { "CTZ", CTZ }, { "CUBE", CUBE }, { "DECIMA", DECIMAL }, { "DEGREE", DEG }, { "DIGITS", DIGITS }, { "DOUBLE", REAL }, { "DP", DIGITS }, { "EMAX", EMAX }, { "EMIN", EMIN }, { "EVEN", LRINT }, { "EVENTS", EXLOG }, { "EXIT", EXIT }, { "EXP", EXP }, { "EXP10", EXP10 }, { "EXP2", EXP2 }, { "FACTOR", FACT }, { "FDIGIT", FDIG }, { "FEPSIL", FEPS }, { "FIXED", FIX }, { "FLOAT", REAL }, { "FLOOR", FLOOR }, { "FMANTI", FMAN }, { "FMAX", FMAX }, { "FMIN", FMIN }, { "FMOVE", FMOV }, { "FPRECI", FDIG }, { "FRACTI", FRAC }, { "FSUBNO", FSUB }, { "HEXADE", HEX }, { "IMAX", IMAX64 }, { "IMAX16", IMAX16 }, { "IMAX32", IMAX32 }, { "IMAX64", IMAX64 }, { "IMAX8", IMAX8 }, { "IMIN", IMIN64 }, { "IMIN16", IMIN16 }, { "IMIN32", IMIN32 }, { "IMIN64", IMIN64 }, { "IMIN8", IMIN8 }, { "INEXAC", INEX }, { "INTEGE", TRUNC }, { "LLRINT", LRINT }, { "LLROUN", LROUND }, { "LN", LOG }, { "LOG", LOG }, { "LOG10", LOG10 }, { "LOG2", LOG2 }, { "LRINT", LRINT }, { "LROUND", LROUND }, { "MASK", MASK }, { "NEARBY", NEARBY }, { "NEXTAF", NEXTA }, { "NEXTBE", NEXTB }, { "NORMAL", NORMAL }, { "NP", DIGITS }, { "PI", FPI }, { "POPCOU", POPC }, { "PRECIS", DIGITS }, { "QUIT", EXIT }, { "RADIAN", RAD }, { "RANDOM", RAND }, { "REAL", REAL }, { "RESET", ZERO }, { "REVERS", REV }, { "RINT", RINT }, { "RNG", RAND }, { "ROUND", ROUND }, { "SCIENT", SCI }, { "SHOW", SHOW }, { "SIGNED", SIGN }, { "SIN", SIN }, { "SQRT", SQRT }, { "SQUARE", SQUARE }, { "STATUS", SHOW }, { "TAN", TAN }, { "TRACE", EXLOG }, { "TRUNCA", TRUNC }, { "TSC", COUNTER }, { "TYPEOF", TYPE }, { "UMAX", UMAX64 }, { "UMAX16", UMAX16 }, { "UMAX32", UMAX32 }, { "UMAX64", UMAX64 }, { "UMAX8", UMAX8 }, { "UNSIGN", UNSIGN }, { "WARNIN", WARN }, { "ZERO", ZERO }, {} }; static constexpr _Alignas(16) VALUE constants[] = { { .r = PI, FP, I_IRRATIONAL }, { .r = ((double)1.79769313486231570814527423731704357e+308L) # 3855 "g.c" , FP }, { .r = ((double)2.22507385850720138309023271733240406e-308L) # 3856 "g.c" , FP }, { .r = ((double)4.94065645841246544176568792868221372e-324L) # 3857 "g.c" , FP }, { .r = ((double)2.22044604925031308084726333618164062e-16L) # 3858 "g.c" , FP }, { .i = 53 # 3859 "g.c" , SI }, { .i = 15 # 3860 "g.c" , SI }, { .i = 308 # 3861 "g.c" , SI }, { .i = (-307) # 3862 "g.c" , SI }, { .i = # 3863 "g.c" 3 4 (9223372036854775807L) # 3863 "g.c" , SI }, { .i = # 3864 "g.c" 3 4 (2147483647) # 3864 "g.c" , SI }, { .i = # 3865 "g.c" 3 4 (32767) # 3865 "g.c" , SI }, { .i = # 3866 "g.c" 3 4 (127) # 3866 "g.c" , SI }, { .i = # 3867 "g.c" 3 4 (-9223372036854775807L -1) # 3867 "g.c" , SI }, { .i = # 3868 "g.c" 3 4 (-2147483647-1) # 3868 "g.c" , SI }, { .i = # 3869 "g.c" 3 4 (-32767-1) # 3869 "g.c" , SI }, { .i = # 3870 "g.c" 3 4 (-128) # 3870 "g.c" , SI }, { .q = # 3871 "g.c" 3 4 (18446744073709551615UL) # 3871 "g.c" , US }, { .q = # 3872 "g.c" 3 4 (4294967295U) # 3872 "g.c" , US }, { .q = # 3873 "g.c" 3 4 (65535) # 3873 "g.c" , US }, { .q = # 3874 "g.c" 3 4 (255) # 3874 "g.c" , US } }; static TOKEN *c_free_list = # 3877 "g.c" 3 4 ((void *)0) # 3877 "g.c" ; static void free_expr( TOKEN *ptr ) { TOKEN * const head = c_free_list; for( c_free_list = ptr; ptr->next; ptr = ptr->next ) ; ptr->next = head; } static bool keyboard( char * const buf, char const * const prompt ) { # 3928 "g.c" char * const str = readline(prompt); if( str == # 3929 "g.c" 3 4 ((void *)0) # 3929 "g.c" ) return false; const u32 len = size(str); if( len > 1 ) { if( len >= LINE_SIZE ) { free(str); error(COM_TOO_LONG, # 3937 "g.c" 3 4 ((void *)0) # 3937 "g.c" ); } static u32 prior_len = 0; if( len != prior_len || !!memcmp(buf,str,(size_t)(len)) ) add_history(str); prior_len = len; } (char*)mempcpy(buf,str,(size_t)(len)); free(str); return true; } # 4009 "g.c" static __attribute__((pure)) u64 reverse( u64 n ) { __asm__ __volatile__("rbit %0,%0" : "+r" (n)); return n; } # 4030 "g.c" static __attribute__((pure)) u32 popcount( u64 n ) { u32 c = 0; while( n ) { n &= n - 1; ++c; } return c; } static u64 counter( void ) { struct timespec now; clock_gettime( # 4050 "g.c" 3 4 4 # 4050 "g.c" , &now); return (u64)now.tv_sec * 1000000000UL + (u64)now.tv_nsec; } static u64 rn( void ) { u64 n; ssize_t len = 0; const int fd = open("/dev/urandom", # 4063 "g.c" 3 4 00 # 4063 "g.c" ); if( fd >= 0 ) { len = read(fd, &n, 8); close(fd); } if( len == 8 ) return n; # 4071 "g.c" 3 4 (*__errno_location ()) # 4071 "g.c" = 0; n = 2862933555777941757UL * reverse(counter()) + 3037000493UL; return 6364136223846793005UL * __builtin_bswap64(n) + 1442695040888963407UL; } static void check_result( VALUE * const val, char const * const erp, u32 event ) { const int sw = (__builtin_aarch64_get_fpsr() & # 4091 "g.c" 3 4 (1 | 2 | 4 | 8 | 16) # 4091 "g.c" ); if( sw ) { if( sw & # 4095 "g.c" 3 4 1 # 4095 "g.c" ) error(val->type == FP ? FP_INV : RANGE, erp); if( sw & # 4098 "g.c" 3 4 4 # 4098 "g.c" ) error(FP_OVER, erp); if( sw & # 4101 "g.c" 3 4 2 # 4101 "g.c" ) error(DIV_ZERO, erp); if( sw & # 4104 "g.c" 3 4 8 # 4104 "g.c" ) { if( val->r == 0.0 ) error(FP_UNDER, erp); event = I_UNDERFLOW; } if( sw & # 4111 "g.c" 3 4 16 # 4111 "g.c" ) add_event(event, erp); } if( val->type == FP && !(val->exponent != 0x7FF) ) error(FP_INV, erp); } static void command( TOKEN const * const tok, const u64 q ) { switch( tok->id ) { case EXIT: leave( # 4131 "g.c" 3 4 0 # 4131 "g.c" ); case DIGITS: if( q > MAX_PREC ) error(INV_PREC, tok->erp); real_digits = (int)q; break; case BASE: if( q == 1 || q > 64 ) error(INV_BASE, tok->erp); radix = (int)q; break; case ZERO: memset(locals,0,sizeof(locals)); return; case DECIMAL: decimal_view = !decimal_view; break; case HEX: real_hex = !real_hex; break; case INEX: warn_inexact = !warn_inexact; break; case EXLOG: expr_log = !expr_log; break; case WARN: warn_inexact = expr_log = true; break; case SCI: case FIX: case NORMAL: real_format[3] = (char)('e' + (tok->id - SCI)); default: break; } string buf; static char rad[3]; write(2,buf,(size_t)(sprintf(buf, "\nInteger display: %s, User base: %s\n" "Floating-point display: %s (%d significant digit%s%s)\n" "Event log: %s, Inexact warning: %s\n" "Float size: 64 bits, Integer size: 64 bits\n", decimal_view ? "decimal only" : "multi-radix", radix ? _Generic(radix, int: itoa_int, i64: itoa_i64, u64: itoa_u64)(rad + 2, radix) : "none", (static char const * const[]){ "scientific", "fixed", "normal" }[real_format[3] - 'e'], real_digits, "s" + (real_digits == 1), real_hex ? ", hex" : "", expr_log ? "ON" : "OFF", warn_inexact ? "ON" : "OFF"))) # 4206 "g.c" ; ssize_t len = 0; char const * const start = buf; const int fd = open("/proc/device-tree/model", # 4209 "g.c" 3 4 00 # 4209 "g.c" ); if( fd >= 0 ) { len = read(fd, buf, STR_SIZE) - 1; close(fd); } if( len <= 0 ) { write(2,"\n",1); return; } char const * const e = scopy(buf + len, " (" # 4239 "g.c" "NEON" ")\n\n"); write(2,start,(size_t)(e - start)); } static int convert_real( char * const p, const real x ) { return sprintf(p, real_format, real_digits, x); } static void to_real( VALUE * const val, char const * const erp ) { # 4266 "g.c" 3 4 ((void) (0)) # 4266 "g.c" ; __asm__ __volatile__("msr fpsr,xzr":); val->r = val->type ? (real)val->q : (real)val->i; if( (__builtin_aarch64_get_fpsr() & # 4269 "g.c" 3 4 (1 | 2 | 4 | 8 | 16) # 4269 "g.c" ) & # 4269 "g.c" 3 4 16 # 4269 "g.c" ) add_event(I_PROM, erp); val->type = FP; # 4272 "g.c" 3 4 ((void) (0)) # 4272 "g.c" ; } static __attribute__((pure)) bool fpequal( const real left, const real right ) { if( left == right ) return true; char a[384], b[384]; const int len = convert_real(a, right); return convert_real(b, left) == len && !memcmp(a,b,(size_t)(len)); } static void inc( TOKEN * const dp, const OPERATION op, const bool prefix, char const * const erp ) { if( dp->id > 26 || (prefix && dp->rvalue) ) error(LVALUE, erp); VALUE * const val = locals + dp->id; if( val->type == SI ) { i64 n = val->i; if( op == PPLUS ) { if( # 4304 "g.c" 3 4 ((_Bool) __builtin_add_overflow ( # 4304 "g.c" n # 4304 "g.c" 3 4 , # 4304 "g.c" 1 # 4304 "g.c" 3 4 , # 4304 "g.c" &n # 4304 "g.c" 3 4 )) # 4304 "g.c" ) add_event(W_SIGNED_WRAP, erp); } else if( # 4307 "g.c" 3 4 ((_Bool) __builtin_sub_overflow ( # 4307 "g.c" n # 4307 "g.c" 3 4 , # 4307 "g.c" 1 # 4307 "g.c" 3 4 , # 4307 "g.c" &n # 4307 "g.c" 3 4 )) # 4307 "g.c" ) add_event(W_SIGNED_WRAP, erp); val->i = n; } else if( val->type == US ) { if( op == PPLUS ) { if( # 4315 "g.c" 3 4 ((_Bool) __builtin_add_overflow ( # 4315 "g.c" val->q # 4315 "g.c" 3 4 , # 4315 "g.c" 1U # 4315 "g.c" 3 4 , # 4315 "g.c" &val->q # 4315 "g.c" 3 4 )) # 4315 "g.c" ) add_event(W_UNSIGNED_WRAP, erp); } else if( # 4318 "g.c" 3 4 ((_Bool) __builtin_sub_overflow ( # 4318 "g.c" val->q # 4318 "g.c" 3 4 , # 4318 "g.c" 1U # 4318 "g.c" 3 4 , # 4318 "g.c" &val->q # 4318 "g.c" 3 4 )) # 4318 "g.c" ) add_event(W_UNSIGNED_WRAP, erp); } else if( op == PPLUS ) ++val->r; else --val->r; if( prefix ) dp->opval = *val; } static void unary( TOKEN * const dp, TOKEN const * const action, const bool prefix ) { # 4337 "g.c" 3 4 ((void) (0)) # 4337 "g.c" ; char const * const erp = prefix ? action->erp : dp->erp; const OPERATION op = action->id; u32 event = action->opval.event; VALUE * const val = &dp->opval; if( val->type == FP ) { reals: # 4346 "g.c" 3 4 ((void) (0)) # 4346 "g.c" ; real x = val->r; __asm__ __volatile__("msr fpsr,xzr":); switch( op ) { default: error(TYPE_REAL, erp); case TYPE: val->i = FP; val->type = SI; break; case NEXTA: val->r = nextafter(x, # 4359 "g.c" 3 4 (__builtin_huge_val ()) # 4359 "g.c" ); if( (val->exponent != 0x7FF) ) __asm__ __volatile__("msr fpsr,xzr":); break; case NEXTB: val->r = nextafter(x, - # 4364 "g.c" 3 4 (__builtin_huge_val ()) # 4364 "g.c" ); if( (val->exponent != 0x7FF) ) __asm__ __volatile__("msr fpsr,xzr":); break; case PPLUS: case MMINUS: inc(dp, op, prefix, erp); break; case UMINUS: val->r = -x; case UPLUS: case REAL: break; case ABS: val->r = fabs(x); break; case FRAC: val->r -= trunc(x); break; case SQRT: if( x < 0.0 ) error(DOM, erp); val->r = sqrt(x); break; case CBRT: val->r = cbrt(x); break; case CUBE: x *= x; case SQUARE: val->r *= x; break; case LOG: if( x <= 0.0 ) error(x ? DOM : POLE, erp); val->r = log(x); break; case LOG2: if( x <= 0.0 ) error(x ? DOM : POLE, erp); val->r = log2(x); break; case LOG10: if( x <= 0.0 ) error(x ? DOM : POLE, erp); val->r = log10(x); break; case EXP: val->r = exp(x); break; case EXP2: val->r = exp2(x); break; case EXP10: val->r = exp10(x); break; case SIN: val->r = sin(x); break; case COS: val->r = cos(x); break; case TAN: val->r = tan(x); break; case ASIN: if( fabs(x) > 1.0 ) error(DOM, erp); val->r = asin(x); break; case ACOS: if( fabs(x) > 1.0 ) error(DOM, erp); val->r = acos(x); break; case ATAN: val->r = atan(x); break; case RAD: val->r *= PI / 180.0; break; case DEG: val->r *= 180.0 / PI; break; case RAND: val->r *= (real)(rn() >> 11) * 0x1p-53; __asm__ __volatile__("msr fpsr,xzr":); break; case FACT: if( x < 0.0 || !(trunc(x) == x) ) error(DOM, erp); if( x > 170.0 ) error(FP_OVER, erp); real i = 1.0, f = 1.0; while( i < x ) f *= ++i; val->r = f; break; case LNOT: val->i = !x; val->type = SI; break; case RINT: val->r = rint(x); event = I_RINT; break; case NEARBY: val->r = nearbyint(x); break; case CEIL: val->r = ceil(x); break; case FLOOR: val->r = floor(x); break; case TRUNC: val->r = trunc(x); break; case ROUND: val->r = round(x); break; case LROUND: val->i = llround(x); val->type = SI; break; case LRINT: val->i = llrint(x); event = W_CONV; val->type = SI; break; case SIGN: val->i = (i64)x; val->type = SI; break; case UNSIGN: if( x < 0.0 ) error(DOM, erp); val->q = (u64)x; case FMOV: val->type = US; } if( op >= CBRT && op <= LROUND ) __asm__ __volatile__("mrs x4,fpsr; bic x4,x4,%0; msr fpsr,x4" :: "I" ( # 4515 "g.c" 3 4 16 # 4515 "g.c" ) : "x4"); check_result(val, erp, event); } else { u64 q = val->q; i64 i = val->i; const bool us = val->type, negative = !us && i < 0; switch( op ) { case BASE: case DIGITS: command(action, q); *val = *locals; break; case PPLUS: case MMINUS: inc(dp, op, prefix, erp); break; case ABS: if( !negative ) break; case UMINUS: if( us ) { add_event(W_NEG_US, erp); val->q = -q; } else if( i == # 4545 "g.c" 3 4 (-9223372036854775807L -1) # 4545 "g.c" ) add_event(W_SIGNED_WRAP, erp); else val->i = -i; case UPLUS: break; case FMOV: if( !(val->exponent != 0x7FF) ) error(BAD_NUM, erp); val->type = FP; break; case BSWAP: val->q = __builtin_bswap64(q); break; case REV: val->q = reverse(q); break; case CLZ: val->q = stdc_leading_zeros(q); val->type = SI; break; case CTZ: val->q = stdc_trailing_zeros(q); val->type = SI; break; case POPC: val->q = popcount(q); val->type = SI; break; case TYPE: val->i = us; case SIGN: val->type = SI; break; case NOT: val->q = ~q; break; case LNOT: val->i = !q; val->type = SI; break; case CUBE: if( us ) { if( # 4589 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4589 "g.c" q # 4589 "g.c" 3 4 , # 4589 "g.c" q # 4589 "g.c" 3 4 , # 4589 "g.c" &q # 4589 "g.c" 3 4 )) # 4589 "g.c" ) goto promote; } else if( # 4592 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4592 "g.c" i # 4592 "g.c" 3 4 , # 4592 "g.c" i # 4592 "g.c" 3 4 , # 4592 "g.c" &i # 4592 "g.c" 3 4 )) # 4592 "g.c" ) goto promote; case SQUARE: if( us ) { if( # 4597 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4597 "g.c" q # 4597 "g.c" 3 4 , # 4597 "g.c" val->q # 4597 "g.c" 3 4 , # 4597 "g.c" &q # 4597 "g.c" 3 4 )) # 4597 "g.c" ) goto promote; val->q = q; } else { if( # 4603 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4603 "g.c" i # 4603 "g.c" 3 4 , # 4603 "g.c" val->i # 4603 "g.c" 3 4 , # 4603 "g.c" &i # 4603 "g.c" 3 4 )) # 4603 "g.c" ) goto promote; val->i = i; } break; case MASK: if( q ) { if( q > 64 ) error(DOM, erp); val->q = # 4613 "g.c" 3 4 (18446744073709551615UL) # 4613 "g.c" >> (64 - q); } case UNSIGN: val->type = US; break; case RAND: if( negative ) error(DOM, erp); const u64 n = rn(); if( q == 1 ) { val->r = (real)(n >> 11) * 0x1p-53; val->type = FP; break; } val->q = q ? n % q : n; val->type = US; break; case FACT: if( negative ) error(DOM, erp); if( q < 21 ) { for( val->q = 1; q; --q ) val->q *= q; break; } promote: add_event(W_OVER, erp); default: to_real(val, erp); goto reals; } } dp->rvalue = true; } static int compare_real( const real l, const real r, const int op, char const * const erp ) { switch( op ) { case EQ: return l == r; case FEQ: return fpequal(l, r); case NEQ: return l != r; case LT: return l < r; case LEQ: return l <= r; case GT: return l > r; case GEQ: return l >= r; case LAND: return l && r; case LOR: return l || r; } error(TYPE_REAL, erp); } static int compare_int( VALUE const * const left, VALUE const * const right, const int op, char const * const erp ) { if( left->type == SI ) { const i64 l = left->i, r = right->i; switch( op ) { case LT: return l < r; case LEQ: return l <= r; case GT: return l > r; case GEQ: return l >= r; } } const u64 l = left->q, r = right->q; switch( op ) { case EQ: return l == r; case NEQ: return l != r; case LT: return l < r; case LEQ: return l <= r; case GT: return l > r; case GEQ: return l >= r; case LAND: return l && r; case LOR: return l || r; } error(TYPE_INT, erp); } static void binary( TOKEN * const rhs, TOKEN const * const action ) { # 4739 "g.c" 3 4 ((void) (0)) # 4739 "g.c" ; TOKEN * const lhs = rhs->snext; if( lhs == # 4741 "g.c" 3 4 ((void *)0) # 4741 "g.c" ) error(SYNTAX, rhs->erp); char const * const erp = action->erp; VALUE * const val = &lhs->opval, * const rval = &rhs->opval; OPERATION op = action->id; if( op == ASSIGN ) { *val = *rval; goto done; } if( val->type == FP || rval->type == FP ) { promote: if( val->type != FP ) to_real(val, erp); if( rval->type != FP ) to_real(rval, erp); # 4761 "g.c" 3 4 ((void) (0)) # 4761 "g.c" ; real x = val->r, y = rval->r; __asm__ __volatile__("msr fpsr,xzr":); switch( op ) { case PLUS: x += y; break; case MINUS: x -= y; break; case MUL: x *= y; break; case DIV: x /= y; break; case IDIV: x = trunc(x / y); break; case REM: if( y == 0.0 ) error(DOM, erp); x = fmod(x, y); break; case IREM: if( y == 0.0 ) error(DOM, erp); x = remainder(x, y); break; case POW: if( x < 0.0 && !(trunc(y) == y) ) error(DOM, erp); if( x == 0.0 && y < 0.0 ) error(POLE, erp); x = pow(x, y); __asm__ __volatile__("mrs x4,fpsr; bic x4,x4,%0; msr fpsr,x4" :: "I" ( # 4807 "g.c" 3 4 16 # 4807 "g.c" ) : "x4"); break; case ASR: case LSR: y = -y; case ASL: case LSL: x *= exp2(y); __asm__ __volatile__("mrs x4,fpsr; bic x4,x4,%0; msr fpsr,x4" :: "I" ( # 4815 "g.c" 3 4 16 # 4815 "g.c" ) : "x4"); break; default: val->i = compare_real(x, y, op, erp); val->type = SI; return; } val->r = x; check_result(val, erp, I_BINARY); } else { const bool shift = (op >= ROR && op <= ASR); i64 ival = val->i, rival = rval->i; u64 qval = val->q, rqval = rval->q; const bool us = val->type || (!shift && rval->type); if( us && val->type == SI && ival < 0 ) error(US_IMP_NEG, erp); if( rval->type == SI && rival < 0 && op != ROR ) { if( shift ) { rqval = -rqval; op = (const OPERATION[]){ LSR, LSL, ASR, ASL }[op - LSL]; } else if( us ) error(US_IMP_NEG, erp); } val->type = us; if( shift ) { if( qval == 0 ) goto done; if( us && op > LSR ) op -= 2; rqval &= 63; if( rqval == 0 ) goto done; } switch( op ) { case PLUS: if( us ) { if( # 4889 "g.c" 3 4 ((_Bool) __builtin_add_overflow ( # 4889 "g.c" val->q # 4889 "g.c" 3 4 , # 4889 "g.c" rqval # 4889 "g.c" 3 4 , # 4889 "g.c" &val->q # 4889 "g.c" 3 4 )) # 4889 "g.c" ) add_event(W_UNSIGNED_WRAP, erp); } else if( # 4892 "g.c" 3 4 ((_Bool) __builtin_add_overflow ( # 4892 "g.c" val->i # 4892 "g.c" 3 4 , # 4892 "g.c" rival # 4892 "g.c" 3 4 , # 4892 "g.c" &val->i # 4892 "g.c" 3 4 )) # 4892 "g.c" ) add_event(W_SIGNED_WRAP, erp); break; case MINUS: if( us ) { if( # 4898 "g.c" 3 4 ((_Bool) __builtin_sub_overflow ( # 4898 "g.c" val->q # 4898 "g.c" 3 4 , # 4898 "g.c" rqval # 4898 "g.c" 3 4 , # 4898 "g.c" &val->q # 4898 "g.c" 3 4 )) # 4898 "g.c" ) add_event(W_UNSIGNED_WRAP, erp); } else if( # 4901 "g.c" 3 4 ((_Bool) __builtin_sub_overflow ( # 4901 "g.c" val->i # 4901 "g.c" 3 4 , # 4901 "g.c" rival # 4901 "g.c" 3 4 , # 4901 "g.c" &val->i # 4901 "g.c" 3 4 )) # 4901 "g.c" ) add_event(W_SIGNED_WRAP, erp); break; case MUL: if( us ) { if( # 4907 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4907 "g.c" val->q # 4907 "g.c" 3 4 , # 4907 "g.c" rqval # 4907 "g.c" 3 4 , # 4907 "g.c" &val->q # 4907 "g.c" 3 4 )) # 4907 "g.c" ) add_event(W_UNSIGNED_WRAP, erp); } else if( # 4910 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4910 "g.c" val->i # 4910 "g.c" 3 4 , # 4910 "g.c" rival # 4910 "g.c" 3 4 , # 4910 "g.c" &val->i # 4910 "g.c" 3 4 )) # 4910 "g.c" ) add_event(W_SIGNED_WRAP, erp); break; case DIV: goto promote; case IDIV: if( rival == 0 ) error(DIV_ZERO, erp); if( us ) val->q /= rqval; else if( ival == # 4920 "g.c" 3 4 (-9223372036854775807L -1) # 4920 "g.c" && rival == -1 ) add_event(W_SIGNED_WRAP, erp); else val->i /= rival; break; case REM: if( rival == 0 ) error(DOM, erp); if( us ) val->q %= rqval; else val->i = (rival == -1 ? 0 : ival % rival); break; case POW: if( us ) { u64 result = 1; for(;;) { if( (rqval & 1) && # 4939 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4939 "g.c" result # 4939 "g.c" 3 4 , # 4939 "g.c" qval # 4939 "g.c" 3 4 , # 4939 "g.c" &result # 4939 "g.c" 3 4 )) # 4939 "g.c" ) { add_event(W_OVER, erp); goto promote; } if( (rqval >>= 1) == 0 ) break; if( # 4946 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4946 "g.c" qval # 4946 "g.c" 3 4 , # 4946 "g.c" qval # 4946 "g.c" 3 4 , # 4946 "g.c" &qval # 4946 "g.c" 3 4 )) # 4946 "g.c" ) { add_event(W_OVER, erp); goto promote; } } val->q = result; break; } if( rival < 0 ) goto promote; i64 result = 1; for(;;) { if( (rqval & 1) && # 4960 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4960 "g.c" result # 4960 "g.c" 3 4 , # 4960 "g.c" ival # 4960 "g.c" 3 4 , # 4960 "g.c" &result # 4960 "g.c" 3 4 )) # 4960 "g.c" ) { add_event(W_OVER, erp); goto promote; } if( (rqval >>= 1) == 0 ) break; if( # 4967 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 4967 "g.c" ival # 4967 "g.c" 3 4 , # 4967 "g.c" ival # 4967 "g.c" 3 4 , # 4967 "g.c" &ival # 4967 "g.c" 3 4 )) # 4967 "g.c" ) { add_event(W_OVER, erp); goto promote; } } val->i = result; break; case OR: val->q |= rqval; break; case AND: val->q &= rqval; break; case XOR: val->q ^= rqval; break; case ASR: val->i >>= rqval; break; case LSR: val->q >>= rqval; break; case ASL: case LSL: val->q <<= rqval; break; case ROR: val->q = qval >> rqval | qval << (64 - rqval); break; default: val->i = compare_int(val, rval, op, erp); val->type = SI; return; } } done: if( action->priority == 0 ) { if( lhs->id > 26 || lhs->rvalue ) error(LVALUE, erp); locals[lhs->id] = lhs->opval; } } # 5027 "g.c" static const char * parse_roman( VALUE * const val, char const * const start, const bool neg ) { static constexpr u16 decimal[] = { 1, 5, 10, 50, 100, 500, 1000, 1, 0 }; const char *e = start; while( (g_map[*e] & (ROMAN)) ) ++e; if( e == start || (g_map[*e] & (ALPHA)) ) return # 5043 "g.c" 3 4 ((void *)0) # 5043 "g.c" ; char const * const end = e; int n = 0, last = 0; do { const int d = decimal[ locate("IVXLCDMJN", u_map[*(--e)], 9) ]; if( d < last ) n -= d; else n += (last = d); } while( e > start ); val->i = neg ? -n : n; return end; } static char * convert_roman( char *r, u32 n ) { static constexpr u16 decimal[] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 }; static constexpr char numerals[][3] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" }; r = (char*)mempcpy(r,"0r",(size_t)(2)); for( int i = 0; i < 13; ++i ) while( n >= decimal[i] ) { n -= decimal[i]; r = scopy(r, numerals[i]); } return r; } static char * convert_ascii( char * const buf, const char c ) { static constexpr char asc_tab[][4] = { "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US" }; if( c < 32 ) memcpy(buf,asc_tab[c],4); else if( c == 127 ) memcpy(buf,"DEL",4); else { memcpy(buf,"'\0'",4); buf[1] = c; } return buf + 3 - !buf[2]; } static char * convert_hex( char *p, u64 n ) { *p = EOS; do hex(p -= 2, n & 0xFF); while( n >>= 8 ); memcpy(p -= 2,"0x",2); return p; } static char * convert_dec( char *p, VALUE const * const val ) { bool neg = false; u64 n = val->q; if( val->type ) memcpy(p,"U",2); else { *p = EOS; if( n >> 63 ) { n = -n; neg = true; } } p = _Generic(n, int: itoa_int, i64: itoa_i64, u64: itoa_u64)(p, n); if( neg ) *--p = '-'; return p; } static char * convert_oct( char *p, u64 n ) { *p = EOS; do *--p = (char)((n & 7) | 48); while( n >>= 3 ); if( *p != '0' ) *--p = '0'; return p; } static void display_binary( char * const buf, u64 n ) { char *p = buf + 82; memcpy(p," (0)\n",5); for( u32 i = 1; ; ++i, n >>= 1 ) { *--p = (char)((n & 1) | 48); if( (((uintptr_t)(i) & (8 -1)) == 0) ) { *--p = SPACE; if( i > 63 ) break; if( (i & (i-1)) == 0 ) memcpy(p -= 2," |",2); } } memcpy(buf,"(63)",4); write(2,buf,(size_t)(87)); } static void display_real( char * const buf, VALUE const * const val ) { char *p = buf + convert_real(buf, val->r); if( real_hex ) p += sprintf(p, ", %a", val->r); const bool inx = warn_inexact && inexact, sub = (!val->exponent && val->mantissa); if( sub | inx ) { memcpy(p," (",4); p += 3; if( inx ) { memcpy(p,"inexact",8); p += 7; if( sub ) p = (char*)mempcpy(p,", ",(size_t)(2)); } if( sub ) p = (char*)mempcpy(p,"subnormal",(size_t)(9)); *p++ = ')'; } {*p++ = LF; write(2,buf,(size_t)(p-buf));}; } static const char * suffix( VALUE * const val, const char *e ) { enum { SUFFIX_U=1, SUFFIX_L=2, SUFFIX_F=4, SUFFIX_INT=8, SUFFIX_FP=16 }; int list = val->type < FP ? SUFFIX_INT : SUFFIX_FP; if( val->event == W_PROM ) list = SUFFIX_INT; for(;;) { switch( u_map[*(e)] ) { case 'U': if( list & (SUFFIX_FP | SUFFIX_U | SUFFIX_F) ) return # 5225 "g.c" 3 4 ((void *)0) # 5225 "g.c" ; if( val->type == SI ) val->type = US; list |= SUFFIX_U; break; case 'L': if( list & (SUFFIX_L | SUFFIX_F) ) return # 5232 "g.c" 3 4 ((void *)0) # 5232 "g.c" ; if( u_map[*(e+1)] == 'L' ) { if( list & SUFFIX_FP ) return # 5236 "g.c" 3 4 ((void *)0) # 5236 "g.c" ; ++e; } list |= SUFFIX_L; break; case 'F': if( list & (SUFFIX_INT | SUFFIX_L | SUFFIX_U | SUFFIX_F) ) return # 5243 "g.c" 3 4 ((void *)0) # 5243 "g.c" ; list |= SUFFIX_F; break; default: return e; } ++e; } # 5252 "g.c" 3 4 (__builtin_unreachable ()) # 5252 "g.c" ; } # 5278 "g.c" static const char * parse_int( VALUE * const val, const char *start ) { const bool negative = (*start == '-'); u32 base = 10; start += negative | (*start == '+'); if( *start == '0' ) { const i64 r = locate("XBR0123456789", u_map[*(start+1)], 13); if( r >= 0 ) { ++start; if( r < 3 ) { ++start; if( r == 2 ) return parse_roman(val, start, negative); base = r ? 2 : 16; } else base = 8; val->type = US; } } const char *e = start; bool overflow = false; u64 n = 0; for(;;) { const i64 d = locate(digits, u_map[*(e)], base); if( d < 0 ) { if( *e != SQUOTE ) break; if( !memchr(digits, u_map[*(e+1)], base) ) return # 5323 "g.c" 3 4 ((void *)0) # 5323 "g.c" ; } else if( !overflow && ( # 5325 "g.c" 3 4 ((_Bool) __builtin_mul_overflow ( # 5325 "g.c" n # 5325 "g.c" 3 4 , # 5325 "g.c" base # 5325 "g.c" 3 4 , # 5325 "g.c" &n # 5325 "g.c" 3 4 )) # 5325 "g.c" || # 5325 "g.c" 3 4 ((_Bool) __builtin_add_overflow ( # 5325 "g.c" n # 5325 "g.c" 3 4 , # 5325 "g.c" d # 5325 "g.c" 3 4 , # 5325 "g.c" &n # 5325 "g.c" 3 4 )) # 5325 "g.c" ) ) overflow = true; ++e; } const char endc = u_map[*(e)]; if( endc == 'U' || endc == 'L' ) { if( e == start || (e = suffix(val, e)) == # 5336 "g.c" 3 4 ((void *)0) # 5336 "g.c" ) return # 5337 "g.c" 3 4 ((void *)0) # 5337 "g.c" ; if( !overflow ) base = 0; } if( base > 2 ) { while( (g_map[*e] & (DIGIT)) ) ++e; const char c = u_map[*(e)]; if( c == '.' || c == 'E' || c == 'F' || (c == 'P' && base == 16) ) { val->type = FP; return # 5360 "g.c" 3 4 ((void *)0) # 5360 "g.c" ; } if( overflow && base > 8 ) { val->event = W_PROM; val->type = FP; return # 5370 "g.c" 3 4 ((void *)0) # 5370 "g.c" ; } } if( e == start || overflow || (g_map[endc] & (DIGIT)) || (base == 16 && (g_map[endc] & (ALPHA))) ) return # 5378 "g.c" 3 4 ((void *)0) # 5378 "g.c" ; if( val->type == SI && n > SIGNED_MAX ) { if( negative ) { if( n > SIGNED_MIN ) { val->event = W_PROM; val->type = FP; return # 5395 "g.c" 3 4 ((void *)0) # 5395 "g.c" ; } } else { val->event = W_US_PROM; val->type = US; } } if( negative ) { if( val->type == US ) val->event = W_NEG_US; n = -n; } val->q = n; return e; } static const char * parse_real( VALUE * const val, char const * const start ) { line buf; const size_t len = size(start); memcpy(buf, start, len); size_t seps = 0; char *tail; # 5434 "g.c" 3 4 (*__errno_location ()) # 5434 "g.c" = 0; for(;;) { val->r = strtod(buf, &tail); if( *tail != SQUOTE ) break; u32 base = 10; if( *start == '0' && u_map[*(start+1)] == 'X' ) base = 16; if( !memchr(digits, u_map[*(tail+1)], base) ) error(BAD_NUM, start); memmove(tail, tail + 1, (len - ++seps) - (size_t)(tail - buf) ); } # 5449 "g.c" 3 4 ((void) (0)) # 5449 "g.c" ; if( !(val->exponent != 0x7FF) ) error(LIT_OVER, start); if( # 5454 "g.c" 3 4 (*__errno_location ()) # 5454 "g.c" ) { # 5456 "g.c" 3 4 ((void) (0)) # 5456 "g.c" ; if( val->r == 0.0 ) error(LIT_UNDER, start); # 5459 "g.c" 3 4 ((void) (0)) # 5459 "g.c" ; } val->type = FP; return suffix(val, start + (tail - buf) + seps); } static int get_name( char const ** const ptr, char * const buf ) { const char *p = *ptr; int len = 0; memset(buf,0,8); while( (g_map[*p] & (WORD)) ) { if( len < NAME_LEN ) buf[len++] = u_map[*(p)]; ++p; } *ptr = p; return len; } static bool last_was_op; static u32 lookup_name( char const ** const ptr ) { char target[8]; char const * const erp = *ptr; const MATH *name = math_tab, *found = # 5497 "g.c" 3 4 ((void *)0) # 5497 "g.c" ; const int len = get_name(ptr, target); const char c1 = *target; while( c1 != *name->token_str ) ++name; do { if( !memcmp(target,name->token_str,(size_t)(len)) ) { if( len == NAME_LEN || name->token_str[len] == EOS ) return name->token_id; if( found ) error(AMBIG_NAME, erp); found = name; } else if( found ) break; } while( c1 == *(++name)->token_str ); if( !found ) error(UNKNOWN_NAME, erp); return found->token_id; } static u32 parse_operator( char const ** const ptr ) { char const * const p = *ptr + 2; char c1 = p[-2]; char c2 = p[-1]; char c3 = c2 ? *p : 0; *ptr = p; const u32 op = (u32)(c1 << 8 | c2); switch( c1 ) { case '<': if( c2 == '>' ) { if( c3 == '=' ) { ++(*ptr); return T_RORAB; } return op; } case '>': if( c2 == '=' ) return (u32)(c2 << 8 | c1); if( c2 == c1 ) { if( c2 == c3 ) { if( c2 == '<' ) c2 = 'l'; else if( c2 == '>' ) c2 = 'r'; c3 = *++(*ptr); } if( c3 == '=' ) { ++(*ptr); return (u32)(c2 << 8 | c3); } return (u32)(c2 << 8 | c2); } break; case '&': case '+': case '-': case '|': if( c2 == c1 || c2 == '=' ) return op; break; case '%': case '*': case '/': if( c2 == c1 ) { if( c3 == '=' ) { ++(*ptr); return (u32)(c3 << 8 | c1); } return op; } case '!': case '=': case '^': case '~': if( c2 == '=' ) return op; break; # 5610 "g.c" case '.': if( (g_map[c2] & (DIGIT)) ) break; case '_': c1 = RESULT; break; default: if( !memchr("()}'?:,;", c1, 8) ) error(SYNTAX, p - 2); } --(*ptr); return c1; } static bool lex( TOKEN ** const c_list, char const ** const ptr ) { static constexpr byte prio_tab[] = { 9, 9, 10, 10, 10, 10, 10, 8, 8, 8, 8, 8, 3, 5, 4, 11, 7, 7, 7, 7, 6, 6, 2, 1, 6, 0 }; static constexpr u16 op_tab[] = { '+', '-', '*', '/', T_IDIV, '%', T_IREM, T_ROR, T_LSL, T_LSR, T_ASL, T_ASR, '|', '&', '^', T_POW, '<', T_LEQ, '>', T_GEQ, T_EQ, T_NEQ, T_AND, T_OR, T_FEQ, '=', T_PLUSAB, T_MINAB, T_MULAB, T_DIVAB, T_IDIVAB, T_REMAB, T_IREMAB, T_RORAB, T_LSLAB, T_LSRAB, T_ASLAB, T_ASRAB, T_ORAB, T_ANDAB, T_XORAB, T_POWAB, '~', '!', T_PPLUS, T_MMINUS }; const char *start = *ptr; while( (g_map[*start] & (WHITE)) ) ++start; u32 ch = *start; *ptr = start; if( ch == EOS || ch == '}' ) return false; if( !(g_map[ch] & (DIGIT)) ) { if( (g_map[ch] & (ALPHA)) ) { if( (g_map[start[1]] & (ALPHA)) ) ch = lookup_name(ptr); else { ch &= UPPER; ++(*ptr); } } else { ch = parse_operator(ptr); for( u32 i = 0; i < (int)(sizeof(op_tab)/sizeof(op_tab[0])); ++i ) if( ch == op_tab[i] ) { ch = PLUS + i; break; } } } TOKEN *tok = c_free_list; if( tok ) c_free_list = tok->next; else tok = heap(sizeof(TOKEN)); *c_list = tok; memset(tok,0,sizeof(*(tok))); tok->erp = start; tok->rvalue = true; const char c2 = **ptr; VALUE * const val = &tok->litval; switch( ch ) { case ABS...BASE: tok->type = PREFIX; tok->opval.event = I_FUNC; break; case PLUS: case MINUS: if( last_was_op ) goto binops; if( (g_map[c2] & (DIGIT)) ) goto lit_int; if( c2 == '.' ) goto lit_real; ch += UPLUS - PLUS; case NOT: tok->type = PREFIX; break; case LNOT: if( last_was_op ) ch = FACT; case PPLUS: case MMINUS: tok->type = last_was_op ? POSTFIX : PREFIX; break; case '0'...'9': lit_int: if( (*ptr = parse_int(val, start)) != # 5741 "g.c" 3 4 ((void *)0) # 5741 "g.c" ) { ch = LITERAL; break; } if( val->type != FP ) error(BAD_NUM, start); case '.': lit_real: if( (*ptr = parse_real(val, start)) == # 5750 "g.c" 3 4 ((void *)0) # 5750 "g.c" ) error(BAD_NUM, start); ch = LITERAL; break; case SQUOTE: *ptr = start + 2; # 5757 "g.c" 3 4 ((void) (0)) # 5757 "g.c" ; val->q = (c2 == BSLASH ? parse_escape(ptr) : c2); if( *(*ptr)++ != SQUOTE ) error(BAD_NUM, start); ch = LITERAL; break; case MUL...POWAB: if( !last_was_op ) error(SYNTAX, start); binops: tok->type = BINARY; if( ch > ASSIGN ) ch -= PLUSAB - PLUS; else tok->priority = prio_tab[ch - PLUS]; last_was_op = false; break; case FPI...UMAX8: *val = constants[ch - FPI]; ch = LITERAL; break; case 'A'...'Z': ch &= 31; case COUNTER: case RESULT: break; case '(': if( last_was_op ) error(SYNTAX, start); tok->type = OPEN_PAR; break; case ')': tok->type = CLOSE_PAR; last_was_op = true; break; case ',': case ';': tok->type = SEMI; last_was_op = false; break; case '?': tok->type = QUERY; last_was_op = false; break; case ':': tok->type = COLON; last_was_op = false; break; case HEX...SHOW: tok->type = COMMAND; break; default: # 5820 "g.c" 3 4 (__builtin_unreachable ()) # 5820 "g.c" ; } if( tok->type == PREFIX || tok->type == OPERAND ) { if( last_was_op ) error(SYNTAX, start); last_was_op = (tok->type == OPERAND); } tok->id = ch; return true; } static const char * expr_compile( TOKEN ** start, const char *ptr ) { last_was_op = false; *start = # 5842 "g.c" 3 4 ((void *)0) # 5842 "g.c" ; while( lex(start, &ptr) ) start = &(*start)->next; return *ptr ? ptr + 1 : # 5847 "g.c" 3 4 ((void *)0) # 5847 "g.c" ; } static void get_value( TOKEN * const tok ) { const int op = tok->id; VALUE * const val = &tok->opval; if( op == LITERAL ) { *val = tok->litval; if( val->event ) add_event(val->event, tok->erp); return; } if( op < 27 ) { *val = locals[op]; tok->rvalue = false; return; } if( op == COUNTER ) { val->type = US; val->event = 0; val->q = counter(); return; } # 5912 "g.c" } static TOKEN * parse( TOKEN *tok, VALUE * const retval, const char endtok ) { TOKEN *result, *data_stack, *binary_ops, *prefix_ops; void clear_stack( void ) { while( binary_ops ) { binary(data_stack, binary_ops); binary_ops = binary_ops->snext; data_stack = data_stack->snext; } if( data_stack ) *retval = data_stack->opval; else if( prefix_ops ) error(MISSING_OP, prefix_ops->erp); data_stack = # 5937 "g.c" 3 4 ((void *)0) # 5937 "g.c" ; } bool match( const char target ) { for( tok = tok->next; tok && tok->type != target; tok = tok->next ) { if( tok->type == OPEN_PAR && match(CLOSE_PAR) ) error(MISSING_BRA, result->erp); if( tok->type == QUERY && match(COLON) ) error(INV_TERN, result->erp); } return !tok; } for( prefix_ops = binary_ops = data_stack = # 5955 "g.c" 3 4 ((void *)0) # 5955 "g.c" ; tok; tok = tok->next ) switch( tok->type ) { case OPERAND: tok->snext = data_stack; data_stack = tok; get_value(data_stack); while( prefix_ops ) { unary(data_stack, prefix_ops, true); prefix_ops = prefix_ops->snext; } continue; case PREFIX: tok->snext = prefix_ops; prefix_ops = tok; continue; case POSTFIX: unary(data_stack, tok, false); continue; case BINARY: while( binary_ops && tok->priority <= binary_ops->priority ) { binary(data_stack, binary_ops); binary_ops = binary_ops->snext; data_stack = data_stack->snext; } tok->snext = binary_ops; binary_ops = tok; continue; case OPEN_PAR: if( tok->next == # 5987 "g.c" 3 4 ((void *)0) # 5987 "g.c" || tok->next->type == CLOSE_PAR ) error(MISSING_EXP, tok->erp); result = tok; if( (tok = parse(tok->next, &tok->opval, CLOSE_PAR)) == # 5990 "g.c" 3 4 ((void *)0) # 5990 "g.c" ) error(MISSING_BRA, result->erp); result->snext = data_stack; data_stack = result; while( prefix_ops ) { unary(data_stack, prefix_ops, true); prefix_ops = prefix_ops->snext; } continue; case CLOSE_PAR: case COLON: if( tok->type != endtok ) error(SYNTAX, tok->erp); goto done; case QUERY: clear_stack(); if( tok->next == # 6011 "g.c" 3 4 ((void *)0) # 6011 "g.c" ) error(INV_TERN, tok->erp); result = tok; if( retval->type == FP ? retval->r == 0.0 : retval->i == 0 ) { if( match(COLON) ) error(INV_TERN, result->erp); continue; } tok = tok->next; if( tok->type == COLON ) result->opval = *retval; else if( (tok = parse(tok, &result->opval, COLON)) == # 6023 "g.c" 3 4 ((void *)0) # 6023 "g.c" ) error(INV_TERN, result->erp); result->snext = data_stack; data_stack = result; if( match(endtok) || tok->type == endtok ) goto done; continue; case SEMI: clear_stack(); continue; case COMMAND: command(tok, 0); continue; default: # 6039 "g.c" 3 4 (__builtin_unreachable ()) # 6039 "g.c" ; } done: clear_stack(); return tok; } static void print_result( void ) { char buf[432], *t = buf + 150, * const t2 = buf + 200; VALUE const * const val = locals; char * sep( char * const p ) { memcpy(p," ... ",5); return p + 5; } display_events(); if( val->type == FP ) { display_real(buf, val); return; } char * const dec = convert_dec(t, val); if( decimal_view ) { {*t++ = LF; write(2,dec,(size_t)(t-dec));}; return; } u64 q = val->q; if( cols > 85 ) display_binary(buf, q); char *p = sep(scopy(buf, convert_oct(t2, q))); p = sep(scopy(p, dec)); p = scopy(p, convert_hex(t2, q)); if( q < 128 ) p = convert_ascii(sep(p), (char)q); if( q > 0 && q < 4000 ) p = convert_roman(sep(p), (u32)q); if( p - buf > cols ) { {*t++ = LF; write(2,dec,(size_t)(t-dec));}; return; } {*p++ = LF; write(2,buf,(size_t)(p-buf));}; if( radix ) { const u32 r = (u32)radix; p = t; do *--p = digits[q % r]; while( q /= r ); memcpy(p -= 2,": ",2); p = _Generic(radix, int: itoa_int, i64: itoa_i64, u64: itoa_u64)(p, radix); memcpy(p -= 5,"Base ",5); {*t++ = LF; write(2,p,(size_t)(t-p));}; } } static void run( TOKEN * const expr, const bool disp ) { parse(expr, locals, END_EXP); if( disp ) print_result(); reset(); } # 11102 "g.c" static void interrupt( int ) { screen_size(0); } int main( int, char const * const * argv ) { line buf; const char *p, *erp; TOKEN *expr = # 11116 "g.c" 3 4 ((void *)0) # 11116 "g.c" ; static const struct sigaction actions = { . # 11117 "g.c" 3 4 __sigaction_handler.sa_handler # 11117 "g.c" = interrupt, .sa_flags = # 11117 "g.c" 3 4 0x40000000 # 11117 "g.c" }; if( screen_size(0) ) cols = 100; if( # 11122 "g.c" 3 4 _setjmp ( # 11122 "g.c" err_env # 11122 "g.c" 3 4 ) # 11122 "g.c" ) leave( # 11123 "g.c" 3 4 1 # 11123 "g.c" ); int arg( const int lower_limit, const int upper_limit, const u32 ec ) { if( *p || (p = *++argv) != # 11127 "g.c" 3 4 ((void *)0) # 11127 "g.c" ) { int n = 0; while( (g_map[*p] & (DIGIT)) ) if( (n = n * 10 + (*p++ & 15)) > upper_limit ) error(ec, erp); if( *p == EOS && n >= lower_limit ) return n; } error(ec, erp); } while( (p = *++argv) != # 11139 "g.c" 3 4 ((void *)0) # 11139 "g.c" && *p == '-' ) { erp = p++; char c = u_map[*(p++)]; switch( c ) { case 'B': radix = arg(2, 64, INV_BASE); continue; case 'P': real_digits = arg(0, MAX_PREC, INV_PREC); continue; case '-': case 'V': build(buf, "PC Calculator"); } do switch( c ) { default: sprintf(buf, "Invalid option: %s", erp); fatal(buf); case 'H': real_hex = true; break; case 'D': case 'T': radix = real_hex = warn_inexact = expr_log = false; decimal_view = true; real_digits = 12; break; case 'A': real_hex = true; decimal_view = false; real_digits = 15 # 11179 "g.c" + 1; case 'L': case 'W': expr_log = true; case 'I': warn_inexact = true; break; } while( (c = u_map[*(p++)]) != EOS ); } if( p ) { char *q = scopy(buf, p + (*p == ':')); while( *++argv ) { *q++ = SPACE; q = scopy(q, *argv); } expr_compile(&expr, buf); if( expr ) run(expr, expr->id != SHOW); leave( # 11204 "g.c" 3 4 0 # 11204 "g.c" ); } sigaction( # 11207 "g.c" 3 4 28 # 11207 "g.c" , &actions, # 11207 "g.c" 3 4 ((void *)0) # 11207 "g.c" ); if( # 11208 "g.c" 3 4 _setjmp ( # 11208 "g.c" err_env # 11208 "g.c" 3 4 ) # 11208 "g.c" != EXIT ) while( keyboard(buf, ">> ") ) { expr_compile(&expr, buf); if( expr ) { run(expr, true); free_expr(expr); } } write(2,"\n",1); leave( # 11220 "g.c" 3 4 0 # 11220 "g.c" ); }
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
About the author
Statistics
Changelog
Version tree