Authentication-Results: mail-b.sr.ht; dkim=pass header.d=gmail.com header.i=@gmail.com Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by mail-b.sr.ht (Postfix) with ESMTPS id 3F07C11EE04 for <~skeeto/public-inbox@lists.sr.ht>; Thu, 13 Oct 2022 15:42:25 +0000 (UTC) Received: by mail-pj1-f44.google.com with SMTP id l1-20020a17090a72c100b0020a6949a66aso2244202pjk.1 for <~skeeto/public-inbox@lists.sr.ht>; Thu, 13 Oct 2022 08:42:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=SDylOywsD4H+5ybhnjwuV5ep/r7mStr+pv8AznxuDAA=; b=DUaV2a8LWVSlOpLSV6Dn+00EAg4IgTt5zFHX6zaTcrpUvAwwzHKzub9TXuJxGMSkCN ivT7+YqmmkNuFDakYCURUm9KNN7oqHPl3PO9izHCKXgyQ93FktH2VaNrKiOwCXVfXJYT TDs/698sJLec8suM1eftcypvsPNivBh/RypP22hQdLOHXT0xBcF0FCZGkceGC7zE5Akw dy8u7mSLAAZ/0mNED7IFZdD7Uf1JUBbgfRr73jNW37CNjt3yT3xibX4MJWd2YE+fcE3J fZgg8ICrce2BAxJV1VYGRzbpNEGKWE4/pJvz2KWFA6Qv8x1kb4wSd361muhf7MFotdkJ HFUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=SDylOywsD4H+5ybhnjwuV5ep/r7mStr+pv8AznxuDAA=; b=V9Hm7tsMPVQZ0qijouR6eveCk6VgWRWXLZ4hj5JNULaKjnJ16Ou58ZBsLajeG+6haH 9nWdchkZKp4p8R4sA5tzj2ds4g66vBMQkYVqWqI3KIFHSgnBiJnZq1iUA5KBrCJ3J/bJ pylZe3oAE7zT7wXwxBksrlroB3fuRRLDxk2ZI28QsRKq6OFKZWZywJMjJHtAzc5/dweJ yFSMzksyh68nY9NQOUuePw6go77b45Y2S6udgE+bvkaApl6+tjxX2rhEghqSkoX3jiOy qeH2nqWcKjww5mT2eZrf6vrZU7FIZRbtqpDRYyRqJ6ii3/khcA1O2rLBMPdjhfIaPp9q xPWw== X-Gm-Message-State: ACrzQf0c79uucwwHoEiOFuKYziBbks2KsMS/T6+Wn0rLpkhaaw3UqXs2 pvOy4ls91/FaqpicokpXxAuJjXKSyX/8eA== X-Google-Smtp-Source: AMsMyM762PdhFpz/2ZJq2BEpFAMITQyaNf+/0FXa9LwxusuEFm+LrkHKXfH9G9HWJLS/dCYSFhvsEQ== X-Received: by 2002:a17:902:ab1d:b0:180:4030:757d with SMTP id ik29-20020a170902ab1d00b001804030757dmr291042plb.155.1665675743953; Thu, 13 Oct 2022 08:42:23 -0700 (PDT) Received: from ?IPV6:2601:1c0:5a01:d50::9b2a? ([2601:1c0:5a01:d50::9b2a]) by smtp.gmail.com with ESMTPSA id z17-20020aa79911000000b0054ee4b632dasm2156362pff.169.2022.10.13.08.42.23 for <~skeeto/public-inbox@lists.sr.ht> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Oct 2022 08:42:23 -0700 (PDT) Message-ID: <725c9a46-6fd9-afcc-52de-268a3070eb5d@gmail.com> Date: Thu, 13 Oct 2022 08:42:22 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 Content-Language: en-US To: ~skeeto/public-inbox@lists.sr.ht From: Matthew Fernandez Subject: relationship to model checking Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Chris, I read your recent Dandelions post with fascination as per usual; always find your writings interesting and always learn something new! I was wondering if you ever use tools like model checkers for these problems instead of hand-written C? The reason I ask is that I’ve worked on several explicit state model checkers in the past and I often recognize optimization tricks you employ as patterns I’ve previously used in model checkers. For example, many of the bit-packing optimizations, canonicalization, some compiler intrinsic tricks, … The latest model checker I worked on in this style generates a multi-threaded C program that uses some lock-free data structures to go a bit faster. As someone most comfortable working in C, I often wonder whether I myself could hand-write something that outperforms it. That is, I’ve tried to encode as much of my knowledge about hand-optimizing C as possible into the code generator, but I still have some unanswered questions about how close to the limit of my own hand-written C the generated code is reaching. Interested to hear your thoughts on this topic. Thanks, Matt