PageSourceSearch

https://rxinfer.com/

html rxinfer.com collected 2026-10-03 22:11:07 UTC 102,836 bytes, 150 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="https://rxinfer.com/_next/static/media/4de1fea1a954a5b6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="https://rxinfer.com/_next/static/media/6d664cce900333ee-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://rxinfer.com/_next/static/media/rxinfer-header-logo.5742a287.svg"/><link rel="preload" as="image" href="https://rxinfer.com/_next/static/media/rxinfer-logo.5742a287.svg"/><link rel="stylesheet" href="https://rxinfer.com/_next/static/css/b3c645ed34de1910.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="https://rxinfer.com/_next/static/chunks/webpack-64364ad22f06bb81.js"/>
1<script src="https://rxinfer.com/_next/static/chunks/d91c204e-e2f1187a96e2a304.js" async=""></script>
1<script src="https://rxinfer.com/_next/static/chunks/939-0d7ae812b1dea72c.js" async=""></script>
1<script src="https://rxinfer.com/_next/static/chunks/main-app-5631239319ccc848.js" async=""></script>
1<script src="https://rxinfer.com/_next/static/chunks/779-4947586497e9cad5.js" async=""></script>
1<script src="https://rxinfer.com/_next/static/chunks/app/layout-92aa36550cd7c72e.js" async=""></script>
1<script src="https://rxinfer.com/_next/static/chunks/458-d2e7ab92829aa496.js" async=""></script>
1<script src="https://rxinfer.com/_next/static/chunks/app/page-fbbd9cab52a8a71c.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-1HKSM7RXGL" as="script"/><link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/antv-g6/4.5.5/g6.min.js" as="script"/><link rel="preload" href="/js/graph.js" as="script"/><meta name="next-size-adjust" content=""/><title>RxInfer.jl - Fast and Flexible Bayesian Inference</title><meta name="description" content="RxInfer.jl is a Julia package for fast and flexible Bayesian inference, combining message passing and automatic differentiation for efficient probabilistic programming."/><meta name="google-site-verification" content="googlebd9cfe2856e26e83"/><meta property="og:title" content="RxInfer.jl - Fast and Flexible Bayesian Inference"/><meta property="og:description" content="RxInfer.jl is a Julia package for fast and flexible Bayesian inference, combining message passing and automatic differentiation for efficient probabilistic programming."/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="RxInfer.jl - Fast and Flexible Bayesian Inference"/><meta name="twitter:description" content="RxInfer.jl is a Julia package for fast and flexible Bayesian inference, combining message passing and automatic differentiation for efficient probabilistic programming."/><link rel="icon" href="/favicon.svg"/><link rel="icon" href="/favicon.ico"/><link rel="icon" href="/favicon-96x96.png" sizes="96x96" type="image/png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><link rel="manifest" href="/site.webmanifest"/>
1<script src="https://rxinfer.com/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="__variable_70bbab bg-white antialiased" style="color:#343a40"><nav class="fixed top-0 w-full bg-white border-b z-50"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between h-16 items-center"><div class="flex-shrink-0 h-full flex items-center"><a class="h-full flex items-center" href="/"><img alt="RxInfer Logo" width="150" height="40" decoding="async" data-nimg="1" class="h-8 w-auto" style="color:transparent" src="https://rxinfer.com/_next/static/media/rxinfer-header-logo.5742a287.svg"/></a></div><div class="hidden md:flex items-center space-x-4"><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://docs.rxinfer.com/stable/manuals/getting-started/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-notebook-pen w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4"></path><path d="M2 6h4"></path><path d="M2 10h4"></path><path d="M2 14h4"></path><path d="M2 18h4"></path><path d="M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"></path></svg><span class="flex flex-col leading-tight"><span class="relative">Get Started<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://docs.rxinfer.com/stable/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="M12 7v14"></path><path d="M16 12h2"></path><path d="M16 8h2"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path><path d="M6 12h2"></path><path d="M6 8h2"></path></svg><span class="flex flex-col leading-tight"><span class="relative">Documentation<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://examples.rxinfer.com"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg><span class="flex flex-col leading-tight"><span class="relative">Examples<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://benchmarks.rxinfer.com"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg><span class="flex flex-col leading-tight"><span class="relative">Benchmarks<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://github.com/reactivebayes/RxInfer.jl/discussions"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"></path></svg><span class="flex flex-col leading-tight"><span class="relative">Discussions<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://github.com/reactivebayes/RxInfer.jl/graphs/contributors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="flex flex-col leading-tight"><span class="relative">Team<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a><a class="flex items-center px-3 py-2 text-gray-600 hover:text-blue-600 transition-all duration-200 ease-in-out relative group" href="https://github.com/ReactiveBayes"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-4 h-4 mr-2 transform group-hover:scale-110 transition-transform duration-200 ease-in-out"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg><span class="flex flex-col leading-tight"><span class="relative">GitHub<span class="absolute bottom-0 left-0 w-0 h-0.5 bg-blue-600 group-hover:w-full transition-all duration-300 ease-in-out"></span></span></span></a></div><div class="md:hidden"><button class="inline-flex items-center justify-center p-2 rounded-md text-gray-700 hover:text-gray-900 hover:bg-gray-100"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-6 w-6"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button></div></div></div></nav><main class="pt-24 mb-24"><div class="flex flex-col items-center justify-center"><div class="w-full max-w-[650px]"><img alt="RxInfer Logo" width="150" height="144" decoding="async" data-nimg="1" class="object-contain w-full h-auto" style="color:transparent" src="https://rxinfer.com/_next/static/media/rxinfer-logo.5742a287.svg"/></div></div>
1<script>(self.__next_s=self.__next_s||[]).push(["https://cdnjs.cloudflare.com/ajax/libs/antv-g6/4.5.5/g6.min.js",{}])</script>
1<div class="w-full min-h-[600px] relative left-0 overflow-hidden"><div class="absolute inset-0"><div id="landing-graph-placeholder" class="flex items-center justify-center w-full h-full"><div class="grid grid-cols-8 gap-4 sm:gap-8 lg:gap-12 relative"><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-blue-100 border-2 border-blue-300 rounded-lg lg:rounded-xl animate-pulse"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-red-100 border-2 border-red-300 rounded-lg lg:rounded-xl animate-pulse delay-75"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-green-100 border-2 border-green-300 rounded-lg lg:rounded-xl animate-pulse delay-150"></div><div class="w-10 h-10 sm:w-16 sm:h-16 lg:w-20 lg:h-20 bg-purple-100 border-2 border-purple-300 rounded-lg lg:rounded-xl animate-pulse delay-100"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-purple-100 border-2 border-purple-300 rounded-lg lg:rounded-xl animate-pulse delay-75"></div><div class="w-10 h-10 sm:w-16 sm:h-16 lg:w-20 lg:h-20 bg-blue-100 border-2 border-blue-300 rounded-lg lg:rounded-xl animate-pulse delay-150"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-red-100 border-2 border-red-300 rounded-lg lg:rounded-xl animate-pulse delay-100"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-green-100 border-2 border-green-300 rounded-lg lg:rounded-xl animate-pulse delay-75"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-green-100 border-2 border-green-300 rounded-lg lg:rounded-xl animate-pulse delay-150"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-purple-100 border-2 border-purple-300 rounded-lg lg:rounded-xl animate-pulse delay-100"></div><div class="w-10 h-10 sm:w-16 sm:h-16 lg:w-20 lg:h-20 bg-blue-100 border-2 border-blue-300 rounded-lg lg:rounded-xl animate-pulse delay-75"></div><div class="w-12 h-12 sm:w-20 sm:h-20 lg:w-24 lg:h-24 bg-red-100 border-2 border-red-300 rounded-lg lg:rounded-xl animate-pulse"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-red-100 border-2 border-red-300 rounded-lg lg:rounded-xl animate-pulse delay-100"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-green-100 border-2 border-green-300 rounded-lg lg:rounded-xl animate-pulse delay-75"></div><div class="w-8 h-8 sm:w-12 sm:h-12 lg:w-16 lg:h-16 bg-purple-100 border-2 border-purple-300 rounded-lg lg:rounded-xl animate-pulse"></div><div class="w-10 h-10 sm:w-16 sm:h-16 lg:w-20 lg:h-20 bg-blue-100 border-2 border-blue-300 rounded-lg lg:rounded-xl animate-pulse delay-150"></div></div></div></div><div id="landing-graph" class="landing-graph" style="width:100%;height:100%;position:absolute;overflow:visible;opacity:0"></div></div><div class="flex flex-col items-center justify-center max-w-6xl mx-auto px-8"><section id="what-is-rxinfer"><p class="text-xl text-center text-gray-700 leading-relaxed mt-8 mb-16">Welcome to RxInfer.jl - a powerful Julia package for fast and flexible Bayesian inference. By combining message passing algorithms with model&#x27;s graph structure, RxInfer makes probabilistic programming both efficient and accessible. Whether you&#x27;re working on machine learning, signal processing, or complex statistical models, RxInfer provides the tools you need to solve real-world inference problems.</p><div class="grid grid-cols-1 md:grid-cols-2 gap-8"><a class="flex flex-col border border-2 border-blue-200 items-center p-6 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 bg-gradient-to-br from-blue-50 to-indigo-100 relative before:absolute before:inset-0 before:p-[2px] before:bg-gradient-to-r before:from-blue-500 before:to-indigo-600 before:rounded-lg before:-z-10" href="https://docs.rxinfer.com"><div class="p-4 rounded-full bg-gradient-to-br from-blue-600 to-indigo-300 mb-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open w-12 h-12 text-white"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><h3 class="text-xl font-semibold mb-2 bg-gradient-to-r from-blue-600 to-indigo-600 bg-clip-text text-transparent">Documentation</h3><p class="text-gray-600 text-center">Learn how to use RxInfer with our comprehensive guides and API reference</p></a><a class="flex flex-col border border-2 border-green-200 items-center p-6 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 bg-gradient-to-br from-green-50 to-emerald-100 relative before:absolute before:inset-0 before:p-[2px] before:bg-gradient-to-r before:from-green-500 before:to-emerald-600 before:rounded-lg before:-z-10" href="https://examples.rxinfer.com"><div class="p-4 rounded-full bg-gradient-to-br from-green-600 to-emerald-300 mb-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml w-12 h-12 text-white"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></div><h3 class="text-xl font-semibold mb-2 bg-gradient-to-r from-green-600 to-emerald-600 bg-clip-text text-transparent">Examples</h3><p class="text-gray-600 text-center">Explore practical examples and tutorials to get started quickly</p></a></div></section><section id="why-rxinfer" class="flex flex-col gap-8 w-full py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
2                    transform transition-all duration-700 ease-out
3                    opacity-0 translate-y-8 motion-reduce:translate-y-0
4                    cursor-pointer
5                    ">Why RxInfer?</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
6                                transform transition-all duration-300 ease-out font-semibold
7                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
8                                transform transition-all duration-700 delay-200 ease-out
9                                opacity-0 scale-x-0 motion-reduce:scale-x-100
10                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
11                            transform transition-all duration-700 delay-400 ease-out
12                            opacity-0 translate-y-8 motion-reduce:translate-y-0
13                            ">Discover the power of reactive Bayesian inference</p></div></div><div class=""><div class="grid gap-4 md:gap-6 grid-cols-1 md:grid-cols-2 lg:grid-cols-3"><div class="relative flex gap-4 items-start max-w-2xl flex-row 
14                px-4 py-4 rounded-xl shadow-lg hover:shadow-2xl transition-all duration-500 bg-white
15                opacity-0 translate-y-8 motion-reduce:translate-y-0
16                "><div class="absolute inset-0 rounded-xl bg-gradient-to-r from-green-500/20 via-blue-500/20 to-green-500/20 -z-10"></div><div class="absolute inset-[1px] rounded-xl bg-white -z-10"></div><div class="my-auto flex-shrink-0 ml-1 p-3 rounded-2xl bg-gradient-to-br from-green-200 to-green-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user-check w-8 h-16 text-green-600"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><polyline points="16 11 18 13 22 9"></polyline></svg></div><div class="flex flex-col"><h3 class="text-xl font-semibold mb-1 bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent">User Friendly</h3><p class="text-gray-600 leading-relaxed">Clean specification of probabilistic models and inference constraints.</p></div></div><div class="relative flex gap-4 items-start max-w-2xl flex-row 
17                px-4 py-4 rounded-xl shadow-lg hover:shadow-2xl transition-all duration-500 bg-white
18                opacity-0 translate-y-8 motion-reduce:translate-y-0
19                "><div class="absolute inset-0 rounded-xl bg-gradient-to-r from-blue-500/20 via-green-500/20 to-blue-500/20 -z-10"></div><div class="absolute inset-[1px] rounded-xl bg-white -z-10"></div><div class="my-auto flex-shrink-0 ml-1 p-3 rounded-2xl bg-gradient-to-br from-blue-200 to-blue-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-waves w-8 h-16 text-blue-600"><path d="M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"></path><path d="M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"></path><path d="M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"></path></svg></div><div class="flex flex-col"><h3 class="text-xl font-semibold mb-1 bg-gradient-to-r from-blue-600 to-green-500 bg-clip-text text-transparent">Streaming Datasets</h3><p class="text-gray-600 leading-relaxed">Reactive message passing-based inference for streaming datasets.</p></div></div><div class="relative flex gap-4 items-start max-w-2xl flex-row 
20                px-4 py-4 rounded-xl shadow-lg hover:shadow-2xl transition-all duration-500 bg-white
21                opacity-0 translate-y-8 motion-reduce:translate-y-0
22                "><div class="absolute inset-0 rounded-xl bg-gradient-to-r from-purple-500/20 via-red-500/20 to-purple-500/20 -z-10"></div><div class="absolute inset-[1px] rounded-xl bg-white -z-10"></div><div class="my-auto flex-shrink-0 ml-1 p-3 rounded-2xl bg-gradient-to-br from-purple-200 to-purple-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-merge w-8 h-16 text-purple-600"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path></svg></div><div class="flex flex-col"><h3 class="text-xl font-semibold mb-1 bg-gradient-to-r from-purple-600 to-red-500 bg-clip-text text-transparent">Hybrid Models</h3><p class="text-gray-600 leading-relaxed">
22Support for hybrid models combining discrete and continuous latent variables.</p></div></div><div class="relative flex gap-4 items-start max-w-2xl flex-row 
23                px-4 py-4 rounded-xl shadow-lg hover:shadow-2xl transition-all duration-500 bg-white
24                opacity-0 translate-y-8 motion-reduce:translate-y-0
25                "><div class="absolute inset-0 rounded-xl bg-gradient-to-r from-red-500/20 via-yellow-400/20 to-red-500/20 -z-10"></div><div class="absolute inset-[1px] rounded-xl bg-white -z-10"></div><div class="my-auto flex-shrink-0 ml-1 p-3 rounded-2xl bg-gradient-to-br from-red-200 to-red-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scale w-8 h-16 text-red-600"><path d="m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"></path><path d="m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"></path><path d="M7 21h10"></path><path d="M12 3v18"></path><path d="M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2"></path></svg></div><div class="flex flex-col"><h3 class="text-xl font-semibold mb-1 bg-gradient-to-r from-red-600 to-yellow-300 bg-clip-text text-transparent">Scalable</h3><p class="text-gray-600 leading-relaxed">Scalability for large models with millions of parameters and observations.</p></div></div><div class="relative flex gap-4 items-start max-w-2xl flex-row 
26                px-4 py-4 rounded-xl shadow-lg hover:shadow-2xl transition-all duration-500 bg-white
27                opacity-0 translate-y-8 motion-reduce:translate-y-0
28                "><div class="absolute inset-0 rounded-xl bg-gradient-to-r from-yellow-500/20 via-red-500/20 to-yellow-500/20 -z-10"></div><div class="absolute inset-[1px] rounded-xl bg-white -z-10"></div><div class="my-auto flex-shrink-0 ml-1 p-3 rounded-2xl bg-gradient-to-br from-yellow-200 to-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-puzzle w-8 h-16 text-yellow-600"><path d="M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"></path></svg></div><div class="flex flex-col"><h3 class="text-xl font-semibold mb-1 bg-gradient-to-r from-yellow-600 to-red-500 bg-clip-text text-transparent">Extensible</h3><p class="text-gray-600 leading-relaxed">Designed to be extended with custom operations.</p></div></div><div class="relative flex gap-4 items-start max-w-2xl flex-row 
29                px-4 py-4 rounded-xl shadow-lg hover:shadow-2xl transition-all duration-500 bg-white
30                opacity-0 translate-y-8 motion-reduce:translate-y-0
31                "><div class="absolute inset-0 rounded-xl bg-gradient-to-r from-teal-500/20 via-purple-500/20 to-teal-500/20 -z-10"></div><div class="absolute inset-[1px] rounded-xl bg-white -z-10"></div><div class="my-auto flex-shrink-0 ml-1 p-3 rounded-2xl bg-gradient-to-br from-teal-200 to-teal-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-8 h-16 text-teal-600"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><div class="flex flex-col"><h3 class="text-xl font-semibold mb-1 bg-gradient-to-r from-teal-600 to-purple-500 bg-clip-text text-transparent">Community Driven</h3><p class="text-gray-600 leading-relaxed">Join our vibrant community of developers and researchers.</p></div></div></div></div></section><section id="hello-rxinfer" class="w-full gap-12 py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
32                    transform transition-all duration-700 ease-out
33                    opacity-0 translate-y-8 motion-reduce:translate-y-0
34                    cursor-pointer
35                    ">Hello World with RxInfer</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
36                                transform transition-all duration-300 ease-out font-semibold
37                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
38                                transform transition-all duration-700 delay-200 ease-out
39                                opacity-0 scale-x-0 motion-reduce:scale-x-100
40                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
41                            transform transition-all duration-700 delay-400 ease-out
42                            opacity-0 translate-y-8 motion-reduce:translate-y-0
43                            ">Probabilistic programming made simple</p></div></div><div class="flex flex-col gap-12"><div class="grid grid-cols-1 lg:grid-cols-2 gap-12 mt-16"><div class="flex flex-col gap-4"><p class="text-lg text-gray-600 leading-relaxed">RxInfer makes it easy to specify both generative models and variational constraints using familiar mathematical notation. The flexible design lets you control exactly how inference should be performed.</p>
43<div class="space-y-4 mt-4"><div class="group p-4 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 border border-green-200
44            shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1"><div class="flex items-center gap-3 px-2"><div class="flex flex-col"><h4 class="font-semibold text-gray-700">Generative Models</h4><p class="text-gray-600">Define probabilistic models with intuitive syntax</p></div></div></div><div class="group p-4 rounded-xl bg-gradient-to-r from-blue-50 to-purple-50 border border-blue-200
45            shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1"><div class="flex items-center gap-3 px-2"><div class="flex flex-col"><h4 class="font-semibold text-gray-700">Variational Constraints</h4><p class="text-gray-600">Customize inference with flexible constraints</p></div></div></div><div class="group p-4 rounded-xl bg-gradient-to-r from-purple-50 to-pink-50 border border-purple-200
46            shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1"><div class="flex items-center gap-3 px-2"><div class="flex flex-col"><h4 class="font-semibold text-gray-700">Graphical Models</h4><p class="text-gray-600">Let RxInfer choose the best inference procedure</p></div></div></div></div></div><div class="border border-gray-100 rounded-xl shadow-xl"><pre class="my-auto h-full" style="background:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%);font-family:&quot;Fira Code&quot;, &quot;Fira Mono&quot;, Menlo, Consolas, &quot;DejaVu Sans Mono&quot;, monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;border-radius:0.75rem;font-size:0.875rem"><code class="language-julia" style="white-space:pre;background:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%);font-family:&quot;Fira Code&quot;, &quot;Fira Mono&quot;, Menlo, Consolas, &quot;DejaVu Sans Mono&quot;, monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">1</span><span class="token" style="color:hsl(301, 63%, 40%)">using</span><span> RxInfer
47</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">2</span>
48<span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">3</span><span>@model </span><span class="token" style="color:hsl(301, 63%, 40%)">function</span><span> generative_model</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>y</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>
49</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">4</span><span>    μ  </span><span class="token" style="color:hsl(221, 87%, 60%)">~</span><span> Normal</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>mean </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> </span><span class="token" style="color:hsl(35, 99%, 36%)">0.0</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span> variance </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> </span><span class="token" style="color:hsl(35, 99%, 36%)">1.0</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>
50</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">5</span><span>    τ  </span><span class="token" style="color:hsl(221, 87%, 60%)">~</span><span> Gamma</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>shape </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> </span><span class="token" style="color:hsl(35, 99%, 36%)">1.0</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span> rate </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> </span><span class="token" style="color:hsl(35, 99%, 36%)">1.0</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>
51</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">6</span><span>    y </span><span class="token" style="color:hsl(230, 8%, 24%)">
51.</span><span class="token" style="color:hsl(221, 87%, 60%)">~</span><span> Normal</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>mean </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> μ</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span> precision </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> τ</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>
52</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">7</span><span></span><span class="token" style="color:hsl(301, 63%, 40%)">end</span><span>
53</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">8</span>
54<span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">9</span><span>@constraints </span><span class="token" style="color:hsl(301, 63%, 40%)">function</span><span> mean_field</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>
55</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">10</span><span>    q</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>μ</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span> τ</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span> </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> q</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>μ</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>q</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>τ</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span>
56</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">11</span><span></span><span class="token" style="color:hsl(301, 63%, 40%)">end</span><span>
57</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">12</span>
58<span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">13</span><span>result </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> infer</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span>
59</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">14</span><span>    model </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> generative_model</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span>
60</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">15</span><span>    data </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> load_dataset</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span>
61</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">16</span><span>    constraints </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> mean_field</span><span class="token" style="color:hsl(230, 8%, 24%)">(</span><span class="token" style="color:hsl(230, 8%, 24%)">)</span><span class="token" style="color:hsl(230, 8%, 24%)">,</span><span>
62</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">17</span><span>    iterations </span><span class="token" style="color:hsl(221, 87%, 60%)">=</span><span> </span><span class="token" style="color:hsl(35, 99%, 36%)">10</span><span>
63</span><span class="linenumber react-syntax-highlighter-line-number" style="display:inline-block;min-width:2.25em;padding-right:1em;text-align:right;user-select:none;color:hsl(230, 4%, 64%);font-style:italic">18</span><span></span><span class="token" style="color:hsl(230, 8%, 24%)">)</span></code></pre></div></div><div class="flex flex-col gap-4 items-center"><p class="text-lg text-gray-600 leading-relaxed text-center mb-4">Explore more interactive examples and discover the full potential of reactive Bayesian inference.</p><a class="inline-flex items-center gap-2 px-6 py-3 text-lg font-semibold text-white bg-gradient-to-r from-blue-600 to-green-600 rounded-full transition-all duration-300 hover:shadow-lg hover:-translate-y-1" href="https://examples.rxinfer.com">View Examples<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section id="rxinfer-is-fast" class="w-full gap-12 py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
64                    transform transition-all duration-700 ease-out
65                    opacity-0 translate-y-8 motion-reduce:translate-y-0
66                    cursor-pointer
67                    ">RxInfer is Fast</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
68                                transform transition-all duration-300 ease-out font-semibold
69                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
70                                transform transition-all duration-700 delay-200 ease-out
71                                opacity-0 scale-x-0 motion-reduce:scale-x-100
72                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
73                            transform transition-all duration-700 delay-400 ease-out
74                            opacity-0 translate-y-8 motion-reduce:translate-y-0
75                            ">Optimized for performance and scalability</p></div></div><div class="flex flex-col"><div class="flex flex-col gap-4 p-8"><p class="text-lg text-gray-600 leading-relaxed text-center mb-8">Below is a benchmark comparison between RxInfer&#x27;s message passing algorithm and Hamiltonian Monte Carlo (HMC) on a linear dynamical system. The benchmark measures time to convergence for inferring the posterior distribution. As shown, on this problem RxInfer&#x27;s optimized message passing achieves over <span class="font-semibold text-green-600">300x faster inference</span> results compared to traditional HMC sampling.</p><div class="recharts-responsive-container" style="width:100%;height:160px;min-width:0"></div><div class="flex flex-row items-center gap-2"><p class="text-sm flex-1 text-gray-500">Smaller time is better</p><a target="_blank" class="text-sm font-medium border border-gray-200 hover:border-blue-300 text-gray-400 hover:text-blue-800 flex items-center gap-2 px-3 py-1 rounded-full hover:bg-blue-100 transition-colors duration-200" href="https://github.com/ReactiveBayes/RxInfer.jl/tree/main/benchmarks">View benchmark details</a><a target="_blank" class="text-sm font-medium border border-gray-200 hover:border-blue-300 text-gray-400 hover:text-blue-800 flex items-center gap-2 px-3 py-1 rounded-full hover:bg-blue-100 transition-colors duration-200" href="https://benchmarks.rxinfer.com">View live benchmarks dashboard</a></div></div></div><div class="grid grid-cols-1 lg:grid-cols-3 gap-4"><div class="group p-4 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 border border-green-200
76            shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1"><div class="flex items-center gap-3 px-2"><div class="flex flex-col"><h4 class="font-semibold text-gray-700">Lightning Fast</h4><p class="text-gray-600">Optimized message passing</p></div></div></div><div class="group p-4 rounded-xl bg-gradient-to-r from-blue-50 to-purple-50 border border-blue-200
77            shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1"><div class="flex items-center gap-3 px-2"><div class="flex flex-col"><h4 class="font-semibold text-gray-700">Real-time Processing</h4><p class="text-gray-600">Process data with minimal latency</p></div></div></div><div class="group p-4 rounded-xl bg-gradient-to-r from-purple-50 to-pink-50 border border-purple-200
78            shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-1"><div class="flex items-center gap-3 px-2"><div class="flex flex-col"><h4 class="font-semibold text-gray-700">Resource Efficient</h4><p class="text-gray-600">Optimized CPU utilization</p></div></div></div></div></section><section id="complex-problems" class="w-full py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
79                    transform transition-all duration-700 ease-out
80                    opacity-0 translate-y-8 motion-reduce:translate-y-0
81                    cursor-pointer
82                    ">Solve Complex Problems</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
83                                transform transition-all duration-300 ease-out font-semibold
84                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
85                                transform transition-all duration-700 delay-200 ease-out
86                                opacity-0 scale-x-0 motion-reduce:scale-x-100
87                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
88                            transform transition-all duration-700 delay-400 ease-out
89                            opacity-0 translate-y-8 motion-reduce:translate-y-0
90                            ">See RxInfer in action with real-world applications</p></div></div><div class="mt-16 flex flex-col gap-4"><div class="flex flex-col gap-6"><div class="flex flex-col gap-4 text-left"><h3 class="text-2xl font-bold bg-gradient-to-r from-green-600 to-blue-600 bg-clip-text text-transparent">Track Hidden States in Real-time</h3><p class="text-gray-600 leading-relaxed">Unveil real-time insights into dynamic systems with our software&#x27;s prowess in tracking hidden states. By providing continuous monitoring and analysis, our tool empowers you to gain a deeper understanding of complex processes, enabling informed decision-making and proactive responses.</p><div class="flex flex-wrap gap-2 justify-start"><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Dynamic Systems</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Real-time</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">State Tracking</span></div></div><div class="w-full rounded-xl overflow-hidden bg-black"><span class="relative min-h-[50px] h-full"><div class="absolute inset-0 bg-white border border-4 border-blue-500/20 rounded-lg transition-opacity duration-300 opacity-100"><div class="absolute inset-0 flex items-center justify-center"><div class="w-16 h-16 border-4 border-blue-500/20 border-t-blue-500/80 rounded-full animate-spin"></div></div></div>
90<video loop="" muted="" preload="none" playsInline="" style="object-fit:contain;display:block;width:100%;height:100%"><source src="/videos/nlds.webm" type="video/webm"/>Your browser does not support the video tag. Please try viewing this page in a modern browser.</video></span></div></div><div class="flex flex-col gap-6"><div class="flex flex-col gap-4 text-right"><h3 class="text-2xl font-bold bg-gradient-to-r from-green-600 to-blue-600 bg-clip-text text-transparent">Smart Navigation &amp; Collision Avoidance</h3><p class="text-gray-600 leading-relaxed">Stay in control, prevent collisions, and streamline routes effortlessly with RxInfer. Streamline your navigation experience and enhance safety.</p><div class="flex flex-wrap gap-2 justify-end"><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Navigation</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Safety</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Automation</span></div></div><div class="w-full rounded-xl overflow-hidden bg-black"><span class="relative min-h-[50px] h-full"><div class="absolute inset-0 bg-white border border-4 border-blue-500/20 rounded-lg transition-opacity duration-300 opacity-100"><div class="absolute inset-0 flex items-center justify-center"><div class="w-16 h-16 border-4 border-blue-500/20 border-t-blue-500/80 rounded-full animate-spin"></div></div></div><video loop="" muted="" preload="none" playsInline="" style="object-fit:contain;display:block;width:100%;height:100%"><source src="/videos/collision.webm" type="video/webm"/>Your browser does not support the video tag. Please try viewing this page in a modern browser.</video></span></div></div><div class="flex flex-col gap-6"><div class="flex flex-col gap-4 text-left"><h3 class="text-2xl font-bold bg-gradient-to-r from-green-600 to-blue-600 bg-clip-text text-transparent">Reactive Reasoning with Active Inference</h3><p class="text-gray-600 leading-relaxed">Enhance your decision-making process with the Active Inference framework. Designed to help you analyze incoming information in real-time, this tool enables you to make well-informed choices and adapt to changing situations effectively.</p><div class="flex flex-wrap gap-2 justify-start"><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Active Inference</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Decision Making</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Adaptive</span></div></div><div class="w-full rounded-xl overflow-hidden bg-black"><span class="relative min-h-[50px] h-full"><div class="absolute inset-0 bg-white border border-4 border-blue-500/20 rounded-lg transition-opacity duration-300 opacity-100"><div class="absolute inset-0 flex items-center justify-center"><div class="w-16 h-16 border-4 border-blue-500/20 border-t-blue-500/80 rounded-full animate-spin"></div></div></div><video loop="" muted="" preload="none" playsInline="" style="object-fit:contain;display:block;width:100%;height:100%"><source src="/videos/aif.webm" type="video/webm"/>Your browser does not support the video tag. Please try viewing this page in a modern browser.</video></span></div></div><div class="flex flex-col gap-6"><div class="flex flex-col gap-4 text-right"><h3 class="text-2xl font-bold bg-gradient-to-r from-green-600 to-blue-600 bg-clip-text text-transparent">Enhance Standard ML Techniques with Probabilistic Inference</h3><p class="text-gray-600 leading-relaxed">Explore how RxInfer extends standard ML techniques with probabilistic inference, providing a more robust and flexible approach to handling complex problems that require uncertainty estimation.</p><div class="flex flex-wrap gap-2 justify-end"><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Standard ML</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Probabilistic Inference</span><span class="px-3 py-1 bg-gradient-to-r from-green-50 to-blue-50 text-gray-700 border rounded-full text-sm font-medium">Complex Problems</span></div></div><div class="w-full rounded-xl overflow-hidden bg-black"><span class="relative min-h-[50px] h-full"><div class="absolute inset-0 bg-white border border-4 border-blue-500/20 rounded-lg transition-opacity duration-300 opacity-100"><div class="absolute inset-0 flex items-center justify-center"><div class="w-16 h-16 border-4 border-blue-500/20 border-t-blue-500/80 rounded-full animate-spin"></div></div></div>
90<video loop="" muted="" preload="none" playsInline="" style="object-fit:contain;display:block;width:100%;height:100%"><source src="/videos/posetracking.webm" type="video/webm"/>Your browser does not support the video tag. Please try viewing this page in a modern browser.</video></span></div></div></div><div class="flex flex-col gap-4 items-center mt-12"><p class="text-lg text-gray-600 leading-relaxed text-center mb-4">Discover more examples and see how RxInfer can help solve your inference problems.</p><a class="inline-flex items-center gap-2 px-6 py-3 text-lg font-semibold text-white bg-gradient-to-r from-blue-600 to-green-600 rounded-full transition-all duration-300 hover:shadow-lg hover:-translate-y-1" href="https://examples.rxinfer.com">Explore More Examples<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></section><section id="videos" class="w-full flex flex-col gap-16 py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
91                    transform transition-all duration-700 ease-out
92                    opacity-0 translate-y-8 motion-reduce:translate-y-0
93                    cursor-pointer
94                    ">Watch JuliaCon Talk</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
95                                transform transition-all duration-300 ease-out font-semibold
96                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
97                                transform transition-all duration-700 delay-200 ease-out
98                                opacity-0 scale-x-0 motion-reduce:scale-x-100
99                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
100                            transform transition-all duration-700 delay-400 ease-out
101                            opacity-0 translate-y-8 motion-reduce:translate-y-0
102                            ">Deep dive into RxInfer&#x27;s architecture and capabilities</p></div></div><div class="flex flex-col gap-6"><div class="flex flex-col gap-4"><p class="text-gray-600 text-center">Learn about the core concepts behind RxInfer, its implementation, and how it enables reactive probabilistic programming with message passing-based inference. This talk from JuliaCon 2023 covers the fundamental principles and demonstrates real-world applications.</p></div><div class="w-full max-w-4xl mx-auto"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-xl" src="https://www.youtube.com/embed/qXrvDVm_fnE" title="RxInfer: Reactive Message Passing Based Inference" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div></div></div><div class="flex flex-col gap-4"><h1 class="text-3xl font-bold text-center bg-gradient-to-r from-green-600 to-blue-600 bg-clip-text text-transparent">Community Videos</h1><p class="text-gray-600 text-center mb-8">Join our growing community and explore more videos from Julia developers. Share your own experiences and connect with fellow RxInfer users!</p><div class="grid grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-8"><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/KuluqEzFtm8" title="Fast Bayesian Inference with RxInfer.jl" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">Fast Bayesian Inference with RxInfer.jl</h3></div><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/_vVHWzK9NEI" title="Intro to RxInfer by Doggo.jl" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">Intro to RxInfer by Doggo.jl</h3></div><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/qnj0PKc734g" title="Variational inference with RxInfer" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">Variational inference with RxInfer</h3></div><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/PVeyvHSAwmk?start=5484" title="Active Inference Symposium" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">Active Inference Symposium</h3></div><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/w1EU-B5Gzoo" title="Bayesian Methods in Engineering Applications with RxInfer" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">Bayesian Methods in Engineering Applications with RxInfer</h3></div><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/Jf3QfHFgfFE" title="User-friendly Inference with RxInfer&#x27;s ProjectedTo Constraints" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">User-friendly Inference with RxInfer&#x27;s ProjectedTo Constraints</h3></div><div class="flex flex-col gap-3"><div class="relative w-full pb-[56.25%]"><iframe class="absolute top-0 left-0 w-full h-full rounded-lg" src="https://www.youtube.com/embed/s4hwHTJ9SMU" title="Keep Calm and Trust AI" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen=""></iframe></div><h3 class="text-lg font-semibold text-gray-800">Keep Calm and Trust AI</h3></div></div></div></section><section id="ecosystem" class="w-full py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
103                    transform transition-all duration-700 ease-out
104                    opacity-0 translate-y-8 motion-reduce:translate-y-0
105                    cursor-pointer
106                    ">Stable Ecosystem</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
107                                transform transition-all duration-300 ease-out font-semibold
108                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
109                                transform transition-all duration-700 delay-200 ease-out
110                                opacity-0 scale-x-0 motion-reduce:scale-x-100
111                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
112                            transform transition-all duration-700 delay-400 ease-out
113                            opacity-0 translate-y-8 motion-reduce:translate-y-0
114                            ">Unleash the power of Bayesian inference with our robust ecosystem of Julia packages</p></div></div><div class="mt-8 flex flex-col gap-12"><div class="text-center"><p class="text-gray-600 text-lg">If you like what we&#x27;re doing, consider giving us a star! ⭐️</p></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"><a target="_blank" class="flex flex-col h-full p-8 shadow-lg bg-white rounded-2xl border-2 border-gray-100 hover:border-blue-200 transition-all duration-300 hover:shadow-xl hover:-translate-y-1 group" href="https://github.com/reactivebayes/Rocket.jl"><div class="flex items-center gap-4 mb-6"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 transition-all duration-300 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket w-6 h-6 text-blue-600"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg></div><h3 class="text-xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent">Rocket.jl</h3></div><p class="text-gray-600 flex-grow leading-relaxed">Enables reactive programming in Julia for processing of asynchronous data streams.</p><div class="flex items-center gap-3 mt-8 w-full mx-auto justify-center border rounded-lg p-2 group-hover:bg-blue-50 transition-all duration-300"><span class="text-blue-600 font-semibold group-hover:text-blue-700 transition-colors">GitHub repository</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-5 h-5 text-blue-600 group-hover:text-blue-700 transition-all duration-300"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div></a><a target="_blank" class="flex flex-col h-full p-8 shadow-lg bg-white rounded-2xl border-2 border-gray-100 hover:border-blue-200 transition-all duration-300 hover:shadow-xl hover:-translate-y-1 group" href="https://github.com/reactivebayes/ReactiveMP.jl"><div class="flex items-center gap-4 mb-6"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 transition-all duration-300 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail w-6 h-6 text-blue-600"><rect width="20" height="16" x="2" y="4" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg></div><h3 class="text-xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent">ReactiveMP.jl</h3></div><p class="text-gray-600 flex-grow leading-relaxed">Efficient, easily extensible and schedule-free reactive message passing-based inference engine.</p><div class="flex items-center gap-3 mt-8 w-full mx-auto justify-center border rounded-lg p-2 group-hover:bg-blue-50 transition-all duration-300"><span class="text-blue-600 font-semibold group-hover:text-blue-700 transition-colors">GitHub repository</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-5 h-5 text-blue-600 group-hover:text-blue-700 transition-all duration-300"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div></a><a target="_blank" class="flex flex-col h-full p-8 shadow-lg bg-white rounded-2xl border-2 border-gray-100 hover:border-blue-200 transition-all duration-300 hover:shadow-xl hover:-translate-y-1 group" href="https://github.com/reactivebayes/GraphPPL.jl"><div class="flex items-center gap-4 mb-6"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 transition-all duration-300 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch w-6 h-6 text-blue-600">
114<line x1="6" x2="6" y1="3" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg></div><h3 class="text-xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent">GraphPPL.jl</h3></div><p class="text-gray-600 flex-grow leading-relaxed">Powerful, user-friendly, graph-based specification of both model and inference constraints.</p><div class="flex items-center gap-3 mt-8 w-full mx-auto justify-center border rounded-lg p-2 group-hover:bg-blue-50 transition-all duration-300"><span class="text-blue-600 font-semibold group-hover:text-blue-700 transition-colors">GitHub repository</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-5 h-5 text-blue-600 group-hover:text-blue-700 transition-all duration-300"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div></a><a target="_blank" class="flex flex-col h-full p-8 shadow-lg bg-white rounded-2xl border-2 border-gray-100 hover:border-blue-200 transition-all duration-300 hover:shadow-xl hover:-translate-y-1 group" href="https://github.com/reactivebayes/ExponentialFamily.jl"><div class="flex items-center gap-4 mb-6"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 transition-all duration-300 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database w-6 h-6 text-blue-600"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg></div><h3 class="text-xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent">ExponentialFamily.jl</h3></div><p class="text-gray-600 flex-grow leading-relaxed">A package that implements the rich family of probability distributions.</p><div class="flex items-center gap-3 mt-8 w-full mx-auto justify-center border rounded-lg p-2 group-hover:bg-blue-50 transition-all duration-300"><span class="text-blue-600 font-semibold group-hover:text-blue-700 transition-colors">GitHub repository</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-5 h-5 text-blue-600 group-hover:text-blue-700 transition-all duration-300"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div></a><a target="_blank" class="flex flex-col h-full p-8 shadow-lg bg-white rounded-2xl border-2 border-gray-100 hover:border-blue-200 transition-all duration-300 hover:shadow-xl hover:-translate-y-1 group" href="https://github.com/reactivebayes/BayesBase.jl"><div class="flex items-center gap-4 mb-6"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 transition-all duration-300 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-box w-6 h-6 text-blue-600"><path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"></path><path d="m3.3 7 8.7 5 8.7-5"></path><path d="M12 22V12"></path></svg></div><h3 class="text-xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent">BayesBase.jl</h3></div><p class="text-gray-600 flex-grow leading-relaxed">A package that serves as an umbrella, defining methods essential for Bayesian statistics.</p><div class="flex items-center gap-3 mt-8 w-full mx-auto justify-center border rounded-lg p-2 group-hover:bg-blue-50 transition-all duration-300"><span class="text-blue-600 font-semibold group-hover:text-blue-700 transition-colors">GitHub repository</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-5 h-5 text-blue-600 group-hover:text-blue-700 transition-all duration-300"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div></a><div class="flex flex-col h-full p-8 rounded-2xl border border-gray-100 hover:border-blue-200 transition-all duration-300 hover:shadow-xl hover:-translate-y-1 group text-center bg-white cursor-pointer"><div class="flex items-center gap-4 mb-6"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 transition-all duration-300 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-package w-6 h-6 text-blue-600"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"></path><path d="M12 22V12"></path><polyline points="3.29 7 12 12 20.71 7"></polyline><path d="m7.5 4.27 9 5.15"></path></svg></div><h3 class="text-xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent">Julia Ecosystem</h3></div><p class="text-gray-600 flex-grow leading-relaxed">RxInfer is built upon the incredible Julia ecosystem - its powerful packages for statistics and scientific computing make RxInfer possible.</p><a target="_blank" class="flex items-center gap-3 mt-8 w-full mx-auto justify-center border rounded-lg p-2 group-hover:bg-blue-50 transition-all duration-300" href="https://julialang.org/packages/"><span class="text-blue-600 font-semibold group-hover:text-blue-700 transition-colors">Explore Julia Packages</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 text-blue-600 group-hover:text-blue-700 transition-all duration-300"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></div></section><section id="supporters" class="w-full py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
115                    transform transition-all duration-700 ease-out
116                    opacity-0 translate-y-8 motion-reduce:translate-y-0
117                    cursor-pointer
118                    ">Thanks to Our Supporters</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
119                                transform transition-all duration-300 ease-out font-semibold
120                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
121                                transform transition-all duration-700 delay-200 ease-out
122                                opacity-0 scale-x-0 motion-reduce:scale-x-100
123                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
124                            transform transition-all duration-700 delay-400 ease-out
125                            opacity-0 translate-y-8 motion-reduce:translate-y-0
126                            ">We&#x27;re grateful to these amazing organizations for their continued support and contributions</p></div></div><div class="mt-16 flex flex-col items-center"><a class="p-6 transition-all duration-300 group flex flex-col items-center w-full h-full gap-4 hover:-translate-y-1" target="_blank" href="https://numfocus.org/"><div class="relative w-full min-h-40"><img alt="NumFOCUS" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/numfocus.png"/></div></a></div><div class="grid md:grid-cols-6 grid-cols-2 gap-6 pt-16"><a class="p-6 transition-all duration-300 group flex flex-col items-center gap-4 hover:-translate-y-1" target="_blank" href="https://www.tue.nl/en/"><div class="relative w-20 h-20"><img alt="Eindhoven University of Technology" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://rxinfer.com/_next/static/media/TUe-logo-scarlet-S.49d22ac5.png"/></div><span class="text-sm font-medium text-center text-gray-700 group-hover:text-blue-600 transition-colors">Eindhoven University of Technology</span></a><a class="p-6 transition-all duration-300 group flex flex-col items-center gap-4 hover:-translate-y-1" target="_blank" href="https://www.nwo.nl/en"><div class="relative w-20 h-20"><img alt="NWO" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://rxinfer.com/_next/static/media/NWO.f3161c76.png"/></div><span class="text-sm font-medium text-center text-gray-700 group-hover:text-blue-600 transition-colors">NWO</span></a><a class="p-6 transition-all duration-300 group flex flex-col items-center gap-4 hover:-translate-y-1" target="_blank" href="https://www.resound.com/nl-nl/"><div class="relative w-20 h-20"><img alt="GN Hearing" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://rxinfer.com/_next/static/media/gn.158bad3d.png"/></div><span class="text-sm font-medium text-center text-gray-700 group-hover:text-blue-600 transition-colors">GN Hearing</span></a><a class="p-6 transition-all duration-300 group flex flex-col items-center gap-4 hover:-translate-y-1" target="_blank" href="https://lazydynamics.com/"><div class="relative w-20 h-20"><img alt="Lazy Dynamics" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://rxinfer.com/_next/static/media/lazydynamics_logo.43f4a05d.png"/></div><span class="text-sm font-medium text-center text-gray-700 group-hover:text-blue-600 transition-colors">Lazy Dynamics</span></a><a class="p-6 transition-all duration-300 group flex flex-col items-center gap-4 hover:-translate-y-1" target="_blank" href="https://www.activeinference.org/"><div class="relative w-20 h-20"><img alt="Active Inference Institute" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://rxinfer.com/_next/static/media/actinf.b6f01536.png"/></div><span class="text-sm font-medium text-center text-gray-700 group-hover:text-blue-600 transition-colors">
126Active Inference Institute</span></a><a class="p-6 transition-all duration-300 group flex flex-col items-center gap-4 hover:-translate-y-1" target="_blank" href="https://biaslab.github.io/"><div class="relative w-20 h-20"><img alt="BIASlab" loading="lazy" decoding="async" data-nimg="fill" class="object-contain filter group-hover:brightness-110 transition-all" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://rxinfer.com/_next/static/media/biaslab.111908df.png"/></div><span class="text-sm font-medium text-center text-gray-700 group-hover:text-blue-600 transition-colors">BIASlab</span></a></div></section><section id="citations" class="w-full py-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
127                    transform transition-all duration-700 ease-out
128                    opacity-0 translate-y-8 motion-reduce:translate-y-0
129                    cursor-pointer
130                    ">Citing RxInfer</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
131                                transform transition-all duration-300 ease-out font-semibold
132                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
133                                transform transition-all duration-700 delay-200 ease-out
134                                opacity-0 scale-x-0 motion-reduce:scale-x-100
135                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
136                            transform transition-all duration-700 delay-400 ease-out
137                            opacity-0 translate-y-8 motion-reduce:translate-y-0
138                            ">RxInfer.jl is an MIT Licensed Open Source Project. If you use RxInfer.jl in your research, please consider citing our papers.</p></div></div><div class="mt-16 grid grid-cols-1 md:grid-cols-2 gap-6"><div class="flex flex-col gap-4 p-6 rounded-2xl border-2 border-gray-100 bg-white hover:border-blue-200 hover:shadow-lg transition-all duration-300"><div class="flex items-start gap-4"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 shadow-sm shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open w-6 h-6 text-blue-600"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><div class="flex flex-col gap-1"><h3 class="text-lg font-bold text-gray-800 leading-snug">RxInfer: A Julia package for reactive real-time Bayesian inference</h3><p class="text-gray-600 text-sm">Bagaev, Dmitry and Podusenko, Albert and de Vries, Bert<!-- --> (<!-- -->2023<!-- -->). <span class="italic">Journal of Open Source Software, 8(84), 5161</span>.</p></div></div><div class="flex items-center gap-3 mt-auto"><a target="_blank" class="flex items-center gap-2 px-3 py-2 rounded-lg border text-sm text-blue-600 font-semibold hover:bg-blue-50 transition-colors" href="https://doi.org/10.21105/joss.05161"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link w-4 h-4"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>View publication</a><button class="flex items-center gap-2 px-3 py-2 rounded-lg border text-sm text-gray-700 font-semibold hover:bg-gray-50 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy w-4 h-4"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy BibTeX</button></div></div><div class="flex flex-col gap-4 p-6 rounded-2xl border-2 border-gray-100 bg-white hover:border-blue-200 hover:shadow-lg transition-all duration-300"><div class="flex items-start gap-4"><div class="p-3 rounded-xl bg-gradient-to-r from-green-50 to-blue-50 shadow-sm shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open w-6 h-6 text-blue-600"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><div class="flex flex-col gap-1"><h3 class="text-lg font-bold text-gray-800 leading-snug">Reactive Probabilistic Programming for Scalable Bayesian Inference</h3><p class="text-gray-600 text-sm">Bagaev, Dmitry<!-- --> (<!-- -->2023<!-- -->
138). <span class="italic">PhD thesis, Eindhoven University of Technology</span>.</p></div></div><div class="flex items-center gap-3 mt-auto"><a target="_blank" class="flex items-center gap-2 px-3 py-2 rounded-lg border text-sm text-blue-600 font-semibold hover:bg-blue-50 transition-colors" href="https://research.tue.nl/en/publications/reactive-probabilistic-programming-for-scalable-bayesian-inferenc"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link w-4 h-4"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>View publication</a><button class="flex items-center gap-2 px-3 py-2 rounded-lg border text-sm text-gray-700 font-semibold hover:bg-gray-50 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy w-4 h-4"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy BibTeX</button></div></div></div></section><section id="stay-in-touch" class="w-full gap-12 pt-20"><div class="flex flex-col gap-4 w-full text-center items-center"><h2 class="text-5xl font-bold bg-gradient-to-r from-green-600 to-blue-500 bg-clip-text text-transparent
139                    transform transition-all duration-700 ease-out
140                    opacity-0 translate-y-8 motion-reduce:translate-y-0
141                    cursor-pointer
142                    ">Let&#x27;s stay in touch!</h2><div class="flex flex-col gap-2 relative items-center"><div class="relative"><div class="absolute -top-4 left-1/2 -translate-x-1/2 w-full bg-white/80 z-10 text-green-700 px-3 py-1 rounded-md
143                                transform transition-all duration-300 ease-out font-semibold
144                                opacity-0 translate-y-2">Copied to your clipboard!</div><div class="h-0.5 w-64 lg:w-96 bg-gradient-to-r from-green-600 to-blue-500 rounded-full
145                                transform transition-all duration-700 delay-200 ease-out
146                                opacity-0 scale-x-0 motion-reduce:scale-x-100
147                                "></div></div><p class="text-2xl text-gray-500 leading-snug max-w-2xl
148                            transform transition-all duration-700 delay-400 ease-out
149                            opacity-0 translate-y-8 motion-reduce:translate-y-0
150                            ">Here are some of the ways you can follow us:</p></div></div><div class="flex flex-col gap-4 max-w-6xl mx-auto pt-8"><div class="flex flex-col gap-4"><div class="grid grid-cols-3 lg:grid-cols-6 gap-8 justify-center"><a class="flex flex-col items-center gap-2 group" target="_blank" aria-label="YouTube" href="https://youtube.com/channel/UCd1ftkOXIQ8MstIHosEDdaw"><div class="p-6 rounded-xl bg-gray-50 text-gray-600 hover:bg-blue-50 hover:text-blue-600 hover:scale-110 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-youtube w-12 h-12 stroke-1 group-hover:animate-pulse"><path d="M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"></path><path d="m10 15 5-3-5-3z"></path></svg></div><span class="text-lg font-medium text-gray-600 group-hover:text-blue-600 transition-colors">YouTube</span></a><a class="flex flex-col items-center gap-2 group" target="_blank" aria-label="RxInfer GitHub" href="https://github.com/reactivebayes/rxinfer.jl"><div class="p-6 rounded-xl bg-gray-50 text-gray-600 hover:bg-blue-50 hover:text-blue-600 hover:scale-110 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github w-12 h-12 stroke-1 group-hover:animate-pulse"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></div><span class="text-lg font-medium text-gray-600 group-hover:text-blue-600 transition-colors">GitHub</span></a><a class="flex flex-col items-center gap-2 group" target="_blank" aria-label="ReactiveBayes GitHub" href="https://github.com/ReactiveBayes"><div class="p-6 rounded-xl bg-gray-50 text-gray-600 hover:bg-blue-50 hover:text-blue-600 hover:scale-110 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch w-12 h-12 stroke-1 group-hover:animate-pulse"><line x1="6" x2="6" y1="3" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg></div><span class="text-lg font-medium text-gray-600 group-hover:text-blue-600 transition-colors">ReactiveBayes</span></a><a class="flex flex-col items-center gap-2 group" target="_blank" aria-label="RxInfer Discussions" href="https://github.com/reactivebayes/rxinfer.jl/discussions"><div class="p-6 rounded-xl bg-gray-50 text-gray-600 hover:bg-blue-50 hover:text-blue-600 hover:scale-110 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-12 h-12 stroke-1 group-hover:animate-pulse"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><span class="text-lg font-medium text-gray-600 group-hover:text-blue-600 transition-colors">Discussions</span></a><a class="flex flex-col items-center gap-2 group" target="_blank" aria-label="RxInfer Issues" href="https://github.com/reactivebayes/rxinfer.jl/issues"><div class="p-6 rounded-xl bg-gray-50 text-gray-600 hover:bg-blue-50 hover:text-blue-600 hover:scale-110 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug w-12 h-12 stroke-1 group-hover:animate-pulse"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg></div><span class="text-lg font-medium text-gray-600 group-hover:text-blue-600 transition-colors">Issues</span></a><a class="flex flex-col items-center gap-2 group" target="_blank" aria-label="Twitter / X" href="https://x.com/reactivebayes"><div class="p-6 rounded-xl bg-gray-50 text-gray-600 hover:bg-blue-50 hover:text-blue-600 hover:scale-110 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-twitter w-12 h-12 stroke-1 group-hover:animate-pulse"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"></path></svg></div><span class="text-lg font-medium text-gray-600 group-hover:text-blue-600 transition-colors">Twitter / X</span></a></div></div></div></section></div></main><div class="pt-4 mb-4 text-center text-sm text-gray-600"><p>© BIASlab, 2022-2024, ReactiveBayes 2024-present</p></div>
150<script src="https://rxinfer.com/_next/static/chunks/webpack-64364ad22f06bb81.js" async=""></script>
150<script>(self.__next_f=self.__next_f||[]).push([0])</script>
150<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[65569,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"177\",\"static/chunks/app/layout-92aa36550cd7c72e.js\"],\"default\"]\n3:I[7460,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"177\",\"static/chunks/app/layout-92aa36550cd7c72e.js\"],\"NavBar\"]\n4:I[18799,[],\"\"]\n5:I[2291,[],\"\"]\n6:I[33229,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\n7:I[52675,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\n8:I[72630,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"\"]\n9:I[54694,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\na:I[33316,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\nb:I[11922,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\nc:I[45971,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\nd:I[46493,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\ne:I[63134,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\nf:I[14674,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\n10:I[56272,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496"])</script>
150<script>self.__next_f.push([1,".js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\n11:I[62,[\"779\",\"static/chunks/779-4947586497e9cad5.js\",\"458\",\"static/chunks/458-d2e7ab92829aa496.js\",\"974\",\"static/chunks/app/page-fbbd9cab52a8a71c.js\"],\"default\"]\n12:I[65164,[],\"OutletBoundary\"]\n14:I[65164,[],\"MetadataBoundary\"]\n16:I[65164,[],\"ViewportBoundary\"]\n18:I[98058,[],\"\"]\n:HL[\"https://rxinfer.com/_next/static/media/4de1fea1a954a5b6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"https://rxinfer.com/_next/static/media/6d664cce900333ee-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"https://rxinfer.com/_next/static/css/b3c645ed34de1910.css\",\"style\"]\n"])</script>
150<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"kSlAjai-B9H-zXy-hNMcI\",\"p\":\"https://rxinfer.com\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://rxinfer.com/_next/static/css/b3c645ed34de1910.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"body\",null,{\"className\":\"__variable_70bbab bg-white antialiased\",\"style\":{\"color\":\"#343a40\"},\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"pt-24 mb-24\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[],[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"div\",null,{\"className\":\"pt-4 mb-4 text-center text-sm text-gray-600\",\"children\":[\"$\",\"p\",null,{\"children\":\"© BIASlab, 2022-2024, ReactiveBayes 2024-present\"}]}]]}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center max-w-6xl mx-auto px-8\",\"children\":[[\"$\",\"section\",null,{\"id\":\"what-is-rxinfer\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xl text-center text-gray-700 leading-relaxed mt-8 mb-16\",\"children\":\"Welcome to RxInfer.jl - a powerful Julia package for fast and flexible Bayesian inference. By combining message passing algorithms with model's graph structure, RxInfer makes probabilistic programming both efficient and accessible. Whether you're working on machine learning, signal processing, or complex statistical models, RxInfer provides the tools you need to solve real-world inference problems.\"}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-2 gap-8\",\"children\":[[\"$\",\"$L8\",null,{\"href\":\"https://docs.rxinfer.com\",\"className\":\"flex flex-col border border-2 border-blue-200 items-center p-6 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 bg-gradient-to-br from-blue-50 to-indigo-100 relative before:absolute before:inset-0 before:p-[2px] before:bg-gradient-to-r before:from-blue-500 before:to-indigo-600 before:rounded-lg before:-z-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"p-4 rounded-full bg-gradient-to-br from-blue-600 to-indigo-300 mb-4\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-book-open w-12 h-12 text-white\",\"children\":[[\"$\",\"path\",\"1akyts\",{\"d\":\"M12 7v14\"}],[\"$\",\"path\",\"ruj8y\",{\"d\":\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-semibold mb-2 bg-gradient-to-r from-blue-600 to-indigo-600 bg-clip-text text-transparent\",\"children\":\"Documentation\"}],[\"$\",\"p\",null,{\"className\":\"text-gray-600 text-center\",\"children\":\"Learn how to use RxInfer with our comprehensive guides and API reference\"}]]}],[\"$\",\"$L8\",null,{\"href\":\"https://examples.rxinfer.com\",\"className\":\"flex flex-col border border-2 border-green-200 items-center p-6 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 bg-gradient-to-br from-green-50 to-emerald-100 relative before:absolute before:inset-0 before:p-[2px] before:bg-gradient-to-r before:from-green-500 before:to-emerald-600 before:rounded-lg before:-z-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"p-4 rounded-full bg-gradient-to-br from-green-600 to-emerald-300 mb-4\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
150:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-code-xml w-12 h-12 text-white\",\"children\":[[\"$\",\"path\",\"1inbqp\",{\"d\":\"m18 16 4-4-4-4\"}],[\"$\",\"path\",\"15zrgr\",{\"d\":\"m6 8-4 4 4 4\"}],[\"$\",\"path\",\"e7oirm\",{\"d\":\"m14.5 4-5 16\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-semibold mb-2 bg-gradient-to-r from-green-600 to-emerald-600 bg-clip-text text-transparent\",\"children\":\"Examples\"}],[\"$\",\"p\",null,{\"className\":\"text-gray-600 text-center\",\"children\":\"Explore practical examples and tutorials to get started quickly\"}]]}]]}]]}],[\"$\",\"$L9\",null,{}],[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{}],[\"$\",\"$Lc\",null,{}],[\"$\",\"$Ld\",null,{}],[\"$\",\"$Le\",null,{}],[\"$\",\"$Lf\",null,{}],[\"$\",\"$L10\",null,{}],[\"$\",\"$L11\",null,{}]]}]],null,[\"$\",\"$L12\",null,{\"children\":\"$L13\"}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"w1eqGmzKfRL98CQOdJmS8\",{\"children\":[[\"$\",\"$L14\",null,{\"children\":\"$L15\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$18\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script>
150<script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n15:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"1\",{\"children\":\"RxInfer.jl - Fast and Flexible Bayesian Inference\"}],[\"$\",\"meta\",\"2\",{\"name\":\"description\",\"content\":\"RxInfer.jl is a Julia package for fast and flexible Bayesian inference, combining message passing and automatic differentiation for efficient probabilistic programming.\"}],[\"$\",\"meta\",\"3\",{\"name\":\"google-site-verification\",\"content\":\"googlebd9cfe2856e26e83\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"RxInfer.jl - Fast and Flexible Bayesian Inference\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"RxInfer.jl is a Julia package for fast and flexible Bayesian inference, combining message passing and automatic differentiation for efficient probabilistic programming.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:title\",\"content\":\"RxInfer.jl - Fast and Flexible Bayesian Inference\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:description\",\"content\":\"RxInfer.jl is a Julia package for fast and flexible Bayesian inference, combining message passing and automatic differentiation for efficient probabilistic programming.\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"link\",\"11\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"/favicon-96x96.png\",\"sizes\":\"96x96\",\"type\":\"image/png\"}],[\"$\",\"link\",\"13\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"link\",\"14\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\"}]]\n"])</script>
150<script>self.__next_f.push([1,"13:null\n"])</script>
150</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.