{"version":1,"pages":[{"id":"rrtWTPoS9CPYZYShvG2q","title":"What is Concrete?","pathname":"/concrete/1.0-1","siteSpaceId":"sitesp_mOtrB","description":""},{"id":"gx4hqz6Sm2TmLbuwdnsW","title":"Installation","pathname":"/concrete/1.0-1/getting-started/installing","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"IJy0LYAsuTYfIJfnmYk8","title":"Quick Start","pathname":"/concrete/1.0-1/getting-started/quick_start","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"RA9kqS0WtufVvhXeh2ca","title":"Compatibility","pathname":"/concrete/1.0-1/getting-started/compatibility","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"S9VJ7dGBAmLTDgMQqJbf","title":"Exactness","pathname":"/concrete/1.0-1/getting-started/exactness","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"hWDkOF9yUUXZhPpP7PEp","title":"Performance","pathname":"/concrete/1.0-1/getting-started/performance","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"I5OvN4fFgJCbaBYyIxeg","title":"Decorator","pathname":"/concrete/1.0-1/tutorials/decorator","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"0z5Scwimm8JybfB421Ko","title":"Formatting","pathname":"/concrete/1.0-1/tutorials/formatting","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"1FoC7QThcMQriqULfNqA","title":"Tagging","pathname":"/concrete/1.0-1/tutorials/tagging","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"jUp8840jkhZftGaWeZrO","title":"Extensions","pathname":"/concrete/1.0-1/tutorials/extensions","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Y9ZtYoUTIz5fktQHCitY","title":"Table Lookups","pathname":"/concrete/1.0-1/tutorials/table_lookups","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"2yljRLNjrV2zTqtKIR3r","title":"Rounded Table Lookups","pathname":"/concrete/1.0-1/tutorials/rounded_table_lookups","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"5TLpdTxJHUANQNVlkGoA","title":"Floating Points","pathname":"/concrete/1.0-1/tutorials/floating_points","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Oy8wUgS7P7aljgrqAtFw","title":"Simulation","pathname":"/concrete/1.0-1/tutorials/simulation","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"ifMtXqpE6LlmmiBoOFTW","title":"Direct Circuits","pathname":"/concrete/1.0-1/tutorials/direct_circuits","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"jh4g2fcU525oNH6zv8pj","title":"Key Value Database","pathname":"/concrete/1.0-1/tutorials/key_value_database","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"KpQf59EnAZrunT96Aa34","title":"Configure","pathname":"/concrete/1.0-1/how-to/configure","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"lJ7gB8Bpzj3Kh4WugsVm","title":"Manage Keys","pathname":"/concrete/1.0-1/how-to/manage_keys","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"97RVwXTPkdOaC9unGEWj","title":"Deploy","pathname":"/concrete/1.0-1/how-to/deploy","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"OCQopeq8hEfMGp7n21yJ","title":"Debug","pathname":"/concrete/1.0-1/how-to/debug","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"3UEohtLpXzKQJ2vECFNR","title":"Contribute","pathname":"/concrete/1.0-1/developer/contributing","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"1cZzYKvXf2bmzfvkt5TC","title":"Terminology and Structure","pathname":"/concrete/1.0-1/developer/terminology_and_structure","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"NkOxuXAubYYgDE0JukIL","title":"Compilation","pathname":"/concrete/1.0-1/developer/compilation","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"iyC6v7Hm4XVReN031LTs","title":"Fusing","pathname":"/concrete/1.0-1/developer/fusing","siteSpaceId":"sitesp_mOtrB","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"HoTJjVfZa92YPIbkCYHD","title":"What is Concrete?","pathname":"/concrete/2.0","siteSpaceId":"sitesp_kMX4J","description":""},{"id":"WgxjP9fL3fLI7x4fiNDL","title":"Basics of FHE programs","pathname":"/concrete/2.0/getting-started/fhe_basics","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"9a5ZsbZB5J0rtgmMNGOq","title":"Installation","pathname":"/concrete/2.0/getting-started/installing","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"WcKX0WHJJpBcOKsH3OKD","title":"Quick Start","pathname":"/concrete/2.0/getting-started/quick_start","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"rgOqFcJ6YgtxnceFgw6O","title":"Compatibility","pathname":"/concrete/2.0/getting-started/compatibility","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"cF02oTJoB8wOyYJ0um5q","title":"Exactness","pathname":"/concrete/2.0/getting-started/exactness","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"fHGU929EvO8gBRHJQpxP","title":"Performance","pathname":"/concrete/2.0/getting-started/performance","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"ZBXfdxJSdLWcJ8AdeF9B","title":"Terminology and Structure","pathname":"/concrete/2.0/getting-started/terminology_and_structure","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"V23oeZhaX17dPxApfIqM","title":"Decorator","pathname":"/concrete/2.0/tutorials/decorator","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"fXKVnRpfFQFGGAXTTOiS","title":"Progressbar","pathname":"/concrete/2.0/tutorials/progressbar","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"8rCWYsvNRXjmJdA2Bhe2","title":"Formatting","pathname":"/concrete/2.0/tutorials/formatting","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"jWwH3WHqoqIHwVsGxEAZ","title":"Tagging","pathname":"/concrete/2.0/tutorials/tagging","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Eh0vFjQJFB30CPuFnvRZ","title":"Extensions","pathname":"/concrete/2.0/tutorials/extensions","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"B00vxvYdRSo5Iqn3ybeM","title":"Table Lookups","pathname":"/concrete/2.0/tutorials/table_lookups","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"vuVw9Rj7MNPuwTvefhDR","title":"Rounding","pathname":"/concrete/2.0/tutorials/rounding","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"kWhs4eiIrFqxXNmuo94r","title":"Floating Points","pathname":"/concrete/2.0/tutorials/floating_points","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"pVrLFfRaVsXsooX2iYaG","title":"Multi Precision","pathname":"/concrete/2.0/tutorials/multi_precision","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"jnIL0p0XD8sY5DJWZX8k","title":"Multi Parameters","pathname":"/concrete/2.0/tutorials/multi_parameters","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"0VPLfPOw76WcReBQkGq5","title":"Simulation","pathname":"/concrete/2.0/tutorials/simulation","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"gYhAIDWJkcItRLcec0VK","title":"Direct Circuits","pathname":"/concrete/2.0/tutorials/direct_circuits","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"QuwTJwMDg1FVGiPFVAaJ","title":"Key Value Database","pathname":"/concrete/2.0/application-tutorials/key_value_database","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"g8RkdUdbm2bepjCNvWVR","title":"SHA-256","pathname":"/concrete/2.0/application-tutorials/sha256","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"snLKupU4u3ER9cNIKBcg","title":"Configure","pathname":"/concrete/2.0/how-to/configure","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"14DHxr6S027l0TbkvKfr","title":"Manage Keys","pathname":"/concrete/2.0/how-to/manage_keys","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"1KHVAX0zvgVvjGDj3gou","title":"Deploy","pathname":"/concrete/2.0/how-to/deploy","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"V6kSjV8HocjdnTClvdKG","title":"Reuse Arguments","pathname":"/concrete/2.0/how-to/reuse_arguments","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"pCYnOzyBAaWYZrEhB6vh","title":"Debug","pathname":"/concrete/2.0/how-to/debug","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"9viPJN4kBxtseXQO02GD","title":"Call FHE circuits from other languages","pathname":"/concrete/2.0/how-to/call_from_other_language","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"1zMXb7HXALCHqly3siTJ","title":"Frontend fusing","pathname":"/concrete/2.0/explanations/fusing","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"krhlgCXnUwRj4Z9jeEVV","title":"Compilation","pathname":"/concrete/2.0/explanations/compilation","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"gwjNiwKIyjOU8QHym9Mm","title":"Automatic Crypto Parameters choice","pathname":"/concrete/2.0/explanations/compilation/optimizer","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"yW7ULTGj5pobYTFhAvI0","title":"MLIR FHE Dialects","pathname":"/concrete/2.0/explanations/compilation/dialects","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"0GBXZaWUKmukclLlEa0V","title":"FHELinalg Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/fhelinalgdialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"dp26qbcamtF2fIT5RwMQ","title":"FHE Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/fhedialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"Rq4B9tyic5vwahu30SZq","title":"TFHE Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/tfhedialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"SgqRhs0HAzTa4EXp1ULV","title":"Concrete Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/concretedialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"pwS8ikwKuwKSRj02sYEk","title":"Tracing Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/tracingdialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"xrPDzk6MeW8ZfFhooqIi","title":"Runtime Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/rtdialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"HYSMEq7EdwmjeIPQq94s","title":"SDFG Dialect","pathname":"/concrete/2.0/explanations/compilation/dialects/sdfgdialect","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"ooFAOTVcY7M4ABukA3cb","title":"Security curves","pathname":"/concrete/2.0/explanations/security_curves","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"hhPEdKo00Yca5BMzco6i","title":"Contribute","pathname":"/concrete/2.0/developer/contributing","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"Zh2hpMkB0l8zLEcelg8T","title":"Project layout","pathname":"/concrete/2.0/developer/layout","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"WMnCwJLUfvtUExC2dcLy","title":"Compiler backend","pathname":"/concrete/2.0/developer/backends","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"ydjluEg8gqRJa0RdGbme","title":"Adding a new backend","pathname":"/concrete/2.0/developer/backends/new_backend","siteSpaceId":"sitesp_kMX4J","description":"","breadcrumbs":[{"label":"Developer"},{"label":"Compiler backend"}]},{"id":"GIujqLs8UYBxiYlncVVx","title":"What is Concrete?","pathname":"/concrete/2.1","siteSpaceId":"sitesp_Iy53V","description":""},{"id":"e6yMnGR7gNmIKubCVQeV","title":"Basics of FHE programs","pathname":"/concrete/2.1/getting-started/fhe_basics","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"HosYyqtfzcN46CKE5ZLI","title":"Installation","pathname":"/concrete/2.1/getting-started/installing","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Zjb8BqxWuZAYrV89NZ4l","title":"Quick Start","pathname":"/concrete/2.1/getting-started/quick_start","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"xF4tDz6yMSEJZejo3zim","title":"Compatibility","pathname":"/concrete/2.1/getting-started/compatibility","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"ZwDe6sXDFFTOEpYMmivp","title":"Exactness","pathname":"/concrete/2.1/getting-started/exactness","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"twMqE2x0iSYXTZFrYOgq","title":"Performance","pathname":"/concrete/2.1/getting-started/performance","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Tyn2fTdPacdiuzHuHE49","title":"Terminology and Structure","pathname":"/concrete/2.1/getting-started/terminology_and_structure","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"o407Gg7IfkMLpelPNcuT","title":"Decorator","pathname":"/concrete/2.1/tutorials/decorator","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"F5zoOnfrbMU9fe59fleh","title":"Progressbar","pathname":"/concrete/2.1/tutorials/progressbar","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"k17t6y8p5NgqbECmjlAA","title":"Formatting","pathname":"/concrete/2.1/tutorials/formatting","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"AxhfI1oVxjDfWErNj7JK","title":"Tagging","pathname":"/concrete/2.1/tutorials/tagging","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"VG11I5McEX0KjuxTe87b","title":"Extensions","pathname":"/concrete/2.1/tutorials/extensions","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"ZlQGoOrzGT4Am1Xj2VdH","title":"Table Lookups","pathname":"/concrete/2.1/tutorials/table_lookups","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"OJsunjCSZXNQUj3eInMB","title":"Rounding","pathname":"/concrete/2.1/tutorials/rounding","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"z2I9a47VAUKziZvoGLfx","title":"Floating Points","pathname":"/concrete/2.1/tutorials/floating_points","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"XWvZIxlQdXqWCkcE3zcw","title":"Multi Precision","pathname":"/concrete/2.1/tutorials/multi_precision","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"d6KujLdpGgWtQ8yzGh5D","title":"Multi Parameters","pathname":"/concrete/2.1/tutorials/multi_parameters","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"EQ6TKuHYdDCuk1O6dmhi","title":"Simulation","pathname":"/concrete/2.1/tutorials/simulation","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"4EExYt5uUdWmExo6yoQ8","title":"Direct Circuits","pathname":"/concrete/2.1/tutorials/direct_circuits","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Z5NW6DwTGTQWeCRIaBYq","title":"Key Value Database","pathname":"/concrete/2.1/application-tutorials/key_value_database","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"Us9uMzaJQoN1XIdqYadq","title":"SHA-256","pathname":"/concrete/2.1/application-tutorials/sha256","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"aWWEjLIc9mzLXA1Sl19c","title":"Configure","pathname":"/concrete/2.1/how-to/configure","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"ClAW3uQIBHYwcrSx6a7m","title":"Manage Keys","pathname":"/concrete/2.1/how-to/manage_keys","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"Z0pdUQAYGYcCRp1chBAS","title":"Deploy","pathname":"/concrete/2.1/how-to/deploy","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"aLPL5qMcPN2hMwxUfxkQ","title":"Reuse Arguments","pathname":"/concrete/2.1/how-to/reuse_arguments","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"AzsitpMAUde8en0afX2q","title":"Debug","pathname":"/concrete/2.1/how-to/debug","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"H60xJtLUg5qigGayOf1V","title":"Call FHE circuits from other languages","pathname":"/concrete/2.1/how-to/call_from_other_language","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"Rpbaw0CXBPJnbkyADnH1","title":"Frontend fusing","pathname":"/concrete/2.1/explanations/fusing","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"HEzIpv33MMbd5wdfgtF4","title":"Compilation","pathname":"/concrete/2.1/explanations/compilation","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"JiupFIyfhWC8FWyrMKLV","title":"Automatic Crypto Parameters choice","pathname":"/concrete/2.1/explanations/compilation/optimizer","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"gQ6NL9Ua0snhWmHkl952","title":"MLIR FHE Dialects","pathname":"/concrete/2.1/explanations/compilation/dialects","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"78UaXRZoNboNRPMsANIp","title":"FHELinalg Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/fhelinalgdialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"djcWnrbdxvPgpiHFxCy5","title":"FHE Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/fhedialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"lSNtU1HyF79AdKDiegvB","title":"TFHE Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/tfhedialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"1MpzPugSKWkFVjIMJMc8","title":"Concrete Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/concretedialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"1AUMsiINRKn7NcFrpP1s","title":"Tracing Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/tracingdialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"sJcQDpyyIr1RMcufGw3r","title":"Runtime Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/rtdialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"b1s49ydHeZc5thxQu8ec","title":"SDFG Dialect","pathname":"/concrete/2.1/explanations/compilation/dialects/sdfgdialect","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"x6jT4i5VeVElSxaSukjI","title":"Security curves","pathname":"/concrete/2.1/explanations/security_curves","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"fJROTH4M3Z7YfwXKUc4U","title":"Contribute","pathname":"/concrete/2.1/developer/contributing","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"7rV6H41Uj9u2XHcFyUsm","title":"Project layout","pathname":"/concrete/2.1/developer/layout","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"NM6Y63BnBjbz23thJvA1","title":"Compiler backend","pathname":"/concrete/2.1/developer/backends","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"WY6hadZY2xygab1kjTIv","title":"Adding a new backend","pathname":"/concrete/2.1/developer/backends/new_backend","siteSpaceId":"sitesp_Iy53V","description":"","breadcrumbs":[{"label":"Developer"},{"label":"Compiler backend"}]},{"id":"WMPi4ORW8Ngrb8zRslMR","title":"What is Concrete?","pathname":"/concrete/2.2","siteSpaceId":"sitesp_U3uDh","description":""},{"id":"m9u5RQmAePk12YfIVqse","title":"Basics of FHE programs","pathname":"/concrete/2.2/getting-started/fhe_basics","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"P24c9B3IiC9WiUinJxQn","title":"Installation","pathname":"/concrete/2.2/getting-started/installing","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Qd8EXB8Tk61EfcVm8NcO","title":"Quick Start","pathname":"/concrete/2.2/getting-started/quick_start","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"aXvYUFuYjCqGeCpkm0gL","title":"Compatibility","pathname":"/concrete/2.2/getting-started/compatibility","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"vUccxEyZM4WHA49EdP0S","title":"Exactness","pathname":"/concrete/2.2/getting-started/exactness","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"PUtxzBgYtmsW99z9gNEK","title":"Performance","pathname":"/concrete/2.2/getting-started/performance","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"7ElhK1EWUgvnMr3HW8pM","title":"Terminology and Structure","pathname":"/concrete/2.2/getting-started/terminology_and_structure","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"S9nPShguAqNxzkADJ7xi","title":"Decorator","pathname":"/concrete/2.2/tutorials/decorator","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Vp60dJ9Uo1oVfT7RcsBp","title":"Progressbar","pathname":"/concrete/2.2/tutorials/progressbar","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"SqFDJGLOYHVGmSuvzp0y","title":"Formatting","pathname":"/concrete/2.2/tutorials/formatting","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"lEbEmhRV3M3WdLceTuII","title":"Tagging","pathname":"/concrete/2.2/tutorials/tagging","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"FKkhfFdEb5umtQEoVmvw","title":"Extensions","pathname":"/concrete/2.2/tutorials/extensions","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"lkdifv2Ulw5FtFyT3FkU","title":"Table Lookups","pathname":"/concrete/2.2/tutorials/table_lookups","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"MvcuUIFeo2TH73NZxSe6","title":"Rounding","pathname":"/concrete/2.2/tutorials/rounding","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"7pr1ifdipRD5xzcy2HNC","title":"Floating Points","pathname":"/concrete/2.2/tutorials/floating_points","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"sSTiG1I8K94ujrtqQkNJ","title":"Multi Precision","pathname":"/concrete/2.2/tutorials/multi_precision","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"kYqIMEVX9eJny2UlGqFi","title":"Multi Parameters","pathname":"/concrete/2.2/tutorials/multi_parameters","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"PbgrOQaRC5iI3b6hcqfO","title":"Simulation","pathname":"/concrete/2.2/tutorials/simulation","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"pBHZPl7bOiiexdBBg8At","title":"Direct Circuits","pathname":"/concrete/2.2/tutorials/direct_circuits","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"xCzaT0YeTIEzsD3qexe3","title":"Key Value Database","pathname":"/concrete/2.2/application-tutorials/key_value_database","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"PbVQKgqXvD6bSUSka2JU","title":"SHA-256","pathname":"/concrete/2.2/application-tutorials/sha256","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"XR5GsuotpoIHPXuO7CyG","title":"Configure","pathname":"/concrete/2.2/how-to/configure","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"RBmgd1snFXm5Z0YtxPue","title":"Manage Keys","pathname":"/concrete/2.2/how-to/manage_keys","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"UNWc0udToRhICQoiAndd","title":"Deploy","pathname":"/concrete/2.2/how-to/deploy","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"MdqMN5H5RPdYuq0LRHdv","title":"Reuse Arguments","pathname":"/concrete/2.2/how-to/reuse_arguments","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"WcXgEZRrXoVeU9zjb0vl","title":"Debug","pathname":"/concrete/2.2/how-to/debug","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"ZWv8ZP1OcEicXsBfaSJu","title":"Call FHE circuits from other languages","pathname":"/concrete/2.2/how-to/call_from_other_language","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"oiaNfYUYKVT7ZqPfPOQo","title":"Frontend fusing","pathname":"/concrete/2.2/explanations/fusing","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"CZFI42tCgCpTCUFpRQDd","title":"Compilation","pathname":"/concrete/2.2/explanations/compilation","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"6aQRVHKZXJT3kciNqPyo","title":"Automatic Crypto Parameters choice","pathname":"/concrete/2.2/explanations/compilation/optimizer","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"ec5oKaOvWUssej8SWK6c","title":"MLIR FHE Dialects","pathname":"/concrete/2.2/explanations/compilation/dialects","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"44cC4uvMYW8dBqPPCIb8","title":"FHELinalg Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/fhelinalgdialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"B5WFSXZ6V8Uz3YVIMdlE","title":"FHE Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/fhedialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"I9P5nm7Qj4R74l8dYd0s","title":"TFHE Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/tfhedialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"G5god25i998lnAPVcHIY","title":"Concrete Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/concretedialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"aKfSHK6grtv1Wu3Wg5uM","title":"Tracing Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/tracingdialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"UImJ1MbR4TXHguWREIDl","title":"Runtime Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/rtdialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"LXLDN1vCqInPLkOVjVMa","title":"SDFG Dialect","pathname":"/concrete/2.2/explanations/compilation/dialects/sdfgdialect","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"mRCiwqCdTVwJIP1wzGWK","title":"Security curves","pathname":"/concrete/2.2/explanations/security_curves","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"8yPT88yVL22hlGibveF8","title":"Contribute","pathname":"/concrete/2.2/developer/contributing","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"ttQvcQJ6E2uDw9pkfnPW","title":"Project layout","pathname":"/concrete/2.2/developer/layout","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"q9ojux7y9fuCvjVAxoRE","title":"Compiler backend","pathname":"/concrete/2.2/developer/backends","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"8acmAEJ8YyuPaeSrsz1z","title":"Adding a new backend","pathname":"/concrete/2.2/developer/backends/new_backend","siteSpaceId":"sitesp_U3uDh","description":"","breadcrumbs":[{"label":"Developer"},{"label":"Compiler backend"}]},{"id":"cTfk0pw9VuC1jE2Le0qf","title":"What is Concrete?","pathname":"/concrete/2.3","siteSpaceId":"sitesp_eLQqf","description":""},{"id":"PJFinDJY2NVCRco1lTwg","title":"Basics of FHE programs","pathname":"/concrete/2.3/getting-started/fhe_basics","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"LD61TFiIUXzAHyZavoVo","title":"Installation","pathname":"/concrete/2.3/getting-started/installing","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"BX5KA4LhJSFLxEn6XjN2","title":"Quick Start","pathname":"/concrete/2.3/getting-started/quick_start","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"038zKlsCa07DZUhGbAzV","title":"Compatibility","pathname":"/concrete/2.3/getting-started/compatibility","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"MGFRy0V4Qt4A5btCOFVf","title":"Exactness","pathname":"/concrete/2.3/getting-started/exactness","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"d8zUwNQnmFEIC1w1jPJ7","title":"Performance","pathname":"/concrete/2.3/getting-started/performance","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"115596XEmeMQkI3S26mB","title":"Terminology and Structure","pathname":"/concrete/2.3/getting-started/terminology_and_structure","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"xULlpli4cZACRXiTbyyU","title":"Decorator","pathname":"/concrete/2.3/tutorials/decorator","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"hRqRaNlOGWvhWL19rzwU","title":"Progressbar","pathname":"/concrete/2.3/tutorials/progressbar","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"HmXZlGUCp89fBgSMkEZj","title":"Formatting","pathname":"/concrete/2.3/tutorials/formatting","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Q24m71fvhEsKEelsZ4By","title":"Tagging","pathname":"/concrete/2.3/tutorials/tagging","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"rrw4EypWunreeMsQAfV0","title":"Extensions","pathname":"/concrete/2.3/tutorials/extensions","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"KoTqRpAxDlXND67kUWTU","title":"Comparisons","pathname":"/concrete/2.3/tutorials/comparisons","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"hVtkNIXITKDGWWKF4IL4","title":"Table Lookups","pathname":"/concrete/2.3/tutorials/table_lookups","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"JqvlPskayOUQSeWmYAPL","title":"Rounding","pathname":"/concrete/2.3/tutorials/rounding","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"VOwSZsNgCT7E8xJRguqA","title":"Floating Points","pathname":"/concrete/2.3/tutorials/floating_points","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"hHEiUyLobBWJv5sFxoKd","title":"Multi Precision","pathname":"/concrete/2.3/tutorials/multi_precision","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"TBrRRmp3rXXsb3ig0Q4c","title":"Multi Parameters","pathname":"/concrete/2.3/tutorials/multi_parameters","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"VsAVEiQ9isglmOzz1HD2","title":"Simulation","pathname":"/concrete/2.3/tutorials/simulation","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"HF6CS4Dvx8uOkbbXj315","title":"Direct Circuits","pathname":"/concrete/2.3/tutorials/direct_circuits","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Hqg3Yyrzb4huxbu9b4uT","title":"Key Value Database","pathname":"/concrete/2.3/application-tutorials/key_value_database","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"XjMusgLpkY0u0uyB21qq","title":"SHA-256","pathname":"/concrete/2.3/application-tutorials/sha256","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"txI5RmFnHWzYC0S7QxOD","title":"Configure","pathname":"/concrete/2.3/how-to/configure","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"GH0fXqSCPyTSCrCw8iLM","title":"Manage Keys","pathname":"/concrete/2.3/how-to/manage_keys","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"o2TZxMuWNDYQGQDEFI7Q","title":"Deploy","pathname":"/concrete/2.3/how-to/deploy","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"flq9UgLo4CLX47F92fLa","title":"Reuse Arguments","pathname":"/concrete/2.3/how-to/reuse_arguments","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"8ipTNFTaOjMvSKudVc7s","title":"Debug","pathname":"/concrete/2.3/how-to/debug","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"UVlzdOeQFNww6xXwZJ9K","title":"Call FHE circuits from other languages","pathname":"/concrete/2.3/how-to/call_from_other_language","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"hL8ARo59v34vRWgNfcKt","title":"Frontend fusing","pathname":"/concrete/2.3/explanations/fusing","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"a5gXIga6IW5ieqtSoJmO","title":"Compilation","pathname":"/concrete/2.3/explanations/compilation","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"0sh3ladFcuad1OF0WK4k","title":"Automatic Crypto Parameters choice","pathname":"/concrete/2.3/explanations/compilation/optimizer","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"zcdentSnOnajAhUQ6wGp","title":"MLIR FHE Dialects","pathname":"/concrete/2.3/explanations/compilation/dialects","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"eGgV4rpRkCEKagFyMuCG","title":"FHELinalg Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/fhelinalgdialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"mlkFlEVwFzQwsCRduTR5","title":"FHE Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/fhedialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"jcFcwjkhgEBPnhoGmGX5","title":"TFHE Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/tfhedialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"yOJxTwtHJlCSzNvA8sUE","title":"Concrete Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/concretedialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"nLA1BVr2FHgkAityttwQ","title":"Tracing Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/tracingdialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"LSHfRfHHjdCnhPaG2zbz","title":"Runtime Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/rtdialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"Hcke3KRBA83pMrXksAnz","title":"SDFG Dialect","pathname":"/concrete/2.3/explanations/compilation/dialects/sdfgdialect","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"hQoRnQTKOsrrFHa9MDvz","title":"Security curves","pathname":"/concrete/2.3/explanations/security_curves","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"M4dud3drqg1XVjNFv8GR","title":"Contribute","pathname":"/concrete/2.3/developer/contributing","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"zf8i2yvvGtgMS6Q7mDu9","title":"Project layout","pathname":"/concrete/2.3/developer/layout","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"SkT35LcI8fR5OX2xFe7E","title":"Compiler backend","pathname":"/concrete/2.3/developer/backends","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"bAR1uevjRtpgsgTLY2VE","title":"Adding a new backend","pathname":"/concrete/2.3/developer/backends/new_backend","siteSpaceId":"sitesp_eLQqf","description":"","breadcrumbs":[{"label":"Developer"},{"label":"Compiler backend"}]},{"id":"TzAFEVzB6p21dHT35yif","title":"What is Concrete?","pathname":"/concrete/2.4","siteSpaceId":"sitesp_Qa0mL","description":""},{"id":"Fzq5IdkAeQswGwl7A4y8","title":"Basics of FHE programs","pathname":"/concrete/2.4/getting-started/fhe_basics","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"41Yr7JdrixIk6e44becX","title":"Installation","pathname":"/concrete/2.4/getting-started/installing","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"5c8xEkFaLJfnF5byXFuh","title":"Quick Start","pathname":"/concrete/2.4/getting-started/quick_start","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"25KRvRhaqzfTtinCRvi1","title":"Compatibility","pathname":"/concrete/2.4/getting-started/compatibility","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"QYj9s1ho5D8o1A1l6Ovd","title":"Exactness","pathname":"/concrete/2.4/getting-started/exactness","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"PMxSkGs7FlqJJxzfVGIM","title":"Performance","pathname":"/concrete/2.4/getting-started/performance","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"q080f3e4qhgqRvNEIy0D","title":"Terminology and Structure","pathname":"/concrete/2.4/getting-started/terminology_and_structure","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"kG7SCUgPlRafBNOxljom","title":"Decorator","pathname":"/concrete/2.4/tutorials/decorator","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"rOA2yPmSKLjvF0YWd9G5","title":"Progressbar","pathname":"/concrete/2.4/tutorials/progressbar","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"xX0btaAc3Aa8UWlIqd7s","title":"Formatting","pathname":"/concrete/2.4/tutorials/formatting","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"mo6LBPP6jkRwueBPfpDy","title":"Tagging","pathname":"/concrete/2.4/tutorials/tagging","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"i8npeymxllzD9DuNCvEZ","title":"Extensions","pathname":"/concrete/2.4/tutorials/extensions","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"saMBRPVbcCMTw1dxb1XX","title":"Comparisons","pathname":"/concrete/2.4/tutorials/comparisons","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"LGWifjeTpULg0q5jpMrw","title":"Bitwise Operations","pathname":"/concrete/2.4/tutorials/bitwise","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"iIPlSTyp9uZAsJRc8MBV","title":"Table Lookups","pathname":"/concrete/2.4/tutorials/table_lookups","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"xGGw5oWdD6Kd5XeW2M6G","title":"Rounding","pathname":"/concrete/2.4/tutorials/rounding","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"08vLjxi9rGk5OQxwXW7j","title":"Floating Points","pathname":"/concrete/2.4/tutorials/floating_points","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"tSl6xbtbVJdjp1wqk23R","title":"Multi Precision","pathname":"/concrete/2.4/tutorials/multi_precision","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"l6zPzmHfmyq7eHz0ASH1","title":"Multi Parameters","pathname":"/concrete/2.4/tutorials/multi_parameters","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"M1wAeeDZZzV4v8Ld2eRc","title":"Simulation","pathname":"/concrete/2.4/tutorials/simulation","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"Xjmwt4MhVwyx1jI3hLH3","title":"Direct Circuits","pathname":"/concrete/2.4/tutorials/direct_circuits","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"CcwkL2Gql4itZmsUCs6g","title":"Statistics","pathname":"/concrete/2.4/tutorials/statistics","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"u0ZAZInmfB5D1KjmTjFU","title":"Common Workarounds","pathname":"/concrete/2.4/tutorials/workarounds","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"OGUWaWtCqpAgysNtw8j9","title":"Key Value Database","pathname":"/concrete/2.4/application-tutorials/key_value_database","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"nzzJJcoyyPzlD9rQYLWD","title":"SHA-256","pathname":"/concrete/2.4/application-tutorials/sha256","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"tzVSfiVaTDArvous2jDB","title":"Configure","pathname":"/concrete/2.4/how-to/configure","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"nLcuWIBvwTO9uGSuzFN8","title":"Manage Keys","pathname":"/concrete/2.4/how-to/manage_keys","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"gvPiwAlJkvt3NsdTD3Ad","title":"Deploy","pathname":"/concrete/2.4/how-to/deploy","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"pvX3jVH527iaG3hPdryK","title":"Reuse Arguments","pathname":"/concrete/2.4/how-to/reuse_arguments","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"OcwsIgmUEQthQFRzZCSO","title":"Debug","pathname":"/concrete/2.4/how-to/debug","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"vvFH26FsddFZEizUODv0","title":"Call FHE circuits from other languages","pathname":"/concrete/2.4/how-to/call_from_other_language","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"kEcaogIQO12lJqngEIUE","title":"Frontend fusing","pathname":"/concrete/2.4/explanations/fusing","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"LyP3hSwc7yuKF5mKnR0x","title":"Compilation","pathname":"/concrete/2.4/explanations/compilation","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"ZKOjtmqHcVPfrpQsBbC4","title":"Automatic Crypto Parameters choice","pathname":"/concrete/2.4/explanations/compilation/optimizer","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"Xsz13yqUNm7QwITJFD18","title":"MLIR FHE Dialects","pathname":"/concrete/2.4/explanations/compilation/dialects","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"KWnauIeogdtGMxrmWP2G","title":"FHELinalg Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/fhelinalgdialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"PIqQMLh8Qj0Fj6iHy0GW","title":"FHE Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/fhedialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"gkMEUS823zl9co2bzMKh","title":"TFHE Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/tfhedialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"nzTDdAdNoWzTlZuM188F","title":"Concrete Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/concretedialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"mW2Lu55FMaqOFzYnAjLi","title":"Tracing Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/tracingdialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"Mc6v0dtDCkYg9XXtk67T","title":"Runtime Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/rtdialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"DLWxXttfw8vVB0pEL43c","title":"SDFG Dialect","pathname":"/concrete/2.4/explanations/compilation/dialects/sdfgdialect","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"ybwLpEM8TzJNk2jsnMBk","title":"Security curves","pathname":"/concrete/2.4/explanations/security_curves","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"JKXFvDPzB7Nfzbv1Lz5R","title":"Contribute","pathname":"/concrete/2.4/developer/contributing","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"IsSWJaeFAw8bbaJzqVer","title":"Project layout","pathname":"/concrete/2.4/developer/layout","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"kXpBtbGarlidyLNuzgS9","title":"Compiler backend","pathname":"/concrete/2.4/developer/backends","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"qqFfI64j6qSL2jQfOYTm","title":"Adding a new backend","pathname":"/concrete/2.4/developer/backends/new_backend","siteSpaceId":"sitesp_Qa0mL","description":"","breadcrumbs":[{"label":"Developer"},{"label":"Compiler backend"}]},{"id":"plzi8qqxKKk2KoUEqa9Y","title":"What is Concrete?","pathname":"/concrete/2.5","siteSpaceId":"sitesp_8pxIz","description":""},{"id":"ia8y9eSUFnBy1P3L7rlq","title":"Basics of FHE programs","pathname":"/concrete/2.5/getting-started/fhe_basics","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"ZAWu07CglNvvryVuNerj","title":"Installation","pathname":"/concrete/2.5/getting-started/installing","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Q50cUwaXeXE9khgulja5","title":"Quick Start","pathname":"/concrete/2.5/getting-started/quick_start","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"CpinWDJqBHKcrYi0T0Rp","title":"Compatibility","pathname":"/concrete/2.5/getting-started/compatibility","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"FHZqiya9Nxk01a4Yqu5P","title":"Exactness","pathname":"/concrete/2.5/getting-started/exactness","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"4inro9q19KeJsg0kxkEd","title":"Performance","pathname":"/concrete/2.5/getting-started/performance","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"LXEogLnZSAloaUMySqPN","title":"Terminology and Structure","pathname":"/concrete/2.5/getting-started/terminology_and_structure","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"ogfEVgAmVN6hrlaX1P2J","title":"Decorator","pathname":"/concrete/2.5/tutorials/decorator","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"pSduKffOnUpMEp6Eywkg","title":"Progressbar","pathname":"/concrete/2.5/tutorials/progressbar","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"lN1THMZSbQ8NHhO9yaeq","title":"Formatting","pathname":"/concrete/2.5/tutorials/formatting","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"J4h3Cs051EPBp0Xu9rk2","title":"Tagging","pathname":"/concrete/2.5/tutorials/tagging","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"vdn3FKsWxsmJITUqu2it","title":"Extensions","pathname":"/concrete/2.5/tutorials/extensions","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"rExJWelyMsLam66oWOxd","title":"Comparisons","pathname":"/concrete/2.5/tutorials/comparisons","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"eEn1vCdJOAQXVwhwkUBL","title":"Min/Max Operations","pathname":"/concrete/2.5/tutorials/minmax","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"IDNIxTCAmf1urjqd85lY","title":"Bitwise Operations","pathname":"/concrete/2.5/tutorials/bitwise","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"SKSdfJqC9MNwncQlubhk","title":"Table Lookups","pathname":"/concrete/2.5/tutorials/table_lookups","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"LzjhdtsQg9xdnjwCNGX3","title":"Bit Extraction","pathname":"/concrete/2.5/tutorials/bit_extraction","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"OdBEYKGEnOCtr6hFcGCe","title":"Truncating","pathname":"/concrete/2.5/tutorials/truncating","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"JweX4NyQH8vfRgecN3QP","title":"Rounding","pathname":"/concrete/2.5/tutorials/rounding","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"nU8Kr0pE9mXRbpqWLnvf","title":"Floating Points","pathname":"/concrete/2.5/tutorials/floating_points","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"4jUT8fmlH0BADtmEFldS","title":"Multi Precision","pathname":"/concrete/2.5/tutorials/multi_precision","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"weenOGPQlxTeHSWKJ9Pz","title":"Multi Parameters","pathname":"/concrete/2.5/tutorials/multi_parameters","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"FQHW3WsW2xYJhTqiUlPu","title":"Simulation","pathname":"/concrete/2.5/tutorials/simulation","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"eMLybiBOuqIZIpnI6JB1","title":"Direct Circuits","pathname":"/concrete/2.5/tutorials/direct_circuits","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"B409QbRG2DQ7QmmY7tPl","title":"Statistics","pathname":"/concrete/2.5/tutorials/statistics","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"6NLrMs6gdHCIXpjLCRVV","title":"Common Workarounds","pathname":"/concrete/2.5/tutorials/workarounds","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"gGzNQN9EBX67NV3CzfIX","title":"Composition","pathname":"/concrete/2.5/tutorials/composition","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"NB7c6ytHSSU1vUTDQk5s","title":"Key Value Database","pathname":"/concrete/2.5/application-tutorials/key_value_database","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"6abLxpLowvvI2nBS3SDL","title":"SHA-256","pathname":"/concrete/2.5/application-tutorials/sha256","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"8dFTjO7MBGFDMU6mw2OG","title":"Game of Life","pathname":"/concrete/2.5/application-tutorials/game_of_life","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Application Tutorials"}]},{"id":"XUHofiNRxuB1m5UuvmAE","title":"Configure","pathname":"/concrete/2.5/how-to/configure","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"LFCk7SKw234GF0FSx9xf","title":"Manage Keys","pathname":"/concrete/2.5/how-to/manage_keys","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"PpMVcBRT8notYmoAFenV","title":"Deploy","pathname":"/concrete/2.5/how-to/deploy","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"KskAYjZ7T4Bjd2qpw4OQ","title":"Reuse Arguments","pathname":"/concrete/2.5/how-to/reuse_arguments","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"l2kpPyIXd6OxOonVIgoW","title":"Debug","pathname":"/concrete/2.5/how-to/debug","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"SFAHXPNrn9iamqEp7x8l","title":"Call FHE circuits from other languages","pathname":"/concrete/2.5/how-to/call_from_other_language","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"How To"}]},{"id":"d3Hwb8rMNiuwbPctoqBL","title":"Frontend fusing","pathname":"/concrete/2.5/explanations/fusing","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"R45SaworYZI80y2ttYwR","title":"Compilation","pathname":"/concrete/2.5/explanations/compilation","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"S72YqOPzak51Xjxm8kUT","title":"Automatic Crypto Parameters choice","pathname":"/concrete/2.5/explanations/compilation/optimizer","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"99mgu8O2iaLQx2du0vGd","title":"MLIR FHE Dialects","pathname":"/concrete/2.5/explanations/compilation/dialects","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"}]},{"id":"8xJ5yIhw3KGCIuG8oeQs","title":"FHELinalg Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/fhelinalgdialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"6a7PBc3CcPB9GtAi34Dt","title":"FHE Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/fhedialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"85XKKNJl5nAclw8PQOgk","title":"TFHE Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/tfhedialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"V7xbOVY0qN2tEbkot7ni","title":"Concrete Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/concretedialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"AskF5oMddXFiYJPQUpvI","title":"Tracing Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/tracingdialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"J531hYm4suRUS6CJYA8e","title":"Runtime Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/rtdialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"2yl7fKIMFZqgDYmaJZbx","title":"SDFG Dialect","pathname":"/concrete/2.5/explanations/compilation/dialects/sdfgdialect","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compilation"},{"label":"MLIR FHE Dialects"}]},{"id":"bS3ujov6Ps1aVaa6hFIq","title":"Security curves","pathname":"/concrete/2.5/explanations/security_curves","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"nlrmji9KvdPBu4mzdobN","title":"Contribute","pathname":"/concrete/2.5/developer/contributing","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"6QfqtsHxgYgqoOHkaxGZ","title":"Project layout","pathname":"/concrete/2.5/developer/layout","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"5ukd4p9R63MtIHVOkcKT","title":"Compiler backend","pathname":"/concrete/2.5/developer/backends","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Developer"}]},{"id":"7rQFWeWYfKZWZHlbMJI3","title":"Adding a new backend","pathname":"/concrete/2.5/developer/backends/new_backend","siteSpaceId":"sitesp_8pxIz","description":"","breadcrumbs":[{"label":"Developer"},{"label":"Compiler backend"}]},{"id":"qhfHfEj4j8vbTAcGNu5f","title":"Welcome","pathname":"/concrete/2.6","siteSpaceId":"sitesp_SH1dH","description":"Concrete is an open-source FHE Compiler that simplifies the use of Fully Homomorphic Encryption (FHE)."},{"id":"u3HueDIVLeQ0klKNR5cv","title":"What is Concrete?","pathname":"/concrete/2.6/get-started/get-started","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"lDqrZ0HolGGyLsnTHP3U","title":"Installation","pathname":"/concrete/2.6/get-started/installing","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"rbcegnOLMTJHgKJxyxZM","title":"Quick start","pathname":"/concrete/2.6/get-started/quick_start","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"UYssqFSVqtebYT3uG6fF","title":"Compatibility","pathname":"/concrete/2.6/get-started/compatibility","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"am9Zmx9cr9XZ6Z79JKfj","title":"Terminology","pathname":"/concrete/2.6/get-started/terminology","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"aWaEETEhRuRqFYueRlZO","title":"Overview","pathname":"/concrete/2.6/core-features/fhe_basics","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"I6d2f4KtmCBwWuSGbKwy","title":"Table lookups","pathname":"/concrete/2.6/core-features/table_lookups","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"FpNXH6kvfU3hpRc8xK7O","title":"Bit extraction","pathname":"/concrete/2.6/core-features/bit_extraction","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"6gj1f36EcQkIpdXVKpje","title":"Rounding","pathname":"/concrete/2.6/core-features/rounding","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"sTspF5KKJ3oIBlHl4iqr","title":"Truncating","pathname":"/concrete/2.6/core-features/truncating","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"CvkszKvIaT9BEASR50fc","title":"Floating points","pathname":"/concrete/2.6/core-features/floating_points","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"9DfVFehbrhQ2wMPDEh7Q","title":"Comparisons","pathname":"/concrete/2.6/core-features/comparisons","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"B4ubQQKtGHPGgGjFD7Zt","title":"Min/Max operations","pathname":"/concrete/2.6/core-features/minmax","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"YF1seaKur972jf7WYw8E","title":"Bitwise operations","pathname":"/concrete/2.6/core-features/bitwise","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"fMKFZsJtQJN0NvOMDD4a","title":"Common tips","pathname":"/concrete/2.6/core-features/workarounds","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"y8ScG7mgsPuiXsEQ7FMw","title":"Extensions","pathname":"/concrete/2.6/core-features/extensions","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"2ziqUsJkYYVmH7VNhj9l","title":"Tagging","pathname":"/concrete/2.6/core-features/tagging","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"hshiXdaRSXioYy8YTCon","title":"Composition","pathname":"/concrete/2.6/compilation/composition","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"RJjAO1xIk5822bcMpeXz","title":"Compression","pathname":"/concrete/2.6/compilation/compression","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"yw0NHH62ekGxrol2gxGq","title":"Reuse arguments","pathname":"/concrete/2.6/compilation/reuse_arguments","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"V9Z5hNogYEPhbdvOsMhP","title":"Multi precision","pathname":"/concrete/2.6/compilation/multi_precision","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"xZOTw5sMZ4xppdzyKsSr","title":"Multi parameters","pathname":"/concrete/2.6/compilation/multi_parameters","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"giOJGtA3gkxN8oQsOc2q","title":"Modules","pathname":"/concrete/2.6/compilation/modules","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"l0LlAXExawh6ZCgKSCiq","title":"Decorator","pathname":"/concrete/2.6/compilation/decorator","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"ab66oq8LGN2HaNVZcptP","title":"Direct circuits","pathname":"/concrete/2.6/compilation/direct_circuits","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"4VeuPlsyVqImhgsfBFxI","title":"Simulation","pathname":"/concrete/2.6/execution-analysis/simulation","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"QOiamtlukJ3xYLTl6dg9","title":"Progressbar","pathname":"/concrete/2.6/execution-analysis/progressbar","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"qbMFYOX1ROpN5I3ys1e5","title":"Statistics","pathname":"/concrete/2.6/execution-analysis/statistics","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"C35AqJA3BWWMK350kF1a","title":"Formatting and drawing","pathname":"/concrete/2.6/execution-analysis/formatting_and_drawing","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"4ETxRDJ9Ac77YzknX9Ss","title":"Debug","pathname":"/concrete/2.6/execution-analysis/debug","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"NmZ8gAG6jIT6tZA4rTk6","title":"Configure","pathname":"/concrete/2.6/guides/configure","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"nTjv3A576y4HyPxxOCVw","title":"Manage keys","pathname":"/concrete/2.6/guides/manage_keys","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"De9Ikn0c19L1hIQiDfVL","title":"Deploy","pathname":"/concrete/2.6/guides/deploy","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"8pENjKEyAIVAu5vJwTsG","title":"See all tutorials","pathname":"/concrete/2.6/tutorials/see-all-tutorials","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"sW9KdP6hXzhkhV4yRNxW","title":"API","pathname":"/concrete/2.6/references/api","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"References"}]},{"id":"CqCJzNqGO2f4NmYA6CW6","title":"Compiler workflow","pathname":"/concrete/2.6/explanations/compiler_workflow","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"QO81PqOA1WGdJTUCXUbK","title":"Frontend fusing","pathname":"/concrete/2.6/explanations/fusing","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"r8oTVvJdjhRA7KSp7Fkw","title":"Compiler backend","pathname":"/concrete/2.6/explanations/backends","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"TWHsuV8J1tAfWBqsMmiK","title":"Adding a new backend","pathname":"/concrete/2.6/explanations/backends/new_backend","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler backend"}]},{"id":"Oq0ckNPyvvofSNTjXgLK","title":"Optimizer","pathname":"/concrete/2.6/explanations/optimizer","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"9fcGQ16XKEpXg76f6pil","title":"MLIR FHE dialects","pathname":"/concrete/2.6/explanations/dialects","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"vTjaNXXKXEkLfjXdZENR","title":"FHELinalg dialect","pathname":"/concrete/2.6/explanations/dialects/fhelinalgdialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"1swfEv5dj3p8ySG02ylH","title":"FHE dialect","pathname":"/concrete/2.6/explanations/dialects/fhedialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"qaB0b9GFG5qotcUpFfpR","title":"TFHE dialect","pathname":"/concrete/2.6/explanations/dialects/tfhedialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"6TWQF3ckHC4kK6fpZYl8","title":"Concrete dialect","pathname":"/concrete/2.6/explanations/dialects/concretedialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"2YElpPgGMYbDdGBfpM9G","title":"Tracing dialect","pathname":"/concrete/2.6/explanations/dialects/tracingdialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"pP0bjobNZuqstsj9yzsx","title":"Runtime dialect","pathname":"/concrete/2.6/explanations/dialects/rtdialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"rcqkaXTk6QYvPMH9NJoS","title":"SDFG dialect","pathname":"/concrete/2.6/explanations/dialects/sdfgdialect","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"MLIR FHE dialects"}]},{"id":"KsH1pw9QsOvH5ZkZcjoF","title":"Security","pathname":"/concrete/2.6/explanations/security","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"4RByPoiD6LTxR9Dpo1Tr","title":"Call FHE circuits from other languages","pathname":"/concrete/2.6/explanations/call_from_other_language","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"yJSRpaWCjxS0mBrq9KC7","title":"Project layout","pathname":"/concrete/2.6/explanations/layout","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"CU5akDs9in2KaSWsz8Gs","title":"Contributing","pathname":"/concrete/2.6/developers/contributing","siteSpaceId":"sitesp_SH1dH","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"W1JFRu3SF0nH0Pli50mC","title":"Welcome","pathname":"/concrete/2.7-1","siteSpaceId":"sitesp_KXMsI","description":"Concrete is an open-source FHE Compiler that simplifies the use of Fully Homomorphic Encryption (FHE)."},{"id":"ajGZe6LcOymc5lxxhtE0","title":"What is Concrete?","pathname":"/concrete/2.7-1/get-started/get-started","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"KO7UtIqu8KgPmr3B3tjq","title":"Installation","pathname":"/concrete/2.7-1/get-started/installing","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"YN2fhftJZIk4x58SKyX4","title":"Quick start","pathname":"/concrete/2.7-1/get-started/quick_start","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"voDmpewFBmiegKhHCR0p","title":"Compatibility","pathname":"/concrete/2.7-1/get-started/compatibility","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"y3dCaXH1LW0lTw7SMQZS","title":"Terminology","pathname":"/concrete/2.7-1/get-started/terminology","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"LGZ7tozfyb6xBGXbkfB5","title":"Overview","pathname":"/concrete/2.7-1/core-features/fhe_basics","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"xdOKfZt7TMxQxGI7OgBn","title":"Table lookups (basics)","pathname":"/concrete/2.7-1/core-features/table_lookups","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"buX4flhOaixwq8JGh3Uv","title":"Non-linear operations","pathname":"/concrete/2.7-1/core-features/non_linear_operations","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Core features"}]},{"id":"YofeGAwK8ipxfIiruMQO","title":"Advanced features","pathname":"/concrete/2.7-1/core-features/advanced-features","siteSpaceId":"sitesp_KXMsI","breadcrumbs":[{"label":"Core features"}]},{"id":"mulz68Cf8MsAsUr3yMck","title":"Bit extraction","pathname":"/concrete/2.7-1/core-features/advanced-features/bit_extraction","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Core features"},{"label":"Advanced features"}]},{"id":"W7a65PBMhAzC9TdzN2cj","title":"Common tips","pathname":"/concrete/2.7-1/core-features/advanced-features/workarounds","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Core features"},{"label":"Advanced features"}]},{"id":"cd4fiai95oZmLo3IaEQ6","title":"Extensions","pathname":"/concrete/2.7-1/core-features/advanced-features/extensions","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Core features"},{"label":"Advanced features"}]},{"id":"i3w7lK1N1O9Ac1rYbPF4","title":"Combining compiled functions","pathname":"/concrete/2.7-1/compilation/combining","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"Q5P9tszydMFDYzXz9sIa","title":"With composition","pathname":"/concrete/2.7-1/compilation/combining/composition","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"2H0WJGRr4s1R7J3RaPiR","title":"With modules","pathname":"/concrete/2.7-1/compilation/combining/composing_functions_with_modules","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"KTWcmXWVTijz6jeNBay5","title":"Key-related options for faster execution","pathname":"/concrete/2.7-1/compilation/key-related-options-for-faster-execution","siteSpaceId":"sitesp_KXMsI","breadcrumbs":[{"label":"Compilation"}]},{"id":"qrpxuchmBenz9DjcKg6b","title":"Multi precision","pathname":"/concrete/2.7-1/compilation/key-related-options-for-faster-execution/multi_precision","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"P7c6mQM3HNhkqxrQY3rH","title":"Multi parameters","pathname":"/concrete/2.7-1/compilation/key-related-options-for-faster-execution/multi_parameters","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"IqJU6DZTOzePucxeEupt","title":"Compression","pathname":"/concrete/2.7-1/compilation/compression","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"KYgiVNMEPF1LaBzszeE4","title":"Reusing arguments","pathname":"/concrete/2.7-1/compilation/reuse_arguments","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"qTOC6knyR4bouGvc7gtZ","title":"Common errors","pathname":"/concrete/2.7-1/compilation/common_errors","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"mYTaiY1spT1zdNdA1qa1","title":"Simulation","pathname":"/concrete/2.7-1/execution-analysis/simulation","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"atHaqVS5kTKONU44DhuM","title":"Debugging and artifact","pathname":"/concrete/2.7-1/execution-analysis/debug","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"KhRF7cFKTT2ALjb7LnX9","title":"GPU acceleration","pathname":"/concrete/2.7-1/execution-analysis/gpu_acceleration","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"7vLXXdOkLalc6hckTe2F","title":"Other","pathname":"/concrete/2.7-1/execution-analysis/other","siteSpaceId":"sitesp_KXMsI","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"OOyjYK9ZiX0dh1hxqaaF","title":"Statistics","pathname":"/concrete/2.7-1/execution-analysis/other/statistics","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"A21pSzS7kCRHoH6DegTU","title":"Progressbar","pathname":"/concrete/2.7-1/execution-analysis/other/progressbar","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"bcZPaIHhrRRJewsPVBLM","title":"Formatting and drawing","pathname":"/concrete/2.7-1/execution-analysis/other/formatting_and_drawing","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"bjpPtZylXWDJBNteGw8R","title":"Configure","pathname":"/concrete/2.7-1/guides/configure","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"zLmpFRI3hoTQ7jUJKcbX","title":"Manage keys","pathname":"/concrete/2.7-1/guides/manage_keys","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"gK7sAXwpQnVfXKNZNwSh","title":"Deploy","pathname":"/concrete/2.7-1/guides/deploy","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"hqbglpFBVCYJVXJVaAlI","title":"See all tutorials","pathname":"/concrete/2.7-1/tutorials/see-all-tutorials","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"SUmjdKOLm2J3jnI8J6lQ","title":"API","pathname":"/concrete/2.7-1/references/api","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"References"}]},{"id":"ISI7bSiB2wsUjCU4NRpG","title":"Compiler workflow","pathname":"/concrete/2.7-1/explanations/compiler_workflow","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"4yCkRL8osJxox4HLX2u5","title":"Compiler internals","pathname":"/concrete/2.7-1/explanations/compiler-internals","siteSpaceId":"sitesp_KXMsI","breadcrumbs":[{"label":"Explanations"}]},{"id":"hLOnWMGc2i3N693FQuxv","title":"Table lookups","pathname":"/concrete/2.7-1/explanations/compiler-internals/table_lookups_advanced","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"00BW0iufPQa8ySTmILaO","title":"Rounding","pathname":"/concrete/2.7-1/explanations/compiler-internals/rounding","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"ImpGztVcnFQXuGrhYLoN","title":"Truncating","pathname":"/concrete/2.7-1/explanations/compiler-internals/truncating","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"G73mYuDpH9nUJSwbseKp","title":"Floating points","pathname":"/concrete/2.7-1/explanations/compiler-internals/floating_points","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"pNPmXo70ABC4G0AZvABa","title":"Comparisons","pathname":"/concrete/2.7-1/explanations/compiler-internals/comparisons","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"L8GzGjDGxx56DV7QhzKy","title":"Min/Max operations","pathname":"/concrete/2.7-1/explanations/compiler-internals/minmax","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"IY36bvn9V2G8chN9rRSZ","title":"Bitwise operations","pathname":"/concrete/2.7-1/explanations/compiler-internals/bitwise","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"U901y0uetOAqisjQkazZ","title":"Direct circuits","pathname":"/concrete/2.7-1/explanations/compiler-internals/direct_circuits","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"fqjEWnpJLZ86IbOEaDSu","title":"Tagging","pathname":"/concrete/2.7-1/explanations/compiler-internals/tagging","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Compiler internals"}]},{"id":"93KN92OYxv09uKsA9jtT","title":"Security","pathname":"/concrete/2.7-1/explanations/security","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"UVXfzXFQDW18JQRnVSa9","title":"Frontend fusing","pathname":"/concrete/2.7-1/explanations/fusing","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"h4yywxEBzr33uGkuDO6A","title":"Contributing","pathname":"/concrete/2.7-1/developers/contributing","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"FH0ZJXfsTa6iZSAAyyvZ","title":"Project layout","pathname":"/concrete/2.7-1/developers/layout","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"NtsJpCVaQqbwQfC8yBz5","title":"Compiler backend","pathname":"/concrete/2.7-1/developers/backends","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"w8ovW4tcTMYSiv7GbQbh","title":"Adding a new backend","pathname":"/concrete/2.7-1/developers/backends/new_backend","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Compiler backend"}]},{"id":"bVK2eI0m37ejDdtLTKqs","title":"Optimizer","pathname":"/concrete/2.7-1/developers/optimizer","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"W4KSnyk8JWnWZqdzPDFW","title":"MLIR FHE dialects","pathname":"/concrete/2.7-1/developers/dialects","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"VtP7lNlB1t0PAPvy3M1M","title":"FHELinalg dialect","pathname":"/concrete/2.7-1/developers/dialects/fhelinalgdialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"n9XboPWQ4LE8SpalsxmF","title":"FHE dialect","pathname":"/concrete/2.7-1/developers/dialects/fhedialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"qz66hYfdCwlkdT0NxDoh","title":"TFHE dialect","pathname":"/concrete/2.7-1/developers/dialects/tfhedialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"ErGKAqUpEV34nFWLLhbS","title":"Concrete dialect","pathname":"/concrete/2.7-1/developers/dialects/concretedialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"uhWpHIaG0YsqAFBeh8hy","title":"Tracing dialect","pathname":"/concrete/2.7-1/developers/dialects/tracingdialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"owJC4ade61kGQciHcf93","title":"Runtime dialect","pathname":"/concrete/2.7-1/developers/dialects/rtdialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"ElFtv58eMKfz2PfN3D4i","title":"SDFG dialect","pathname":"/concrete/2.7-1/developers/dialects/sdfgdialect","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"},{"label":"MLIR FHE dialects"}]},{"id":"TdllrfV6Pt2deu3f4Jim","title":"Call FHE circuits from other languages","pathname":"/concrete/2.7-1/developers/call_from_other_language","siteSpaceId":"sitesp_KXMsI","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"gaEB4lGV3mxxSGNWLOvi","title":"Welcome","pathname":"/concrete/2.8","siteSpaceId":"sitesp_h4nSO","description":"Concrete is an open-source FHE Compiler that simplifies the use of Fully Homomorphic Encryption (FHE)."},{"id":"h9KN1kAAsIWUNLn0wIQ4","title":"What is Concrete?","pathname":"/concrete/2.8/get-started/get-started","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"jLCdbbG7D4pwQX9tnMnD","title":"Installation","pathname":"/concrete/2.8/get-started/installing","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"ucV9qJdo7l4dZHJ6c1Z7","title":"Quick start","pathname":"/concrete/2.8/get-started/quick_start","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"a7E37zFNaRk0DfIyWdCa","title":"Quick overview","pathname":"/concrete/2.8/get-started/quick_overview","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"ghsvpIzBX6jyBj7nQzwc","title":"Terminology","pathname":"/concrete/2.8/get-started/terminology","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"c9yJ1UPRPoxtiA6Imter","title":"Table Lookups basics","pathname":"/concrete/2.8/operations/table_lookups","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"WLx14cSqIRbpaEWfJRWk","title":"Non-linear operations","pathname":"/concrete/2.8/operations/non_linear_operations","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"URytCCMURTQa4mVZ66wG","title":"Other operations","pathname":"/concrete/2.8/operations/other-operations","siteSpaceId":"sitesp_h4nSO","breadcrumbs":[{"label":"Operations"}]},{"id":"HjjXZrVpA2ILR56tqqm1","title":"Bit extraction","pathname":"/concrete/2.8/operations/other-operations/bit_extraction","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"icvrmoYzbmahfmR5l7lo","title":"Common tips","pathname":"/concrete/2.8/operations/other-operations/workarounds","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"RchDaCwdNBt0wGLYXQST","title":"Extensions","pathname":"/concrete/2.8/operations/other-operations/extensions","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"mIolcAM7be9KvbklEcDQ","title":"Combining compiled functions","pathname":"/concrete/2.8/compilation/combining","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"OsQWRsSmXzMtIg801hWb","title":"With composition","pathname":"/concrete/2.8/compilation/combining/composition","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"9CfYeWN7UKqywvb82vkc","title":"With modules","pathname":"/concrete/2.8/compilation/combining/composing_functions_with_modules","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"8jEBo8x1RxRnH9UyDz2j","title":"Key-related options for faster execution","pathname":"/concrete/2.8/compilation/key-related-options-for-faster-execution","siteSpaceId":"sitesp_h4nSO","breadcrumbs":[{"label":"Compilation"}]},{"id":"Jt4PxmLs3atw1gnDjkpD","title":"Multi precision","pathname":"/concrete/2.8/compilation/key-related-options-for-faster-execution/multi_precision","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"IB6AeuJFbsyAY0SacNUN","title":"Multi parameters","pathname":"/concrete/2.8/compilation/key-related-options-for-faster-execution/multi_parameters","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"op88Am0ZcwTWABVjr3Ar","title":"Compression","pathname":"/concrete/2.8/compilation/compression","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"su3bMEHD0bClNVDx2Eu4","title":"Reusing arguments","pathname":"/concrete/2.8/compilation/reuse_arguments","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"i4nqA5dxGYQP0tALZmV0","title":"Common errors","pathname":"/concrete/2.8/compilation/common_errors","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"QqNvbNEEqIo8n12EVIzH","title":"Simulation","pathname":"/concrete/2.8/execution-analysis/simulation","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"4wjewveQbAzpL79sQEMe","title":"Debugging and artifact","pathname":"/concrete/2.8/execution-analysis/debug","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"gXfqFXlcxGdJcM7PXB23","title":"Performance","pathname":"/concrete/2.8/execution-analysis/summary","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"n6VOIWmXp7s6rE8rcFa4","title":"GPU acceleration","pathname":"/concrete/2.8/execution-analysis/gpu_acceleration","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"jt3Gw2AErppAiRietK2S","title":"Other","pathname":"/concrete/2.8/execution-analysis/other","siteSpaceId":"sitesp_h4nSO","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"aJZK7JVAZR3ceGzHWCYF","title":"Statistics","pathname":"/concrete/2.8/execution-analysis/other/statistics","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"32l7WA7xIEgNsevg1Ko5","title":"Progressbar","pathname":"/concrete/2.8/execution-analysis/other/progressbar","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"CYVKFVxKV64ngYiF1DxW","title":"Formatting and drawing","pathname":"/concrete/2.8/execution-analysis/other/formatting_and_drawing","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"PwnwLePLUAcPIt2766QB","title":"Configure","pathname":"/concrete/2.8/guides/configure","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"Ef9hsdctWlm3820qkQSW","title":"Manage keys","pathname":"/concrete/2.8/guides/manage_keys","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"EZwHGuJa80BCDrYg8sfx","title":"Deploy","pathname":"/concrete/2.8/guides/deploy","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"BnalvDGvjpvuBWU6mMSP","title":"TFHE-rs Interoperability","pathname":"/concrete/2.8/guides/tfhers","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"Hb8ka0XdVYnJ4iuVe7kd","title":"Shared key","pathname":"/concrete/2.8/guides/tfhers/shared-key","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"EI1SBCFWXtKSnrS0MikT","title":"Serialization","pathname":"/concrete/2.8/guides/tfhers/serialization","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"X8noEUU1M325Ab5nouQK","title":"Optimization","pathname":"/concrete/2.8/guides/self","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"NprAAmkePSrZDpzVHRwt","title":"Improve parallelism","pathname":"/concrete/2.8/guides/self/self","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"uAtyTmBjVCpdL1WOsgOF","title":"Dataflow parallelism","pathname":"/concrete/2.8/guides/self/self/dataflow","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"Iw0nWf7aBnkFptQpGKh9","title":"Tensorizing operations","pathname":"/concrete/2.8/guides/self/self/tensorization","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"12UX9bsR6lNsjKJ9yDcf","title":"Optimize table lookups","pathname":"/concrete/2.8/guides/self/self-1","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"ZFvkqAg4GnE9EkX0r214","title":"Reducing TLU","pathname":"/concrete/2.8/guides/self/self-1/reducing-amount","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"hkrof0bTMXZ0Z1y1bGOW","title":"Implementation strategies","pathname":"/concrete/2.8/guides/self/self-1/strategies","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"ELsmkNZrvAq6UvHuUt66","title":"Round/truncating","pathname":"/concrete/2.8/guides/self/self-1/round-truncate","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"IGm4yrf7yO3e8VXGhSsv","title":"Approximate mode","pathname":"/concrete/2.8/guides/self/self-1/approximate","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"YQj9sJoL3lOcD3WGOJlx","title":"Bit extraction","pathname":"/concrete/2.8/guides/self/self-1/bit-extraction","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"WbHckBNvf0QpYxTmQv5w","title":"Optimize cryptographic parameters","pathname":"/concrete/2.8/guides/self/self-2","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"f95fRsdBsA7gBoJ5CHKR","title":"Error probability","pathname":"/concrete/2.8/guides/self/self-2/p-error","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"wzyeH7HRRtNTOSqZbnAy","title":"Composition","pathname":"/concrete/2.8/guides/self/self-2/composition","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"qH4opQ66b0DZ9uFzXDFI","title":"See all tutorials","pathname":"/concrete/2.8/tutorials/see-all-tutorials","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"UfIVK2l0WhtEeAtGUman","title":"API","pathname":"/concrete/2.8/references/api","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"References"}]},{"id":"iVHmBxk1CKh8HX3jtjQj","title":"Supported operations","pathname":"/concrete/2.8/references/compatibility","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"References"}]},{"id":"euLTHaicCcRro2gLDYtg","title":"Compiler workflow","pathname":"/concrete/2.8/explanations/compiler_workflow","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"nQI2D6zH0o8BGiT1lNVw","title":"Advanced features","pathname":"/concrete/2.8/explanations/advanced-features","siteSpaceId":"sitesp_h4nSO","breadcrumbs":[{"label":"Explanations"}]},{"id":"rTfFfALxYdgAkdNGC9Ke","title":"Table Lookups advanced","pathname":"/concrete/2.8/explanations/advanced-features/table_lookups_advanced","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"f7yyvP3yVz8Qs8gTFxx8","title":"Rounding","pathname":"/concrete/2.8/explanations/advanced-features/rounding","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"sZlm8deSFg6L6oIBUbsx","title":"Truncating","pathname":"/concrete/2.8/explanations/advanced-features/truncating","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"PlHlKfalOlFl6zRjubIg","title":"Floating points","pathname":"/concrete/2.8/explanations/advanced-features/floating_points","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"i5qdKhY61ssq3RgTbpN7","title":"Comparisons","pathname":"/concrete/2.8/explanations/advanced-features/comparisons","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"vGw9tC5qGzbx3MZuLJF6","title":"Min/Max operations","pathname":"/concrete/2.8/explanations/advanced-features/minmax","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"yI8yuzhsZMWynMqvZEvv","title":"Bitwise operations","pathname":"/concrete/2.8/explanations/advanced-features/bitwise","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"LbuTJVMJSfui5SlgmD60","title":"Direct circuits","pathname":"/concrete/2.8/explanations/advanced-features/direct_circuits","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"Sou6322zbGYGNxBXas2Q","title":"Tagging","pathname":"/concrete/2.8/explanations/advanced-features/tagging","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"LLMPx5jN35akr99HQyih","title":"Cryptography basics","pathname":"/concrete/2.8/explanations/fhe_basics","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"SVX5wRJcDB2i6nniZg66","title":"Security","pathname":"/concrete/2.8/explanations/security","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"piWNtdFkf3YogCUYyjiX","title":"Frontend fusing","pathname":"/concrete/2.8/explanations/fusing","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"hyVnLb9AuZzwqoAQfipH","title":"Contributing","pathname":"/concrete/2.8/developers/contributing","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"rhtgups8AtbXpiS40QCs","title":"Project layout","pathname":"/concrete/2.8/developers/contributing/layout","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"zpP6y5wAtKJO7I7n3XkR","title":"Compiler backend","pathname":"/concrete/2.8/developers/contributing/backends","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"lfK520fPd1FNyd1eCnzk","title":"Adding a new backend","pathname":"/concrete/2.8/developers/contributing/backends/new_backend","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"Compiler backend"}]},{"id":"F317jLkCnR7fwaM0Js7s","title":"Optimizer","pathname":"/concrete/2.8/developers/contributing/optimizer","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"4XKeWnivE08eqj6FfcZd","title":"MLIR FHE dialects","pathname":"/concrete/2.8/developers/contributing/dialects","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"wDD13ljbkZSgmQSPM3A2","title":"FHELinalg dialect","pathname":"/concrete/2.8/developers/contributing/dialects/fhelinalgdialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"6DEbxglxxAA3oBGasRZ4","title":"FHE dialect","pathname":"/concrete/2.8/developers/contributing/dialects/fhedialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"7hcN1XqD0VdvJDlQyCrh","title":"TFHE dialect","pathname":"/concrete/2.8/developers/contributing/dialects/tfhedialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"gFwEPvo9GL050sU9bp3m","title":"Concrete dialect","pathname":"/concrete/2.8/developers/contributing/dialects/concretedialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"fEWhlFCzkYqW5BDExRoM","title":"Tracing dialect","pathname":"/concrete/2.8/developers/contributing/dialects/tracingdialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"WV99OLZLh6N8rTykHPS6","title":"Runtime dialect","pathname":"/concrete/2.8/developers/contributing/dialects/rtdialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"KkNbGeFvluF6P5yGzmLI","title":"SDFG dialect","pathname":"/concrete/2.8/developers/contributing/dialects/sdfgdialect","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"wACF9Dlahf4AIm9UsmFL","title":"Call FHE circuits from other languages","pathname":"/concrete/2.8/developers/contributing/call_from_other_language","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"Xrfk0nbwBcQemJKZivob","title":"Benchmarking","pathname":"/concrete/2.8/developers/contributing/benchmarking","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"1EYNsQafpp6Q3HbrTf2S","title":"Examples","pathname":"/concrete/2.8/developers/contributing/examples","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"dXybZnp8WJqr6roHmo4c","title":"Making a release","pathname":"/concrete/2.8/developers/contributing/releasing","siteSpaceId":"sitesp_h4nSO","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"MLghd2tHAbnwsijQeOIO","title":"Welcome","pathname":"/concrete/2.9","siteSpaceId":"sitesp_khPDV","description":"Concrete is an open-source FHE Compiler that simplifies the use of Fully Homomorphic Encryption (FHE)."},{"id":"aARqpqommJgPIasnrQwg","title":"What is Concrete?","pathname":"/concrete/2.9/get-started/get-started","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"zanduwNJwyZ6jAWCPmXR","title":"Installation","pathname":"/concrete/2.9/get-started/installing","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"sWFqavyJSq5DDxKkJZHC","title":"Quick start","pathname":"/concrete/2.9/get-started/quick_start","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"OQtEhBjBJWwqtTAJA8sb","title":"Quick overview","pathname":"/concrete/2.9/get-started/quick_overview","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"5ofjEk0wTd20aXhidYGz","title":"Terminology","pathname":"/concrete/2.9/get-started/terminology","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"QC3Fi5XHWWKoYz3FqC56","title":"Table Lookups basics","pathname":"/concrete/2.9/operations/table_lookups","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"S2UhIOu5EqDIYo2tqOvT","title":"Non-linear operations","pathname":"/concrete/2.9/operations/non_linear_operations","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"n6Nc7Y3xn5cHJdGl76Kt","title":"Other operations","pathname":"/concrete/2.9/operations/other-operations","siteSpaceId":"sitesp_khPDV","breadcrumbs":[{"label":"Operations"}]},{"id":"EHWDuXEqDwve0WRInyn2","title":"Bit extraction","pathname":"/concrete/2.9/operations/other-operations/bit_extraction","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"7IWlNOGMYgM1r6dghJKU","title":"Common tips","pathname":"/concrete/2.9/operations/other-operations/workarounds","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"NdQt2Eum7hHYd3T0bH1a","title":"Extensions","pathname":"/concrete/2.9/operations/other-operations/extensions","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"2fFKylYMfhK4KZQGFsPO","title":"Combining compiled functions","pathname":"/concrete/2.9/compilation/combining","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"FIUJ6UnNuKNJcOiwwZOE","title":"With composition","pathname":"/concrete/2.9/compilation/combining/composition","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"2wcR1bKJsTT8eWZ3WlOB","title":"With modules","pathname":"/concrete/2.9/compilation/combining/composing_functions_with_modules","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"AermTadQ1pyc6XtyoYtl","title":"Key-related options for faster execution","pathname":"/concrete/2.9/compilation/key-related-options-for-faster-execution","siteSpaceId":"sitesp_khPDV","breadcrumbs":[{"label":"Compilation"}]},{"id":"jYkFiQBUwgor7XELl2ZM","title":"Multi precision","pathname":"/concrete/2.9/compilation/key-related-options-for-faster-execution/multi_precision","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"koqjPyo4tzFKd8npaKR7","title":"Multi parameters","pathname":"/concrete/2.9/compilation/key-related-options-for-faster-execution/multi_parameters","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"S1CCApgwK0pqXFK299Oo","title":"Compression","pathname":"/concrete/2.9/compilation/compression","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"9TcRlsxMZskDZmOtTpwr","title":"Reusing arguments","pathname":"/concrete/2.9/compilation/reuse_arguments","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"E0JUjv9myxhWvhtWl1uW","title":"Parameter compatibility with restrictions","pathname":"/concrete/2.9/compilation/parameter_compatibility_with_restrictions","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"8Phd51GqQMQNfyXsZ8I1","title":"Common errors","pathname":"/concrete/2.9/compilation/common_errors","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"jLJCwhA9WS2IwJ4LHopL","title":"Simulation","pathname":"/concrete/2.9/execution-analysis/simulation","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"5xQbzryPuwVJTpTMgpYX","title":"Debugging and artifact","pathname":"/concrete/2.9/execution-analysis/debug","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"bk5DEoiY2MBNcfq2goTI","title":"Performance","pathname":"/concrete/2.9/execution-analysis/summary","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"wJUC8Cc30wgHbBDHz5Jd","title":"GPU acceleration","pathname":"/concrete/2.9/execution-analysis/gpu_acceleration","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"N1fsBQ0P1djZFqbCfm4u","title":"Other","pathname":"/concrete/2.9/execution-analysis/other","siteSpaceId":"sitesp_khPDV","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"cSpZubVqv6MNaOT7SDwI","title":"Statistics","pathname":"/concrete/2.9/execution-analysis/other/statistics","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"IGZZjZRGoZRby3Kt1fwC","title":"Progressbar","pathname":"/concrete/2.9/execution-analysis/other/progressbar","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"9DMgx2gz6l8UzretrbaT","title":"Formatting and drawing","pathname":"/concrete/2.9/execution-analysis/other/formatting_and_drawing","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"1QHZA5iF1kgvicB7853w","title":"Configure","pathname":"/concrete/2.9/guides/configure","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"PJTEfHRguoRKV315Lj7f","title":"Manage keys","pathname":"/concrete/2.9/guides/manage_keys","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"tvvSvKy1z3FmBqqfj9bh","title":"Deploy","pathname":"/concrete/2.9/guides/deploy","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"B1zlGd7lfdeq9ZZfizxi","title":"TFHE-rs Interoperability","pathname":"/concrete/2.9/guides/tfhers","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"aN8GOiPeAAJQH428e4po","title":"Shared key","pathname":"/concrete/2.9/guides/tfhers/shared-key","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"OolrfLwIznj7op2Meded","title":"Serialization","pathname":"/concrete/2.9/guides/tfhers/serialization","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"0zep2h4uYA9cE4WBYQxl","title":"Optimization","pathname":"/concrete/2.9/guides/self","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"4oh2nRj1XqhYPSo4cRoS","title":"Improve parallelism","pathname":"/concrete/2.9/guides/self/self","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"SFwUiu0207FjRuhhp0LW","title":"Dataflow parallelism","pathname":"/concrete/2.9/guides/self/self/dataflow","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"3o7kcTTWGkZDcbZCwoWi","title":"Tensorizing operations","pathname":"/concrete/2.9/guides/self/self/tensorization","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"NEJZwicmpFZuTM5GuOLC","title":"Optimize table lookups","pathname":"/concrete/2.9/guides/self/self-1","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"3W7AYaM4UO9kCqFvNlVV","title":"Reducing TLU","pathname":"/concrete/2.9/guides/self/self-1/reducing-amount","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"5noN7KGtOwlH9RcyyYYe","title":"Implementation strategies","pathname":"/concrete/2.9/guides/self/self-1/strategies","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"TngBPLNyL506uwk0sMWv","title":"Round/truncating","pathname":"/concrete/2.9/guides/self/self-1/round-truncate","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"KLw58pmjUUiABowD8iGt","title":"Approximate mode","pathname":"/concrete/2.9/guides/self/self-1/approximate","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"AlpyYnEZMvg7nRbVrkSW","title":"Bit extraction","pathname":"/concrete/2.9/guides/self/self-1/bit-extraction","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"8moEB5vZwAxpWsUBtX0G","title":"Optimize cryptographic parameters","pathname":"/concrete/2.9/guides/self/self-2","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"JTA6tESCWnQF1m9IfIDm","title":"Error probability","pathname":"/concrete/2.9/guides/self/self-2/p-error","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"jAPOHD9zZoUUiC6sxR6B","title":"Composition","pathname":"/concrete/2.9/guides/self/self-2/composition","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"qt6eLGXluUaLt38bcjkZ","title":"See all tutorials","pathname":"/concrete/2.9/tutorials/see-all-tutorials","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"pnxyTOhoy5MzOAvH6Iwc","title":"API","pathname":"/concrete/2.9/references/api","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"References"}]},{"id":"EmDTJm0D3z8UJvzhNnR7","title":"Supported operations","pathname":"/concrete/2.9/references/compatibility","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"References"}]},{"id":"NQrL5URc3FvMCOtR72CD","title":"Compiler workflow","pathname":"/concrete/2.9/explanations/compiler_workflow","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"xHpJ4mQjdlgfNdzuR2PQ","title":"Advanced features","pathname":"/concrete/2.9/explanations/advanced-features","siteSpaceId":"sitesp_khPDV","breadcrumbs":[{"label":"Explanations"}]},{"id":"TQh0zfnkLiCpfV44DNp7","title":"Table Lookups advanced","pathname":"/concrete/2.9/explanations/advanced-features/table_lookups_advanced","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"kcW4TJ27vPmPrxW2GXCE","title":"Rounding","pathname":"/concrete/2.9/explanations/advanced-features/rounding","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"zYxOPyBEQtrlZs7cruQq","title":"Truncating","pathname":"/concrete/2.9/explanations/advanced-features/truncating","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"jcEUGRRLa8o0317Llvwk","title":"Floating points","pathname":"/concrete/2.9/explanations/advanced-features/floating_points","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"MLIdBi8mRGDotLHplkAJ","title":"Comparisons","pathname":"/concrete/2.9/explanations/advanced-features/comparisons","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"9BxfXFfLA6Risq41dc6q","title":"Min/Max operations","pathname":"/concrete/2.9/explanations/advanced-features/minmax","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"78ezYUw8ZEeRqtovnKiv","title":"Bitwise operations","pathname":"/concrete/2.9/explanations/advanced-features/bitwise","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"WlhedTr2suLcvHeuEFkT","title":"Direct circuits","pathname":"/concrete/2.9/explanations/advanced-features/direct_circuits","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"Lzw05R53Y037WRyK6hBn","title":"Tagging","pathname":"/concrete/2.9/explanations/advanced-features/tagging","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"901Q33LpI5JjnZnBS4Wf","title":"Cryptography basics","pathname":"/concrete/2.9/explanations/fhe_basics","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"skUgAITM1jBBxqJXnFEH","title":"Security","pathname":"/concrete/2.9/explanations/security","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"hw6aiQ4M1qOqWhs87TRg","title":"Frontend fusing","pathname":"/concrete/2.9/explanations/fusing","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"w6xXgk2UDqgb3BOU8oaU","title":"Contributing","pathname":"/concrete/2.9/developers/contributing","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"1oiwWzpTE2Sz6DTwXcL4","title":"Project layout","pathname":"/concrete/2.9/developers/contributing/layout","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"4JfV7Aeangnz38eaoNEo","title":"Compiler backend","pathname":"/concrete/2.9/developers/contributing/backends","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"KQs2NfHqfdQtyKnphrIA","title":"Adding a new backend","pathname":"/concrete/2.9/developers/contributing/backends/new_backend","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"Compiler backend"}]},{"id":"v8oobam3ZxMgeskapCYb","title":"Optimizer","pathname":"/concrete/2.9/developers/contributing/optimizer","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"bHLWHjML14IRDH8tYZXY","title":"MLIR FHE dialects","pathname":"/concrete/2.9/developers/contributing/dialects","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"Wrs1RYBZrbEQsl4EZi00","title":"FHELinalg dialect","pathname":"/concrete/2.9/developers/contributing/dialects/fhelinalgdialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"Gg0IyN5UiblBXrhWNgzw","title":"FHE dialect","pathname":"/concrete/2.9/developers/contributing/dialects/fhedialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"sIf6HOrt639kWVHHEPUJ","title":"TFHE dialect","pathname":"/concrete/2.9/developers/contributing/dialects/tfhedialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"dGtFA9h4GrcaLLH0zqKK","title":"Concrete dialect","pathname":"/concrete/2.9/developers/contributing/dialects/concretedialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"FTjxDZbz1CYG79BJHWYU","title":"Tracing dialect","pathname":"/concrete/2.9/developers/contributing/dialects/tracingdialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"GqEpC8kKY7KO7FhXMU66","title":"Runtime dialect","pathname":"/concrete/2.9/developers/contributing/dialects/rtdialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"gXyK0FsNUFxX2vUaLz0T","title":"SDFG dialect","pathname":"/concrete/2.9/developers/contributing/dialects/sdfgdialect","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"7zhGb6xDCA5bWWoI9faX","title":"Call FHE circuits from other languages","pathname":"/concrete/2.9/developers/contributing/call_from_other_language","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"GEMy6Zj321D0Y85aLMQy","title":"Benchmarking","pathname":"/concrete/2.9/developers/contributing/benchmarking","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"rQZ4HSoTKs2f4A3Tkz9f","title":"Examples","pathname":"/concrete/2.9/developers/contributing/examples","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"exWRA0fr0L6IKAskHVBZ","title":"Making a release","pathname":"/concrete/2.9/developers/contributing/releasing","siteSpaceId":"sitesp_khPDV","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"ozqUkoJghPlt4a8IjPNa","title":"Welcome","pathname":"/concrete/2.10","siteSpaceId":"sitesp_oPOew","description":"Concrete is an open-source FHE Compiler that simplifies the use of Fully Homomorphic Encryption (FHE)."},{"id":"DXf3UHFDPZYWOkh6X1Ya","title":"What is Concrete?","pathname":"/concrete/2.10/get-started/get-started","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"vT98ySqJx3EWtG0qg03a","title":"Installation","pathname":"/concrete/2.10/get-started/installing","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"xRZxfdgUNy0fpfYp09PH","title":"Quick start","pathname":"/concrete/2.10/get-started/quick_start","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"cghQep1x4IsoG7yqkI61","title":"Quick overview","pathname":"/concrete/2.10/get-started/quick_overview","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"zxTwChuM7I6C0AF7hFo3","title":"Terminology","pathname":"/concrete/2.10/get-started/terminology","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"XZGc4sZRmCUU9RbtjCvS","title":"Table Lookups basics","pathname":"/concrete/2.10/operations/table_lookups","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"8IaZwvITMJeRnjKyL16X","title":"Non-linear operations","pathname":"/concrete/2.10/operations/non_linear_operations","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"p0CXLYhnCvzdmx8X983U","title":"Other operations","pathname":"/concrete/2.10/operations/other-operations","siteSpaceId":"sitesp_oPOew","breadcrumbs":[{"label":"Operations"}]},{"id":"Kw1XXAUEAclkFkTnnDf4","title":"Bit extraction","pathname":"/concrete/2.10/operations/other-operations/bit_extraction","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"1SDmCYoTItFsLuxpHDHr","title":"Common tips","pathname":"/concrete/2.10/operations/other-operations/workarounds","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"TTnJlKBvltcGtXUz1wij","title":"Extensions","pathname":"/concrete/2.10/operations/other-operations/extensions","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"BhJfrfjvkm7uUDUhOdtC","title":"Combining compiled functions","pathname":"/concrete/2.10/compilation/combining","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"XhBUEB8Gbamkb97ahBVE","title":"With composition","pathname":"/concrete/2.10/compilation/combining/composition","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"Gw5qHkUwKKr519FSTaiH","title":"With modules","pathname":"/concrete/2.10/compilation/combining/composing_functions_with_modules","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"8612XcGu1rmZSwCfG74C","title":"Key-related options for faster execution","pathname":"/concrete/2.10/compilation/key-related-options-for-faster-execution","siteSpaceId":"sitesp_oPOew","breadcrumbs":[{"label":"Compilation"}]},{"id":"ia9bynTwIReb4az7VSGD","title":"Multi precision","pathname":"/concrete/2.10/compilation/key-related-options-for-faster-execution/multi_precision","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"qws9KxAi2twLe68cr5BQ","title":"Multi parameters","pathname":"/concrete/2.10/compilation/key-related-options-for-faster-execution/multi_parameters","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"D6HiCza34WHXORjQ9cun","title":"Compression","pathname":"/concrete/2.10/compilation/compression","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"HBrWp0Bqmd97UdeK8Nd6","title":"Reusing arguments","pathname":"/concrete/2.10/compilation/reuse_arguments","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"OlgoNSEehJpsTPHmTxyT","title":"Parameter compatibility with restrictions","pathname":"/concrete/2.10/compilation/parameter_compatibility_with_restrictions","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"zCu1506nE4Xol7AxqmFO","title":"Common errors","pathname":"/concrete/2.10/compilation/common_errors","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"UsW9mch7gwcmFClIaWVV","title":"Simulation","pathname":"/concrete/2.10/execution-analysis/simulation","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"GOsXwmX0pDXKZRcVh3OY","title":"Debugging and artifact","pathname":"/concrete/2.10/execution-analysis/debug","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"MzJnqQMZ6At13M8P3f0M","title":"Performance","pathname":"/concrete/2.10/execution-analysis/summary","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"fSvm9tv71CMicY4Ttxcc","title":"GPU acceleration","pathname":"/concrete/2.10/execution-analysis/gpu_acceleration","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"uVRnELzl9dvYDLxEIG7Z","title":"Other","pathname":"/concrete/2.10/execution-analysis/other","siteSpaceId":"sitesp_oPOew","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"W5VtxY51RRUb0aEOiFBy","title":"Statistics","pathname":"/concrete/2.10/execution-analysis/other/statistics","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"XKAoWpjFOKBfClTlMpbA","title":"Progressbar","pathname":"/concrete/2.10/execution-analysis/other/progressbar","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"uipAzrNeuCPOYieKiuE7","title":"Formatting and drawing","pathname":"/concrete/2.10/execution-analysis/other/formatting_and_drawing","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"dL7yx3lGrNnB9zlyFy67","title":"Configure","pathname":"/concrete/2.10/guides/configure","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"VEwTdcNpAxfRFpkca0kO","title":"Manage keys","pathname":"/concrete/2.10/guides/manage_keys","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"NGle2chcvKoQZIa5JBJD","title":"Deploy","pathname":"/concrete/2.10/guides/deploy","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"B1bG3uyjxIq5K9LGNal1","title":"TFHE-rs Interoperability","pathname":"/concrete/2.10/guides/tfhers","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"ShTGCeF4EZfWIAidj1wC","title":"Shared key","pathname":"/concrete/2.10/guides/tfhers/shared-key","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"JlaxbpvibeOBsxRlizbU","title":"Serialization","pathname":"/concrete/2.10/guides/tfhers/serialization","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"yP0RKeOSlWR8Kn8Zr68v","title":"Optimization","pathname":"/concrete/2.10/guides/self","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"3n07eMp168260D4yxFqk","title":"Improve parallelism","pathname":"/concrete/2.10/guides/self/self","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"1OrpmWVDKJqZoBUUUKLn","title":"Dataflow parallelism","pathname":"/concrete/2.10/guides/self/self/dataflow","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"aVXrFuRIC9DmMbPJwXqX","title":"Tensorizing operations","pathname":"/concrete/2.10/guides/self/self/tensorization","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"RSMqD6J5oTLt3anVBDNl","title":"Optimize table lookups","pathname":"/concrete/2.10/guides/self/self-1","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"CERD7Mk2sJoKAI6MVk0z","title":"Reducing TLU","pathname":"/concrete/2.10/guides/self/self-1/reducing-amount","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"6mBs6gArRvlLfxs9Z7G5","title":"Implementation strategies","pathname":"/concrete/2.10/guides/self/self-1/strategies","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"LaPbDxEXz3o7wZmVQ2Oq","title":"Round/truncating","pathname":"/concrete/2.10/guides/self/self-1/round-truncate","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"aDBaXPt6zuN4TwcLGgDr","title":"Approximate mode","pathname":"/concrete/2.10/guides/self/self-1/approximate","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"Wi0L97QsjwiS0g24T4uL","title":"Bit extraction","pathname":"/concrete/2.10/guides/self/self-1/bit-extraction","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"LBD45EEtDkFMgauWrm2v","title":"Optimize cryptographic parameters","pathname":"/concrete/2.10/guides/self/self-2","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"rc6VnLNy8fwx2h13BXqU","title":"Error probability","pathname":"/concrete/2.10/guides/self/self-2/p-error","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"L1Gz9n3wwPG359B6GroS","title":"Composition","pathname":"/concrete/2.10/guides/self/self-2/composition","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"tQNMB2jijsZSR3wxRkWq","title":"See all tutorials","pathname":"/concrete/2.10/tutorials/see-all-tutorials","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"xC9dxxlKBPzUd7ebEwz2","title":"API","pathname":"/concrete/2.10/references/api","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"References"}]},{"id":"5DbUVhkogFzqSilX5EtK","title":"Supported operations","pathname":"/concrete/2.10/references/compatibility","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"References"}]},{"id":"Znj8vLUyuhy0iuqppiPz","title":"Compiler workflow","pathname":"/concrete/2.10/explanations/compiler_workflow","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"cj6WleMm3nLBAzpqurUi","title":"Advanced features","pathname":"/concrete/2.10/explanations/advanced-features","siteSpaceId":"sitesp_oPOew","breadcrumbs":[{"label":"Explanations"}]},{"id":"e7HhpLrsAuJkEv6mYJ9c","title":"Table Lookups advanced","pathname":"/concrete/2.10/explanations/advanced-features/table_lookups_advanced","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"WrR0mxUHeDGdjlnHQjMp","title":"Rounding","pathname":"/concrete/2.10/explanations/advanced-features/rounding","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"C3ugbpkAb2yuKI6lzQml","title":"Truncating","pathname":"/concrete/2.10/explanations/advanced-features/truncating","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"BEoVAUZ7QC5jGhZLssRh","title":"Floating points","pathname":"/concrete/2.10/explanations/advanced-features/floating_points","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"aZtKTxv43JtQrL8iSpAo","title":"Comparisons","pathname":"/concrete/2.10/explanations/advanced-features/comparisons","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"u82ulh70S6UD4UUgFuTc","title":"Min/Max operations","pathname":"/concrete/2.10/explanations/advanced-features/minmax","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"nnO2KF6wfwAD3hRELZcv","title":"Bitwise operations","pathname":"/concrete/2.10/explanations/advanced-features/bitwise","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"qqo7tuDkvFGoX7I6Y9M7","title":"Direct circuits","pathname":"/concrete/2.10/explanations/advanced-features/direct_circuits","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"wsayQu1G8LBBgn90ibQE","title":"Tagging","pathname":"/concrete/2.10/explanations/advanced-features/tagging","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"wejHxcKa67TWzLMNWSKV","title":"Cryptography basics","pathname":"/concrete/2.10/explanations/fhe_basics","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"LmNXk5juZSpmlNuoCCPD","title":"Security","pathname":"/concrete/2.10/explanations/security","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"iqpiKDVN2H0isAz3Anzr","title":"Frontend fusing","pathname":"/concrete/2.10/explanations/fusing","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"ZFl9bdPNb35gTI3TkMcu","title":"Contributing","pathname":"/concrete/2.10/developers/contributing","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"DCfVu5VwlUDw93Ah6k7y","title":"Project layout","pathname":"/concrete/2.10/developers/contributing/layout","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"7cBYfurI9STM6JbIMxo0","title":"Compiler backend","pathname":"/concrete/2.10/developers/contributing/backends","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"rvP564unMB9liseCtwQt","title":"Adding a new backend","pathname":"/concrete/2.10/developers/contributing/backends/new_backend","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"Compiler backend"}]},{"id":"2dZCoC3v2XNYqU0cIAnp","title":"Optimizer","pathname":"/concrete/2.10/developers/contributing/optimizer","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"OP6F6qsxHIOmtCthp6sA","title":"MLIR FHE dialects","pathname":"/concrete/2.10/developers/contributing/dialects","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"xuJ2MqCk51nh3q5MtZb3","title":"FHELinalg dialect","pathname":"/concrete/2.10/developers/contributing/dialects/fhelinalgdialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"oF7RXT2AUox5eWpcGmAQ","title":"FHE dialect","pathname":"/concrete/2.10/developers/contributing/dialects/fhedialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"qzydwbDuwlUl9aGGEnT4","title":"TFHE dialect","pathname":"/concrete/2.10/developers/contributing/dialects/tfhedialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"2BAdwsXpdIz9eGAuXtbx","title":"Concrete dialect","pathname":"/concrete/2.10/developers/contributing/dialects/concretedialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"ECq58zxJoj2A0PGoPZRZ","title":"Tracing dialect","pathname":"/concrete/2.10/developers/contributing/dialects/tracingdialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"CkKgyLl19n23rBTQL7qD","title":"Runtime dialect","pathname":"/concrete/2.10/developers/contributing/dialects/rtdialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"IKKFzElQiRCADSNUfv23","title":"SDFG dialect","pathname":"/concrete/2.10/developers/contributing/dialects/sdfgdialect","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"XWdLI0A6Txs6m4IDpsLn","title":"Call FHE circuits from other languages","pathname":"/concrete/2.10/developers/contributing/call_from_other_language","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"XrTTriBrlVLS2Sbgz14A","title":"Benchmarking","pathname":"/concrete/2.10/developers/contributing/benchmarking","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"aStkYMCd1vRutur35hAa","title":"Examples","pathname":"/concrete/2.10/developers/contributing/examples","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"BvBYw58a1aSdidBtDjKj","title":"Making a release","pathname":"/concrete/2.10/developers/contributing/releasing","siteSpaceId":"sitesp_oPOew","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"5stZ98xCfqzypWJVl9VC","title":"Welcome","pathname":"/concrete","siteSpaceId":"sitesp_eWyuh","description":"Concrete is an open-source FHE Compiler that simplifies the use of Fully Homomorphic Encryption (FHE)."},{"id":"nKjnYjCVlMpIwl5HHQFh","title":"What is Concrete?","pathname":"/concrete/get-started/get-started","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"jzJFxnZIUJ0mvRQuLc0Z","title":"Installation","pathname":"/concrete/get-started/installing","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"CJL8tEn45i0ChMDNpFjY","title":"Quick start","pathname":"/concrete/get-started/quick_start","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"gDNMHX16kh5UQbuaVatO","title":"Quick overview","pathname":"/concrete/get-started/quick_overview","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"5H6kC9y1ZqjtfurwGICX","title":"Terminology","pathname":"/concrete/get-started/terminology","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"AH7r47XWuEfkKi0Hmqiq","title":"Table Lookups basics","pathname":"/concrete/operations/table_lookups","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"FFlYyAGF5p37bf7FzriH","title":"Non-linear operations","pathname":"/concrete/operations/non_linear_operations","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Operations"}]},{"id":"VUeoFtnOWikCrWraXR76","title":"Other operations","pathname":"/concrete/operations/other-operations","siteSpaceId":"sitesp_eWyuh","breadcrumbs":[{"label":"Operations"}]},{"id":"7MFzBIYch0vx8mtitFMa","title":"Bit extraction","pathname":"/concrete/operations/other-operations/bit_extraction","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"mj8w1jzNzc1MuhbsaoHP","title":"Common tips","pathname":"/concrete/operations/other-operations/workarounds","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"SPE7OEhkV2OLnRfpdVcI","title":"Extensions","pathname":"/concrete/operations/other-operations/extensions","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Operations"},{"label":"Other operations"}]},{"id":"TQbKa2uNeJWONHZJ6all","title":"Combining compiled functions","pathname":"/concrete/compilation/combining","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"vgdmYkTQWyUsKKinWkZR","title":"With composition","pathname":"/concrete/compilation/combining/composition","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"HqSY09Xz8IWM8q9vcUxO","title":"With modules","pathname":"/concrete/compilation/combining/composing_functions_with_modules","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Combining compiled functions"}]},{"id":"GaTusNSmlxTAGWHCDqqH","title":"Key-related options for faster execution","pathname":"/concrete/compilation/key-related-options-for-faster-execution","siteSpaceId":"sitesp_eWyuh","breadcrumbs":[{"label":"Compilation"}]},{"id":"3f5WullBS2cgOy2rZ8Do","title":"Multi precision","pathname":"/concrete/compilation/key-related-options-for-faster-execution/multi_precision","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"8FrQODN6rlVvKTMh5Rff","title":"Multi parameters","pathname":"/concrete/compilation/key-related-options-for-faster-execution/multi_parameters","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"},{"label":"Key-related options for faster execution"}]},{"id":"tWDez5kKMjYL6mNGlJSJ","title":"Compression","pathname":"/concrete/compilation/compression","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"45EEYIo4CkV4wGw1Xk7i","title":"Reusing arguments","pathname":"/concrete/compilation/reuse_arguments","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"T9dBQQdWgHqOwcFYkaFI","title":"Parameter compatibility with restrictions","pathname":"/concrete/compilation/parameter_compatibility_with_restrictions","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"MUdxt7YAy5vMqAf9XxKI","title":"Common errors","pathname":"/concrete/compilation/common_errors","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Compilation"}]},{"id":"SZ6YqcT14GlHudUMdmZo","title":"Simulation","pathname":"/concrete/execution-analysis/simulation","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"AIvXCR0TFAq2txTByUFN","title":"Debugging and artifact","pathname":"/concrete/execution-analysis/debug","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"iAaEkQ21Hngobvb9HFSw","title":"Performance","pathname":"/concrete/execution-analysis/summary","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"Xdkyzwaz1IVPRWc5LcIP","title":"GPU acceleration","pathname":"/concrete/execution-analysis/gpu_acceleration","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"LVCcUgDx25BC9dthrBa3","title":"Rust integration","pathname":"/concrete/execution-analysis/rust_integration","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"Lq6yej3vo5oYSsx8CT4y","title":"Other","pathname":"/concrete/execution-analysis/other","siteSpaceId":"sitesp_eWyuh","breadcrumbs":[{"label":"Execution / Analysis"}]},{"id":"Hh81zJ1X8jy4F4PiiwUZ","title":"Statistics","pathname":"/concrete/execution-analysis/other/statistics","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"af4hb7Zr5nboMfjv9R2n","title":"Progressbar","pathname":"/concrete/execution-analysis/other/progressbar","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"Pb6tI961EBDwJzfn9QyE","title":"Formatting and drawing","pathname":"/concrete/execution-analysis/other/formatting_and_drawing","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Execution / Analysis"},{"label":"Other"}]},{"id":"5YqiRYduEM5bTutse9Ao","title":"Configure","pathname":"/concrete/guides/configure","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"iW20cuvwrBxYVbipdDlv","title":"Manage keys","pathname":"/concrete/guides/manage_keys","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"F6AI2STI0ZFbs5o6hK5Z","title":"Deploy","pathname":"/concrete/guides/deploy","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"4xUVumj60ZcmujabYlk9","title":"TFHE-rs Interoperability","pathname":"/concrete/guides/tfhers","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"pktB8MXEXiYUSZX6gcDf","title":"Shared key","pathname":"/concrete/guides/tfhers/shared-key","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"E0Tqpqq81Xu8VTUh5my7","title":"Serialization","pathname":"/concrete/guides/tfhers/serialization","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"TFHE-rs Interoperability"}]},{"id":"OVSdtrjAAAW0BfZ35tC7","title":"Optimization","pathname":"/concrete/guides/self","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"DrLjaITN3VGvpUTeMDzy","title":"Improve parallelism","pathname":"/concrete/guides/self/self","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"Od1E6unlkWm2wGfIvmWF","title":"Dataflow parallelism","pathname":"/concrete/guides/self/self/dataflow","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"z6TQZOWZPub0QcoszDSv","title":"Tensorizing operations","pathname":"/concrete/guides/self/self/tensorization","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Improve parallelism"}]},{"id":"h7H3OALkfFK5Chqtvvnt","title":"Optimize table lookups","pathname":"/concrete/guides/self/self-1","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"Kov0j7RVV44kmL2Rykg3","title":"Reducing TLU","pathname":"/concrete/guides/self/self-1/reducing-amount","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"lYkaw6nNqVMzX3IEgs2I","title":"Implementation strategies","pathname":"/concrete/guides/self/self-1/strategies","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"IsTfMyPZE1XdAagZN2rn","title":"Round/truncating","pathname":"/concrete/guides/self/self-1/round-truncate","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"Ks5pXj0IDIP5o6jd3lHI","title":"Approximate mode","pathname":"/concrete/guides/self/self-1/approximate","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"I8jAlOsFBpe38ADPhSxx","title":"Bit extraction","pathname":"/concrete/guides/self/self-1/bit-extraction","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize table lookups"}]},{"id":"u3abBpLaptJncdSIa1eL","title":"Optimize cryptographic parameters","pathname":"/concrete/guides/self/self-2","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"}]},{"id":"E7seGsLEEqhLSZFwFYdB","title":"Error probability","pathname":"/concrete/guides/self/self-2/p-error","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"3QyP3koQ2t2eWVFXQHT4","title":"Composition","pathname":"/concrete/guides/self/self-2/composition","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Optimization"},{"label":"Optimize cryptographic parameters"}]},{"id":"DfFj1P8ujVrtib3qbNMM","title":"See all tutorials","pathname":"/concrete/tutorials/see-all-tutorials","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Tutorials"}]},{"id":"DDSRzKgu8r0rFSa2ShRJ","title":"API","pathname":"/concrete/references/api","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"References"}]},{"id":"svXQypuEW2zbhvplcB4u","title":"Supported operations","pathname":"/concrete/references/compatibility","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"References"}]},{"id":"pFinI4R03IOblGNsY46U","title":"Compiler workflow","pathname":"/concrete/explanations/compiler_workflow","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"jwV7J72uW7nhKreUDZyJ","title":"Advanced features","pathname":"/concrete/explanations/advanced-features","siteSpaceId":"sitesp_eWyuh","breadcrumbs":[{"label":"Explanations"}]},{"id":"ZIMR9P5Wm21s3CpIXmaE","title":"Table Lookups advanced","pathname":"/concrete/explanations/advanced-features/table_lookups_advanced","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"YPKmLYCsxiOBAFNL3WN6","title":"Rounding","pathname":"/concrete/explanations/advanced-features/rounding","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"JA4zzxbVtzwITy107yMt","title":"Truncating","pathname":"/concrete/explanations/advanced-features/truncating","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"YxwK0aktpbMiLzKBs4Bg","title":"Floating points","pathname":"/concrete/explanations/advanced-features/floating_points","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"GlLbzL3l7sUU7rUJoyXX","title":"Comparisons","pathname":"/concrete/explanations/advanced-features/comparisons","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"YaJPjzgDWnnGYWfhn6t2","title":"Min/Max operations","pathname":"/concrete/explanations/advanced-features/minmax","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"NfWMjFgDRiWq7EXlXsI2","title":"Bitwise operations","pathname":"/concrete/explanations/advanced-features/bitwise","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"Q4MbBTG5A8FEZ2gbGvFg","title":"Direct circuits","pathname":"/concrete/explanations/advanced-features/direct_circuits","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"eltZjavNCCwPJL0tEycj","title":"Tagging","pathname":"/concrete/explanations/advanced-features/tagging","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"},{"label":"Advanced features"}]},{"id":"mddELUg6odL7Kxnh52ik","title":"Cryptography basics","pathname":"/concrete/explanations/fhe_basics","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"6CxzhQjhclQcsnZx15a9","title":"Security","pathname":"/concrete/explanations/security","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"abzksfmKXLNl8sunso1p","title":"Frontend fusing","pathname":"/concrete/explanations/fusing","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Explanations"}]},{"id":"Yak7RcC4xPSxMUM2hDD3","title":"Contributing","pathname":"/concrete/developers/contributing","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"}]},{"id":"w6niqdli29uZEGT04x0g","title":"Project layout","pathname":"/concrete/developers/contributing/layout","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"LftmHOeg2J4wO0nKi17L","title":"Compiler backend","pathname":"/concrete/developers/contributing/backends","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"EzQOeQH8HwzzMAjXkMZY","title":"Adding a new backend","pathname":"/concrete/developers/contributing/backends/new_backend","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"Compiler backend"}]},{"id":"P0c2sebV9GK9pAZSSTjI","title":"Optimizer","pathname":"/concrete/developers/contributing/optimizer","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"5UFBcy1Z2JVaOkJXueDN","title":"MLIR FHE dialects","pathname":"/concrete/developers/contributing/dialects","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"EjjMOn4E8ghj5BSjZvc3","title":"FHELinalg dialect","pathname":"/concrete/developers/contributing/dialects/fhelinalgdialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"sT5oB3Ur0Lmn1jwLV3SK","title":"FHE dialect","pathname":"/concrete/developers/contributing/dialects/fhedialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"9tCPXhKa74yBSJYWK6CC","title":"TFHE dialect","pathname":"/concrete/developers/contributing/dialects/tfhedialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"IpsX7ebCeDNML7dEkjCV","title":"Concrete dialect","pathname":"/concrete/developers/contributing/dialects/concretedialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"o8kBvtfC4QyNl0bOiUyJ","title":"Tracing dialect","pathname":"/concrete/developers/contributing/dialects/tracingdialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"LYOx7UKGwCWdmQHGvx5b","title":"Runtime dialect","pathname":"/concrete/developers/contributing/dialects/rtdialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"8vblCuaWl7tF3P1gPFlx","title":"SDFG dialect","pathname":"/concrete/developers/contributing/dialects/sdfgdialect","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"},{"label":"MLIR FHE dialects"}]},{"id":"s0MZ7sAifAWJqGoYrDNT","title":"Call FHE circuits from other languages","pathname":"/concrete/developers/contributing/call_from_other_language","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"hGxCJgOgSs0yVl9zF3kU","title":"Benchmarking","pathname":"/concrete/developers/contributing/benchmarking","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"6134tQm90e17Ww21dwDn","title":"Examples","pathname":"/concrete/developers/contributing/examples","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]},{"id":"ge4X35N5jqCnguDh5yC3","title":"Making a release","pathname":"/concrete/developers/contributing/releasing","siteSpaceId":"sitesp_eWyuh","description":"","breadcrumbs":[{"label":"Developers"},{"label":"Contributing"}]}]}