#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int /*<<< orphan*/ sqlite3;

/* Variables and functions */
int SQLITE_OK;
int /*<<< orphan*/ assert(int);
int /*<<< orphan*/ db_add_banmask(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_channel(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_client(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_exceptmask(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_expiring_forbidden_nick(int /*<<< orphan*/ *,
                                                  int /*<<< orphan*/ *,
                                                  int /*<<< orphan*/);
int /*<<< orphan*/ db_add_forbidden_nick(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_invitemask(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_membership(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_add_operator(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_clear_all_invites(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/);
int /*<<< orphan*/ db_clear_whowas(int /*<<< orphan*/ *, int /*<<< orphan*/);
int /*<<< orphan*/ db_client_can_invite(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/ *,
                                        int /*<<< orphan*/ *);
int /*<<< orphan*/ db_client_may_join(int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *);
int /*<<< orphan*/ db_client_may_set_topic(int /*<<< orphan*/ *,
                                           int /*<<< orphan*/ *,
                                           int /*<<< orphan*/ *);
int /*<<< orphan*/ db_client_may_talk(int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *);
int /*<<< orphan*/ db_client_meets_invite_req(int /*<<< orphan*/ *,
                                              int /*<<< orphan*/ *,
                                              int /*<<< orphan*/ *);
int /*<<< orphan*/ db_client_not_banned(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/ *,
                                        int /*<<< orphan*/ *);
int /*<<< orphan*/ db_count_banmasks(int /*<<< orphan*/ *, int /*<<< orphan*/);
int /*<<< orphan*/ db_count_channel_members(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/);
int /*<<< orphan*/ db_count_channels(int /*<<< orphan*/ *);
int /*<<< orphan*/ db_count_client_channels(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/);
int /*<<< orphan*/ db_count_client_operators(int /*<<< orphan*/ *);
int /*<<< orphan*/ db_count_clients(int /*<<< orphan*/ *);
int /*<<< orphan*/ db_count_exceptmasks(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/);
int /*<<< orphan*/ db_count_invitemasks(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/);
int /*<<< orphan*/ db_count_visible_members(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/);
int /*<<< orphan*/ db_del_banmask(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_del_channel(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_del_client(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_del_exceptmask(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_del_expired_forbidden_nicks(int /*<<< orphan*/ *);
int /*<<< orphan*/ db_del_forbidden_nick(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_del_invite(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                 int /*<<< orphan*/);
int /*<<< orphan*/ db_del_invitemask(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_delete_client_memberships(int /*<<< orphan*/ *,
                                                int /*<<< orphan*/);
int /*<<< orphan*/ db_delete_membership(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/, int /*<<< orphan*/);
int /*<<< orphan*/ db_get_banmask(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                  int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_banmask_by_mask(int /*<<< orphan*/ *,
                                          int /*<<< orphan*/,
                                          int /*<<< orphan*/ *,
                                          int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_channel(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                  int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_channel_by_name(int /*<<< orphan*/ *,
                                          int /*<<< orphan*/ *,
                                          int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_client(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                 int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_client_by_fd(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                       int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_client_by_nick(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_client_by_opid(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_exceptmask(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_exceptmask_by_mask(int /*<<< orphan*/ *,
                                             int /*<<< orphan*/,
                                             int /*<<< orphan*/ *,
                                             int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_forbidden_nick(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_invite(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                 int /*<<< orphan*/, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_invitemask(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_invitemask_by_mask(int /*<<< orphan*/ *,
                                             int /*<<< orphan*/,
                                             int /*<<< orphan*/ *,
                                             int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_membership(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                     int /*<<< orphan*/, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_operator(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                   int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_operator_id(int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *);
int /*<<< orphan*/ db_get_whowas(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                 int /*<<< orphan*/ *);
int /*<<< orphan*/ db_invite_client(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                    int /*<<< orphan*/);
int /*<<< orphan*/ db_modify_channel(int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_modify_client(int /*<<< orphan*/ *, int /*<<< orphan*/ *);
int /*<<< orphan*/ db_modify_membership(int /*<<< orphan*/ *,
                                        int /*<<< orphan*/ *);
int /*<<< orphan*/ db_nickname_available(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_nickname_is_forbidden(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_anon_neighbors(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/,
                                            int /*<<< orphan*/ *,
                                            int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_banmasks(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                      int /*<<< orphan*/ *,
                                      int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_client_channels(int /*<<< orphan*/ *,
                                             int /*<<< orphan*/,
                                             int /*<<< orphan*/ *,
                                             int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_clients(int /*<<< orphan*/ *, int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_exceptmasks(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/,
                                         int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_inactive_clients(int /*<<< orphan*/ *,
                                              int /*<<< orphan*/,
                                              int /*<<< orphan*/ *,
                                              int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_invitemasks(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/,
                                         int /*<<< orphan*/ *,
                                         int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_members(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                     int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_members_except(int /*<<< orphan*/ *,
                                            int /*<<< orphan*/,
                                            int /*<<< orphan*/,
                                            int /*<<< orphan*/ *,
                                            int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_neighbors(int /*<<< orphan*/ *, int /*<<< orphan*/,
                                       int /*<<< orphan*/ *,
                                       int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_non_anon_neighbors(int /*<<< orphan*/ *,
                                                int /*<<< orphan*/,
                                                int /*<<< orphan*/ *,
                                                int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_ping_timeout_clients(int /*<<< orphan*/ *,
                                                  int /*<<< orphan*/,
                                                  int /*<<< orphan*/ *,
                                                  int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_wallops(int /*<<< orphan*/ *, int /*<<< orphan*/ *,
                                     int /*<<< orphan*/ *);
int /*<<< orphan*/ db_run_on_whowas(int /*<<< orphan*/ *, int /*<<< orphan*/ *,
                                    int /*<<< orphan*/, int /*<<< orphan*/ *,
                                    int /*<<< orphan*/ *);
int /*<<< orphan*/ db_update_client_activity(int /*<<< orphan*/ *,
                                             int /*<<< orphan*/);
int /*<<< orphan*/ db_update_client_ping(int /*<<< orphan*/ *,
                                         int /*<<< orphan*/);
int sqlite3_close(int /*<<< orphan*/ *);
void db_close(sqlite3 *db) {
  int ret;
  db_get_forbidden_nick(NULL, 0, NULL);
  db_get_operator(NULL, 0, NULL);
  db_get_client(NULL, 0, NULL);
  db_get_channel(NULL, 0, NULL);
  db_get_membership(NULL, 0, 0, NULL);
  db_get_banmask(NULL, 0, NULL);
  db_get_exceptmask(NULL, 0, NULL);
  db_get_invitemask(NULL, 0, NULL);
  db_get_invite(NULL, 0, 0, NULL);
  db_get_whowas(NULL, 0, NULL);
  db_add_forbidden_nick(NULL, NULL);
  db_add_expiring_forbidden_nick(NULL, NULL, 0);
  db_del_forbidden_nick(NULL, NULL);
  db_del_expired_forbidden_nicks(NULL);
  db_nickname_is_forbidden(NULL, NULL);
  db_nickname_available(NULL, NULL);
  db_add_operator(NULL, NULL);
  db_add_client(NULL, NULL);
  db_del_client(NULL, NULL);
  db_modify_client(NULL, NULL);
  db_update_client_activity(NULL, 0);
  db_update_client_ping(NULL, 0);
  db_add_channel(NULL, NULL);
  db_del_channel(NULL, NULL);
  db_modify_channel(NULL, NULL);
  db_get_banmask_by_mask(NULL, 0, NULL, NULL);
  db_get_exceptmask_by_mask(NULL, 0, NULL, NULL);
  db_get_invitemask_by_mask(NULL, 0, NULL, NULL);
  db_add_banmask(NULL, NULL);
  db_add_exceptmask(NULL, NULL);
  db_add_invitemask(NULL, NULL);
  db_del_banmask(NULL, NULL);
  db_del_exceptmask(NULL, NULL);
  db_del_invitemask(NULL, NULL);
  db_count_banmasks(NULL, 0);
  db_count_exceptmasks(NULL, 0);
  db_count_invitemasks(NULL, 0);
  db_get_client_by_fd(NULL, 0, NULL);
  db_get_client_by_nick(NULL, NULL, NULL);
  db_get_client_by_opid(NULL, 0, NULL);
  db_get_operator_id(NULL, NULL, NULL, NULL);
  db_get_channel_by_name(NULL, NULL, NULL);
  db_count_client_channels(NULL, 0);
  db_count_channel_members(NULL, 0);
  db_count_visible_members(NULL, 0);
  db_count_channels(NULL);
  db_count_clients(NULL);
  db_count_client_operators(NULL);
  db_add_membership(NULL, NULL);
  db_modify_membership(NULL, NULL);
  db_delete_membership(NULL, 0, 0);
  db_delete_client_memberships(NULL, 0);
  db_client_can_invite(NULL, NULL, NULL);
  db_invite_client(NULL, 0, 0);
  db_del_invite(NULL, 0, 0);
  db_clear_all_invites(NULL, 0);
  db_client_not_banned(NULL, NULL, NULL);
  db_client_meets_invite_req(NULL, NULL, NULL);
  db_client_may_join(NULL, NULL, NULL, NULL);
  db_client_may_talk(NULL, NULL, NULL);
  db_client_may_set_topic(NULL, NULL, NULL);
  db_clear_whowas(NULL, 0);
  db_run_on_members(NULL, 0, NULL, NULL);
  db_run_on_anon_neighbors(NULL, 0, NULL, NULL);
  db_run_on_neighbors(NULL, 0, NULL, NULL);
  db_run_on_non_anon_neighbors(NULL, 0, NULL, NULL);
  db_run_on_members_except(NULL, 0, 0, NULL, NULL);
  db_run_on_banmasks(NULL, 0, NULL, NULL);
  db_run_on_exceptmasks(NULL, 0, NULL, NULL);
  db_run_on_invitemasks(NULL, 0, NULL, NULL);
  db_run_on_whowas(NULL, NULL, 0, NULL, NULL);
  db_run_on_wallops(NULL, NULL, NULL);
  db_run_on_client_channels(NULL, 0, NULL, NULL);
  db_run_on_ping_timeout_clients(NULL, 0, NULL, NULL);
  db_run_on_inactive_clients(NULL, 0, NULL, NULL);
  db_run_on_clients(NULL, NULL, NULL);
  ret = sqlite3_close(db);
  assert(ret == SQLITE_OK);
}


x86 assembly (clang, -O0):
<db_close>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   24d0 <db_get_forbidden_nick@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2030 <db_get_operator@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   20e0 <db_get_client@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2200 <db_get_channel@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %edx,%edx
mov    %rcx,%rdi
mov    %edx,%esi
call   2450 <db_get_membership@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2440 <db_get_banmask@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2320 <db_get_exceptmask@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2230 <db_get_invitemask@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %edx,%edx
mov    %rcx,%rdi
mov    %edx,%esi
call   24c0 <db_get_invite@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   22a0 <db_get_whowas@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2150 <db_add_forbidden_nick@plt>
xor    %eax,%eax
mov    %eax,%esi
xor    %edx,%edx
mov    %rsi,%rdi
call   20b0 <db_add_expiring_forbidden_nick@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2180 <db_del_forbidden_nick@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2240 <db_del_expired_forbidden_nicks@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2100 <db_nickname_is_forbidden@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2270 <db_nickname_available@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   23d0 <db_add_operator@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2140 <db_add_client@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2370 <db_del_client@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   20f0 <db_modify_client@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   20d0 <db_update_client_activity@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2300 <db_update_client_ping@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2500 <db_add_channel@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2050 <db_del_channel@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2160 <db_modify_channel@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2470 <db_get_banmask_by_mask@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2350 <db_get_exceptmask_by_mask@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   20a0 <db_get_invitemask_by_mask@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   23c0 <db_add_banmask@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2400 <db_add_exceptmask@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   22b0 <db_add_invitemask@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2090 <db_del_banmask@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2170 <db_del_exceptmask@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   2490 <db_del_invitemask@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2310 <db_count_banmasks@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   24f0 <db_count_exceptmasks@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2340 <db_count_invitemasks@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2380 <db_get_client_by_fd@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2070 <db_get_client_by_nick@plt>
xor    %eax,%eax
mov    %eax,%edx
xor    %esi,%esi
mov    %rdx,%rdi
call   2330 <db_get_client_by_opid@plt>
xor    %eax,%eax
mov    %eax,%ecx
mov    %rcx,%rdi
mov    %rcx,%rsi
mov    %rcx,%rdx
call   21f0 <db_get_operator_id@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2040 <db_get_channel_by_name@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2110 <db_count_client_channels@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2390 <db_count_channel_members@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   21a0 <db_count_visible_members@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2290 <db_count_channels@plt>
xor    %eax,%eax
mov    %eax,%edi
call   2280 <db_count_clients@plt>
xor    %eax,%eax
mov    %eax,%edi
call   23a0 <db_count_client_operators@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   22d0 <db_add_membership@plt>
xor    %eax,%eax
mov    %eax,%esi
mov    %rsi,%rdi
call   21e0 <db_modify_membership@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %edx,%edx
mov    %edx,%esi
call   23e0 <db_delete_membership@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   21d0 <db_delete_client_memberships@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2360 <db_client_can_invite@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %edx,%edx
mov    %edx,%esi
call   2430 <db_invite_client@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %edx,%edx
mov    %edx,%esi
call   2060 <db_del_invite@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2250 <db_clear_all_invites@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   23b0 <db_client_not_banned@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2210 <db_client_meets_invite_req@plt>
xor    %eax,%eax
mov    %eax,%ecx
mov    %rcx,%rdi
mov    %rcx,%rsi
mov    %rcx,%rdx
call   24a0 <db_client_may_join@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2260 <db_client_may_talk@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2220 <db_client_may_set_topic@plt>
xor    %eax,%eax
mov    %eax,%edi
xor    %esi,%esi
call   2080 <db_clear_whowas@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2120 <db_run_on_members@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2420 <db_run_on_anon_neighbors@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   22e0 <db_run_on_neighbors@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   23f0 <db_run_on_non_anon_neighbors@plt>
xor    %eax,%eax
mov    %eax,%r8d
xor    %edx,%edx
mov    %r8,%rdi
mov    %edx,%esi
mov    %r8,%rcx
call   2410 <db_run_on_members_except@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   21b0 <db_run_on_banmasks@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2460 <db_run_on_exceptmasks@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   24e0 <db_run_on_invitemasks@plt>
xor    %eax,%eax
mov    %eax,%r8d
xor    %edx,%edx
mov    %r8,%rdi
mov    %r8,%rsi
mov    %r8,%rcx
call   20c0 <db_run_on_whowas@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   21c0 <db_run_on_wallops@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2130 <db_run_on_client_channels@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   24b0 <db_run_on_ping_timeout_clients@plt>
xor    %eax,%eax
mov    %eax,%ecx
xor    %esi,%esi
mov    %rcx,%rdi
mov    %rcx,%rdx
call   2190 <db_run_on_inactive_clients@plt>
xor    %eax,%eax
mov    %eax,%edx
mov    %rdx,%rdi
mov    %rdx,%rsi
call   2480 <db_run_on_clients@plt>
mov    -0x8(%rbp),%rdi
call   22f0 <sqlite3_close@plt>
mov    %eax,-0xc(%rbp)
mov    -0xc(%rbp),%eax
mov    0x25d3(%rip),%rcx
cmp    (%rcx),%eax
sete   %al
and    $0x1,%al
movzbl %al,%edi
call   22c0 <assert@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<db_close>:
push   %rbx
mov    %rdi,%rbx
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   24d0 <db_get_forbidden_nick@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2030 <db_get_operator@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   20e0 <db_get_client@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2200 <db_get_channel@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2450 <db_get_membership@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2440 <db_get_banmask@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2320 <db_get_exceptmask@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2230 <db_get_invitemask@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   24c0 <db_get_invite@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   22a0 <db_get_whowas@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2150 <db_add_forbidden_nick@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   20b0 <db_add_expiring_forbidden_nick@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2180 <db_del_forbidden_nick@plt>
xor    %edi,%edi
call   2240 <db_del_expired_forbidden_nicks@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2100 <db_nickname_is_forbidden@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2270 <db_nickname_available@plt>
xor    %edi,%edi
xor    %esi,%esi
call   23d0 <db_add_operator@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2140 <db_add_client@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2370 <db_del_client@plt>
xor    %edi,%edi
xor    %esi,%esi
call   20f0 <db_modify_client@plt>
xor    %edi,%edi
xor    %esi,%esi
call   20d0 <db_update_client_activity@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2300 <db_update_client_ping@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2500 <db_add_channel@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2050 <db_del_channel@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2160 <db_modify_channel@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2470 <db_get_banmask_by_mask@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2350 <db_get_exceptmask_by_mask@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   20a0 <db_get_invitemask_by_mask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   23c0 <db_add_banmask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2400 <db_add_exceptmask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   22b0 <db_add_invitemask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2090 <db_del_banmask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2170 <db_del_exceptmask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2490 <db_del_invitemask@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2310 <db_count_banmasks@plt>
xor    %edi,%edi
xor    %esi,%esi
call   24f0 <db_count_exceptmasks@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2340 <db_count_invitemasks@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2380 <db_get_client_by_fd@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2070 <db_get_client_by_nick@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2330 <db_get_client_by_opid@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   21f0 <db_get_operator_id@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2040 <db_get_channel_by_name@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2110 <db_count_client_channels@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2390 <db_count_channel_members@plt>
xor    %edi,%edi
xor    %esi,%esi
call   21a0 <db_count_visible_members@plt>
xor    %edi,%edi
call   2290 <db_count_channels@plt>
xor    %edi,%edi
call   2280 <db_count_clients@plt>
xor    %edi,%edi
call   23a0 <db_count_client_operators@plt>
xor    %edi,%edi
xor    %esi,%esi
call   22d0 <db_add_membership@plt>
xor    %edi,%edi
xor    %esi,%esi
call   21e0 <db_modify_membership@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   23e0 <db_delete_membership@plt>
xor    %edi,%edi
xor    %esi,%esi
call   21d0 <db_delete_client_memberships@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2360 <db_client_can_invite@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2430 <db_invite_client@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2060 <db_del_invite@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2250 <db_clear_all_invites@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   23b0 <db_client_not_banned@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2210 <db_client_meets_invite_req@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   24a0 <db_client_may_join@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2260 <db_client_may_talk@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2220 <db_client_may_set_topic@plt>
xor    %edi,%edi
xor    %esi,%esi
call   2080 <db_clear_whowas@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2120 <db_run_on_members@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2420 <db_run_on_anon_neighbors@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   22e0 <db_run_on_neighbors@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   23f0 <db_run_on_non_anon_neighbors@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
call   2410 <db_run_on_members_except@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   21b0 <db_run_on_banmasks@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2460 <db_run_on_exceptmasks@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   24e0 <db_run_on_invitemasks@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
call   20c0 <db_run_on_whowas@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   21c0 <db_run_on_wallops@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2130 <db_run_on_client_channels@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   24b0 <db_run_on_ping_timeout_clients@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
call   2190 <db_run_on_inactive_clients@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
call   2480 <db_run_on_clients@plt>
mov    %rbx,%rdi
call   22f0 <sqlite3_close@plt>
mov    0x26d1(%rip),%rcx
xor    %edi,%edi
cmp    (%rcx),%eax
sete   %dil
pop    %rbx
jmp    22c0 <assert@plt>

LLVM IR (-O0):
@SQLITE_OK = global i32 0
define void @db_close(i32* %0) {
%2 = alloca i32*
%3 = alloca i32
store i32* %0, i32** %2
%4 = call i32 @db_get_forbidden_nick(i32* null, i32 0, i32* null)
%5 = call i32 @db_get_operator(i32* null, i32 0, i32* null)
%6 = call i32 @db_get_client(i32* null, i32 0, i32* null)
%7 = call i32 @db_get_channel(i32* null, i32 0, i32* null)
%8 = call i32 @db_get_membership(i32* null, i32 0, i32 0, i32* null)
%9 = call i32 @db_get_banmask(i32* null, i32 0, i32* null)
%10 = call i32 @db_get_exceptmask(i32* null, i32 0, i32* null)
%11 = call i32 @db_get_invitemask(i32* null, i32 0, i32* null)
%12 = call i32 @db_get_invite(i32* null, i32 0, i32 0, i32* null)
%13 = call i32 @db_get_whowas(i32* null, i32 0, i32* null)
%14 = call i32 @db_add_forbidden_nick(i32* null, i32* null)
%15 = call i32 @db_add_expiring_forbidden_nick(i32* null, i32* null, i32 0)
%16 = call i32 @db_del_forbidden_nick(i32* null, i32* null)
%17 = call i32 @db_del_expired_forbidden_nicks(i32* null)
%18 = call i32 @db_nickname_is_forbidden(i32* null, i32* null)
%19 = call i32 @db_nickname_available(i32* null, i32* null)
%20 = call i32 @db_add_operator(i32* null, i32* null)
%21 = call i32 @db_add_client(i32* null, i32* null)
%22 = call i32 @db_del_client(i32* null, i32* null)
%23 = call i32 @db_modify_client(i32* null, i32* null)
%24 = call i32 @db_update_client_activity(i32* null, i32 0)
%25 = call i32 @db_update_client_ping(i32* null, i32 0)
%26 = call i32 @db_add_channel(i32* null, i32* null)
%27 = call i32 @db_del_channel(i32* null, i32* null)
%28 = call i32 @db_modify_channel(i32* null, i32* null)
%29 = call i32 @db_get_banmask_by_mask(i32* null, i32 0, i32* null, i32* null)
%30 = call i32 @db_get_exceptmask_by_mask(i32* null, i32 0, i32* null, i32* null)
%31 = call i32 @db_get_invitemask_by_mask(i32* null, i32 0, i32* null, i32* null)
%32 = call i32 @db_add_banmask(i32* null, i32* null)
%33 = call i32 @db_add_exceptmask(i32* null, i32* null)
%34 = call i32 @db_add_invitemask(i32* null, i32* null)
%35 = call i32 @db_del_banmask(i32* null, i32* null)
%36 = call i32 @db_del_exceptmask(i32* null, i32* null)
%37 = call i32 @db_del_invitemask(i32* null, i32* null)
%38 = call i32 @db_count_banmasks(i32* null, i32 0)
%39 = call i32 @db_count_exceptmasks(i32* null, i32 0)
%40 = call i32 @db_count_invitemasks(i32* null, i32 0)
%41 = call i32 @db_get_client_by_fd(i32* null, i32 0, i32* null)
%42 = call i32 @db_get_client_by_nick(i32* null, i32* null, i32* null)
%43 = call i32 @db_get_client_by_opid(i32* null, i32 0, i32* null)
%44 = call i32 @db_get_operator_id(i32* null, i32* null, i32* null, i32* null)
%45 = call i32 @db_get_channel_by_name(i32* null, i32* null, i32* null)
%46 = call i32 @db_count_client_channels(i32* null, i32 0)
%47 = call i32 @db_count_channel_members(i32* null, i32 0)
%48 = call i32 @db_count_visible_members(i32* null, i32 0)
%49 = call i32 @db_count_channels(i32* null)
%50 = call i32 @db_count_clients(i32* null)
%51 = call i32 @db_count_client_operators(i32* null)
%52 = call i32 @db_add_membership(i32* null, i32* null)
%53 = call i32 @db_modify_membership(i32* null, i32* null)
%54 = call i32 @db_delete_membership(i32* null, i32 0, i32 0)
%55 = call i32 @db_delete_client_memberships(i32* null, i32 0)
%56 = call i32 @db_client_can_invite(i32* null, i32* null, i32* null)
%57 = call i32 @db_invite_client(i32* null, i32 0, i32 0)
%58 = call i32 @db_del_invite(i32* null, i32 0, i32 0)
%59 = call i32 @db_clear_all_invites(i32* null, i32 0)
%60 = call i32 @db_client_not_banned(i32* null, i32* null, i32* null)
%61 = call i32 @db_client_meets_invite_req(i32* null, i32* null, i32* null)
%62 = call i32 @db_client_may_join(i32* null, i32* null, i32* null, i32* null)
%63 = call i32 @db_client_may_talk(i32* null, i32* null, i32* null)
%64 = call i32 @db_client_may_set_topic(i32* null, i32* null, i32* null)
%65 = call i32 @db_clear_whowas(i32* null, i32 0)
%66 = call i32 @db_run_on_members(i32* null, i32 0, i32* null, i32* null)
%67 = call i32 @db_run_on_anon_neighbors(i32* null, i32 0, i32* null, i32* null)
%68 = call i32 @db_run_on_neighbors(i32* null, i32 0, i32* null, i32* null)
%69 = call i32 @db_run_on_non_anon_neighbors(i32* null, i32 0, i32* null, i32* null)
%70 = call i32 @db_run_on_members_except(i32* null, i32 0, i32 0, i32* null, i32* null)
%71 = call i32 @db_run_on_banmasks(i32* null, i32 0, i32* null, i32* null)
%72 = call i32 @db_run_on_exceptmasks(i32* null, i32 0, i32* null, i32* null)
%73 = call i32 @db_run_on_invitemasks(i32* null, i32 0, i32* null, i32* null)
%74 = call i32 @db_run_on_whowas(i32* null, i32* null, i32 0, i32* null, i32* null)
%75 = call i32 @db_run_on_wallops(i32* null, i32* null, i32* null)
%76 = call i32 @db_run_on_client_channels(i32* null, i32 0, i32* null, i32* null)
%77 = call i32 @db_run_on_ping_timeout_clients(i32* null, i32 0, i32* null, i32* null)
%78 = call i32 @db_run_on_inactive_clients(i32* null, i32 0, i32* null, i32* null)
%79 = call i32 @db_run_on_clients(i32* null, i32* null, i32* null)
%80 = load i32*, i32** %2
%81 = call i32 @sqlite3_close(i32* %80)
store i32 %81, i32* %3
%82 = load i32, i32* %3
%83 = load i32, i32* @SQLITE_OK
%84 = icmp eq i32 %82, %83
%85 = zext i1 %84 to i32
%86 = call i32 @assert(i32 %85)
ret void
}

LLVM IR (-O2):
@SQLITE_OK = global i32 0
define void @db_close(i32* %0) {
%2 = tail call i32 @db_get_forbidden_nick(i32* null, i32 0, i32* null)
%3 = tail call i32 @db_get_operator(i32* null, i32 0, i32* null)
%4 = tail call i32 @db_get_client(i32* null, i32 0, i32* null)
%5 = tail call i32 @db_get_channel(i32* null, i32 0, i32* null)
%6 = tail call i32 @db_get_membership(i32* null, i32 0, i32 0, i32* null)
%7 = tail call i32 @db_get_banmask(i32* null, i32 0, i32* null)
%8 = tail call i32 @db_get_exceptmask(i32* null, i32 0, i32* null)
%9 = tail call i32 @db_get_invitemask(i32* null, i32 0, i32* null)
%10 = tail call i32 @db_get_invite(i32* null, i32 0, i32 0, i32* null)
%11 = tail call i32 @db_get_whowas(i32* null, i32 0, i32* null)
%12 = tail call i32 @db_add_forbidden_nick(i32* null, i32* null)
%13 = tail call i32 @db_add_expiring_forbidden_nick(i32* null, i32* null, i32 0)
%14 = tail call i32 @db_del_forbidden_nick(i32* null, i32* null)
%15 = tail call i32 @db_del_expired_forbidden_nicks(i32* null)
%16 = tail call i32 @db_nickname_is_forbidden(i32* null, i32* null)
%17 = tail call i32 @db_nickname_available(i32* null, i32* null)
%18 = tail call i32 @db_add_operator(i32* null, i32* null)
%19 = tail call i32 @db_add_client(i32* null, i32* null)
%20 = tail call i32 @db_del_client(i32* null, i32* null)
%21 = tail call i32 @db_modify_client(i32* null, i32* null)
%22 = tail call i32 @db_update_client_activity(i32* null, i32 0)
%23 = tail call i32 @db_update_client_ping(i32* null, i32 0)
%24 = tail call i32 @db_add_channel(i32* null, i32* null)
%25 = tail call i32 @db_del_channel(i32* null, i32* null)
%26 = tail call i32 @db_modify_channel(i32* null, i32* null)
%27 = tail call i32 @db_get_banmask_by_mask(i32* null, i32 0, i32* null, i32* null)
%28 = tail call i32 @db_get_exceptmask_by_mask(i32* null, i32 0, i32* null, i32* null)
%29 = tail call i32 @db_get_invitemask_by_mask(i32* null, i32 0, i32* null, i32* null)
%30 = tail call i32 @db_add_banmask(i32* null, i32* null)
%31 = tail call i32 @db_add_exceptmask(i32* null, i32* null)
%32 = tail call i32 @db_add_invitemask(i32* null, i32* null)
%33 = tail call i32 @db_del_banmask(i32* null, i32* null)
%34 = tail call i32 @db_del_exceptmask(i32* null, i32* null)
%35 = tail call i32 @db_del_invitemask(i32* null, i32* null)
%36 = tail call i32 @db_count_banmasks(i32* null, i32 0)
%37 = tail call i32 @db_count_exceptmasks(i32* null, i32 0)
%38 = tail call i32 @db_count_invitemasks(i32* null, i32 0)
%39 = tail call i32 @db_get_client_by_fd(i32* null, i32 0, i32* null)
%40 = tail call i32 @db_get_client_by_nick(i32* null, i32* null, i32* null)
%41 = tail call i32 @db_get_client_by_opid(i32* null, i32 0, i32* null)
%42 = tail call i32 @db_get_operator_id(i32* null, i32* null, i32* null, i32* null)
%43 = tail call i32 @db_get_channel_by_name(i32* null, i32* null, i32* null)
%44 = tail call i32 @db_count_client_channels(i32* null, i32 0)
%45 = tail call i32 @db_count_channel_members(i32* null, i32 0)
%46 = tail call i32 @db_count_visible_members(i32* null, i32 0)
%47 = tail call i32 @db_count_channels(i32* null)
%48 = tail call i32 @db_count_clients(i32* null)
%49 = tail call i32 @db_count_client_operators(i32* null)
%50 = tail call i32 @db_add_membership(i32* null, i32* null)
%51 = tail call i32 @db_modify_membership(i32* null, i32* null)
%52 = tail call i32 @db_delete_membership(i32* null, i32 0, i32 0)
%53 = tail call i32 @db_delete_client_memberships(i32* null, i32 0)
%54 = tail call i32 @db_client_can_invite(i32* null, i32* null, i32* null)
%55 = tail call i32 @db_invite_client(i32* null, i32 0, i32 0)
%56 = tail call i32 @db_del_invite(i32* null, i32 0, i32 0)
%57 = tail call i32 @db_clear_all_invites(i32* null, i32 0)
%58 = tail call i32 @db_client_not_banned(i32* null, i32* null, i32* null)
%59 = tail call i32 @db_client_meets_invite_req(i32* null, i32* null, i32* null)
%60 = tail call i32 @db_client_may_join(i32* null, i32* null, i32* null, i32* null)
%61 = tail call i32 @db_client_may_talk(i32* null, i32* null, i32* null)
%62 = tail call i32 @db_client_may_set_topic(i32* null, i32* null, i32* null)
%63 = tail call i32 @db_clear_whowas(i32* null, i32 0)
%64 = tail call i32 @db_run_on_members(i32* null, i32 0, i32* null, i32* null)
%65 = tail call i32 @db_run_on_anon_neighbors(i32* null, i32 0, i32* null, i32* null)
%66 = tail call i32 @db_run_on_neighbors(i32* null, i32 0, i32* null, i32* null)
%67 = tail call i32 @db_run_on_non_anon_neighbors(i32* null, i32 0, i32* null, i32* null)
%68 = tail call i32 @db_run_on_members_except(i32* null, i32 0, i32 0, i32* null, i32* null)
%69 = tail call i32 @db_run_on_banmasks(i32* null, i32 0, i32* null, i32* null)
%70 = tail call i32 @db_run_on_exceptmasks(i32* null, i32 0, i32* null, i32* null)
%71 = tail call i32 @db_run_on_invitemasks(i32* null, i32 0, i32* null, i32* null)
%72 = tail call i32 @db_run_on_whowas(i32* null, i32* null, i32 0, i32* null, i32* null)
%73 = tail call i32 @db_run_on_wallops(i32* null, i32* null, i32* null)
%74 = tail call i32 @db_run_on_client_channels(i32* null, i32 0, i32* null, i32* null)
%75 = tail call i32 @db_run_on_ping_timeout_clients(i32* null, i32 0, i32* null, i32* null)
%76 = tail call i32 @db_run_on_inactive_clients(i32* null, i32 0, i32* null, i32* null)
%77 = tail call i32 @db_run_on_clients(i32* null, i32* null, i32* null)
%78 = tail call i32 @sqlite3_close(i32* %0)
%79 = load i32, i32* @SQLITE_OK
%80 = icmp eq i32 %78, %79
%81 = zext i1 %80 to i32
%82 = tail call i32 @assert(i32 %81)
ret void
}