./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/bitvector/soft_float_3a.c.cil.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/bitvector/soft_float_3a.c.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 95f89ee6bcff8f17eb3e93b344abecdfb8ddea0894d1b25afafccf6235d7ced6 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 14:36:40,280 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 14:36:40,282 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 14:36:40,310 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 14:36:40,311 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 14:36:40,312 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 14:36:40,313 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 14:36:40,314 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 14:36:40,316 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 14:36:40,316 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 14:36:40,317 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 14:36:40,318 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 14:36:40,318 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 14:36:40,319 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 14:36:40,320 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 14:36:40,321 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 14:36:40,322 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 14:36:40,323 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 14:36:40,324 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 14:36:40,326 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 14:36:40,327 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 14:36:40,328 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 14:36:40,329 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 14:36:40,330 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 14:36:40,332 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 14:36:40,333 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 14:36:40,333 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 14:36:40,334 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 14:36:40,334 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 14:36:40,335 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 14:36:40,335 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 14:36:40,336 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 14:36:40,337 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 14:36:40,337 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 14:36:40,338 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 14:36:40,339 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 14:36:40,340 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 14:36:40,341 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 14:36:40,341 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 14:36:40,342 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 14:36:40,343 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 14:36:40,344 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 14:36:40,380 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 14:36:40,383 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 14:36:40,384 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 14:36:40,384 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 14:36:40,385 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 14:36:40,385 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 14:36:40,385 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 14:36:40,385 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 14:36:40,386 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 14:36:40,386 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 14:36:40,387 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 14:36:40,387 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 14:36:40,387 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 14:36:40,388 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 14:36:40,388 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 14:36:40,388 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 14:36:40,388 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 14:36:40,388 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 14:36:40,389 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 14:36:40,389 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 14:36:40,389 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 14:36:40,389 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 14:36:40,389 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 14:36:40,390 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 14:36:40,390 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:36:40,390 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 14:36:40,390 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 14:36:40,391 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 14:36:40,391 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 14:36:40,391 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 14:36:40,391 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 14:36:40,391 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 14:36:40,392 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 14:36:40,392 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 95f89ee6bcff8f17eb3e93b344abecdfb8ddea0894d1b25afafccf6235d7ced6 [2022-02-20 14:36:40,594 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 14:36:40,621 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 14:36:40,623 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 14:36:40,624 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 14:36:40,625 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 14:36:40,627 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/bitvector/soft_float_3a.c.cil.c [2022-02-20 14:36:40,701 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/949a6ccbb/7e5306bc49464194846ac71d838eff35/FLAGe96e2dcc2 [2022-02-20 14:36:41,095 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 14:36:41,096 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/bitvector/soft_float_3a.c.cil.c [2022-02-20 14:36:41,102 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/949a6ccbb/7e5306bc49464194846ac71d838eff35/FLAGe96e2dcc2 [2022-02-20 14:36:41,488 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/949a6ccbb/7e5306bc49464194846ac71d838eff35 [2022-02-20 14:36:41,490 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 14:36:41,491 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 14:36:41,492 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 14:36:41,492 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 14:36:41,498 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 14:36:41,500 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,500 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7d80fd60 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41, skipping insertion in model container [2022-02-20 14:36:41,501 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,506 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 14:36:41,526 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 14:36:41,663 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/bitvector/soft_float_3a.c.cil.c[728,741] [2022-02-20 14:36:41,725 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:36:41,734 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 14:36:41,748 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/bitvector/soft_float_3a.c.cil.c[728,741] [2022-02-20 14:36:41,797 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:36:41,808 INFO L208 MainTranslator]: Completed translation [2022-02-20 14:36:41,809 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41 WrapperNode [2022-02-20 14:36:41,809 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 14:36:41,810 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 14:36:41,810 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 14:36:41,810 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 14:36:41,818 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,841 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,876 INFO L137 Inliner]: procedures = 17, calls = 15, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 178 [2022-02-20 14:36:41,876 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 14:36:41,877 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 14:36:41,877 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 14:36:41,877 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 14:36:41,884 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,884 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,886 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,887 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,893 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,897 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,906 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,909 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 14:36:41,914 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 14:36:41,914 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 14:36:41,915 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 14:36:41,915 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (1/1) ... [2022-02-20 14:36:41,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:36:41,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:41,940 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 14:36:41,942 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 14:36:41,969 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 14:36:41,969 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 14:36:41,969 INFO L130 BoogieDeclarations]: Found specification of procedure base2flt [2022-02-20 14:36:41,969 INFO L138 BoogieDeclarations]: Found implementation of procedure base2flt [2022-02-20 14:36:41,969 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 14:36:41,969 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 14:36:41,969 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 14:36:41,969 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 14:36:42,030 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 14:36:42,031 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 14:36:42,449 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 14:36:42,456 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 14:36:42,456 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 14:36:42,458 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:36:42 BoogieIcfgContainer [2022-02-20 14:36:42,458 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 14:36:42,459 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 14:36:42,459 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 14:36:42,462 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 14:36:42,463 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 02:36:41" (1/3) ... [2022-02-20 14:36:42,463 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5567ad75 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:36:42, skipping insertion in model container [2022-02-20 14:36:42,463 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:36:41" (2/3) ... [2022-02-20 14:36:42,464 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5567ad75 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:36:42, skipping insertion in model container [2022-02-20 14:36:42,464 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:36:42" (3/3) ... [2022-02-20 14:36:42,465 INFO L111 eAbstractionObserver]: Analyzing ICFG soft_float_3a.c.cil.c [2022-02-20 14:36:42,469 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 14:36:42,470 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 14:36:42,507 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 14:36:42,512 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 14:36:42,513 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 14:36:42,530 INFO L276 IsEmpty]: Start isEmpty. Operand has 87 states, 78 states have (on average 1.7179487179487178) internal successors, (134), 80 states have internal predecessors, (134), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:36:42,536 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 14:36:42,536 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:42,537 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:42,537 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:42,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:42,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1780268165, now seen corresponding path program 1 times [2022-02-20 14:36:42,549 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:42,549 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [609966338] [2022-02-20 14:36:42,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:42,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:42,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:42,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:42,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:42,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,904 INFO L290 TraceCheckUtils]: 3: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,905 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {90#true} {90#true} #337#return; {90#true} is VALID [2022-02-20 14:36:42,905 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:42,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:42,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,931 INFO L290 TraceCheckUtils]: 3: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,931 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {90#true} {90#true} #339#return; {90#true} is VALID [2022-02-20 14:36:42,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 14:36:42,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:42,946 INFO L290 TraceCheckUtils]: 0: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,948 INFO L290 TraceCheckUtils]: 3: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,948 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {90#true} {90#true} #341#return; {90#true} is VALID [2022-02-20 14:36:42,949 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 14:36:42,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:42,970 INFO L290 TraceCheckUtils]: 0: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,971 INFO L290 TraceCheckUtils]: 3: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,971 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {90#true} {90#true} #343#return; {90#true} is VALID [2022-02-20 14:36:42,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {90#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {90#true} is VALID [2022-02-20 14:36:42,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {90#true} is VALID [2022-02-20 14:36:42,975 INFO L272 TraceCheckUtils]: 2: Hoare triple {90#true} call main_#t~ret22#1 := base2flt(0, 0); {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:42,975 INFO L290 TraceCheckUtils]: 3: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,976 INFO L290 TraceCheckUtils]: 4: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,976 INFO L290 TraceCheckUtils]: 6: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,976 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {90#true} {90#true} #337#return; {90#true} is VALID [2022-02-20 14:36:42,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {90#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {90#true} is VALID [2022-02-20 14:36:42,978 INFO L272 TraceCheckUtils]: 9: Hoare triple {90#true} call main_#t~ret23#1 := base2flt(1, 0); {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:42,978 INFO L290 TraceCheckUtils]: 10: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,979 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {90#true} {90#true} #339#return; {90#true} is VALID [2022-02-20 14:36:42,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {90#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {90#true} is VALID [2022-02-20 14:36:42,981 INFO L272 TraceCheckUtils]: 16: Hoare triple {90#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:42,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,982 INFO L290 TraceCheckUtils]: 18: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,982 INFO L290 TraceCheckUtils]: 19: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,982 INFO L290 TraceCheckUtils]: 20: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,983 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {90#true} {90#true} #341#return; {90#true} is VALID [2022-02-20 14:36:42,983 INFO L290 TraceCheckUtils]: 22: Hoare triple {90#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {90#true} is VALID [2022-02-20 14:36:42,986 INFO L272 TraceCheckUtils]: 23: Hoare triple {90#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:42,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {113#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {90#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {90#true} is VALID [2022-02-20 14:36:42,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {90#true} #res := ~__retres4~0; {90#true} is VALID [2022-02-20 14:36:42,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {90#true} assume true; {90#true} is VALID [2022-02-20 14:36:42,990 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {90#true} {90#true} #343#return; {90#true} is VALID [2022-02-20 14:36:42,991 INFO L290 TraceCheckUtils]: 29: Hoare triple {90#true} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {90#true} is VALID [2022-02-20 14:36:42,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {90#true} assume mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296;mulflt_~tmp~1#1 := mulflt_~a#1;mulflt_~a#1 := mulflt_~b#1;mulflt_~b#1 := mulflt_~tmp~1#1; {90#true} is VALID [2022-02-20 14:36:42,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {90#true} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {90#true} is VALID [2022-02-20 14:36:42,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {90#true} mulflt_#res#1 := mulflt_~__retres10~1#1; {90#true} is VALID [2022-02-20 14:36:42,994 INFO L290 TraceCheckUtils]: 33: Hoare triple {90#true} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {90#true} is VALID [2022-02-20 14:36:42,999 INFO L290 TraceCheckUtils]: 34: Hoare triple {90#true} assume main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296;main_~sb~0#1 := -1; {112#(<= (+ |ULTIMATE.start_main_~sb~0#1| 1) 0)} is VALID [2022-02-20 14:36:43,000 INFO L290 TraceCheckUtils]: 35: Hoare triple {112#(<= (+ |ULTIMATE.start_main_~sb~0#1| 1) 0)} assume 0 == main_~sb~0#1; {91#false} is VALID [2022-02-20 14:36:43,001 INFO L290 TraceCheckUtils]: 36: Hoare triple {91#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {91#false} is VALID [2022-02-20 14:36:43,001 INFO L272 TraceCheckUtils]: 37: Hoare triple {91#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {91#false} is VALID [2022-02-20 14:36:43,001 INFO L290 TraceCheckUtils]: 38: Hoare triple {91#false} ~cond := #in~cond; {91#false} is VALID [2022-02-20 14:36:43,002 INFO L290 TraceCheckUtils]: 39: Hoare triple {91#false} assume 0 == ~cond; {91#false} is VALID [2022-02-20 14:36:43,002 INFO L290 TraceCheckUtils]: 40: Hoare triple {91#false} assume !false; {91#false} is VALID [2022-02-20 14:36:43,003 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 14:36:43,003 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:43,004 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [609966338] [2022-02-20 14:36:43,004 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [609966338] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:36:43,004 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:36:43,005 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 14:36:43,008 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1420479286] [2022-02-20 14:36:43,011 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:43,017 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 41 [2022-02-20 14:36:43,020 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:43,023 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:43,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:43,060 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 14:36:43,060 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:43,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 14:36:43,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:36:43,103 INFO L87 Difference]: Start difference. First operand has 87 states, 78 states have (on average 1.7179487179487178) internal successors, (134), 80 states have internal predecessors, (134), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:43,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:43,480 INFO L93 Difference]: Finished difference Result 184 states and 309 transitions. [2022-02-20 14:36:43,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 14:36:43,481 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 41 [2022-02-20 14:36:43,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:43,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:43,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 309 transitions. [2022-02-20 14:36:43,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:43,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 309 transitions. [2022-02-20 14:36:43,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 309 transitions. [2022-02-20 14:36:43,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 309 edges. 309 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:43,837 INFO L225 Difference]: With dead ends: 184 [2022-02-20 14:36:43,837 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 14:36:43,841 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:36:43,845 INFO L933 BasicCegarLoop]: 128 mSDtfsCounter, 41 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 335 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:43,846 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 335 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:36:43,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 14:36:43,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 81. [2022-02-20 14:36:43,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:43,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 81 states, 74 states have (on average 1.5135135135135136) internal successors, (112), 74 states have internal predecessors, (112), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:43,879 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 81 states, 74 states have (on average 1.5135135135135136) internal successors, (112), 74 states have internal predecessors, (112), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:43,880 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 81 states, 74 states have (on average 1.5135135135135136) internal successors, (112), 74 states have internal predecessors, (112), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:43,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:43,888 INFO L93 Difference]: Finished difference Result 89 states and 136 transitions. [2022-02-20 14:36:43,888 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 136 transitions. [2022-02-20 14:36:43,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:43,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:43,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 74 states have (on average 1.5135135135135136) internal successors, (112), 74 states have internal predecessors, (112), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 89 states. [2022-02-20 14:36:43,892 INFO L87 Difference]: Start difference. First operand has 81 states, 74 states have (on average 1.5135135135135136) internal successors, (112), 74 states have internal predecessors, (112), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 89 states. [2022-02-20 14:36:43,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:43,898 INFO L93 Difference]: Finished difference Result 89 states and 136 transitions. [2022-02-20 14:36:43,898 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 136 transitions. [2022-02-20 14:36:43,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:43,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:43,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:43,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:43,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 74 states have (on average 1.5135135135135136) internal successors, (112), 74 states have internal predecessors, (112), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:43,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 121 transitions. [2022-02-20 14:36:43,906 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 121 transitions. Word has length 41 [2022-02-20 14:36:43,906 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:43,906 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 121 transitions. [2022-02-20 14:36:43,907 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 3 states have internal predecessors, (20), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:43,907 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 121 transitions. [2022-02-20 14:36:43,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 14:36:43,909 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:43,909 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:43,909 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 14:36:43,910 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:43,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:43,910 INFO L85 PathProgramCache]: Analyzing trace with hash -2045217877, now seen corresponding path program 1 times [2022-02-20 14:36:43,911 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:43,911 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [575262583] [2022-02-20 14:36:43,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:43,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:43,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,023 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:44,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,034 INFO L290 TraceCheckUtils]: 3: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,034 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {601#true} {601#true} #337#return; {601#true} is VALID [2022-02-20 14:36:44,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:44,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,046 INFO L290 TraceCheckUtils]: 3: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,047 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {601#true} {601#true} #339#return; {601#true} is VALID [2022-02-20 14:36:44,047 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 14:36:44,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,066 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {601#true} {601#true} #341#return; {601#true} is VALID [2022-02-20 14:36:44,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 14:36:44,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,079 INFO L290 TraceCheckUtils]: 3: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,079 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {601#true} {601#true} #343#return; {601#true} is VALID [2022-02-20 14:36:44,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {601#true} is VALID [2022-02-20 14:36:44,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {601#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {601#true} is VALID [2022-02-20 14:36:44,081 INFO L272 TraceCheckUtils]: 2: Hoare triple {601#true} call main_#t~ret22#1 := base2flt(0, 0); {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,081 INFO L290 TraceCheckUtils]: 3: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,081 INFO L290 TraceCheckUtils]: 4: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,082 INFO L290 TraceCheckUtils]: 6: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,082 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {601#true} {601#true} #337#return; {601#true} is VALID [2022-02-20 14:36:44,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {601#true} is VALID [2022-02-20 14:36:44,083 INFO L272 TraceCheckUtils]: 9: Hoare triple {601#true} call main_#t~ret23#1 := base2flt(1, 0); {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,083 INFO L290 TraceCheckUtils]: 10: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,084 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,084 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {601#true} {601#true} #339#return; {601#true} is VALID [2022-02-20 14:36:44,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {601#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {601#true} is VALID [2022-02-20 14:36:44,085 INFO L272 TraceCheckUtils]: 16: Hoare triple {601#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,085 INFO L290 TraceCheckUtils]: 17: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,085 INFO L290 TraceCheckUtils]: 18: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,086 INFO L290 TraceCheckUtils]: 19: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,089 INFO L290 TraceCheckUtils]: 20: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,089 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {601#true} {601#true} #341#return; {601#true} is VALID [2022-02-20 14:36:44,089 INFO L290 TraceCheckUtils]: 22: Hoare triple {601#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {601#true} is VALID [2022-02-20 14:36:44,090 INFO L272 TraceCheckUtils]: 23: Hoare triple {601#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,090 INFO L290 TraceCheckUtils]: 24: Hoare triple {625#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,091 INFO L290 TraceCheckUtils]: 25: Hoare triple {601#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {601#true} is VALID [2022-02-20 14:36:44,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {601#true} #res := ~__retres4~0; {601#true} is VALID [2022-02-20 14:36:44,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {601#true} assume true; {601#true} is VALID [2022-02-20 14:36:44,091 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {601#true} {601#true} #343#return; {601#true} is VALID [2022-02-20 14:36:44,092 INFO L290 TraceCheckUtils]: 29: Hoare triple {601#true} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {601#true} is VALID [2022-02-20 14:36:44,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {601#true} assume mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296;mulflt_~tmp~1#1 := mulflt_~a#1;mulflt_~a#1 := mulflt_~b#1;mulflt_~b#1 := mulflt_~tmp~1#1; {601#true} is VALID [2022-02-20 14:36:44,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {601#true} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {601#true} is VALID [2022-02-20 14:36:44,094 INFO L290 TraceCheckUtils]: 32: Hoare triple {601#true} mulflt_#res#1 := mulflt_~__retres10~1#1; {601#true} is VALID [2022-02-20 14:36:44,096 INFO L290 TraceCheckUtils]: 33: Hoare triple {601#true} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {601#true} is VALID [2022-02-20 14:36:44,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {601#true} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {601#true} is VALID [2022-02-20 14:36:44,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {601#true} assume main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296;main_~tmp~2#1 := 1; {623#(= |ULTIMATE.start_main_~tmp~2#1| 1)} is VALID [2022-02-20 14:36:44,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {623#(= |ULTIMATE.start_main_~tmp~2#1| 1)} main_~sb~0#1 := main_~tmp~2#1; {624#(= |ULTIMATE.start_main_~sb~0#1| 1)} is VALID [2022-02-20 14:36:44,099 INFO L290 TraceCheckUtils]: 37: Hoare triple {624#(= |ULTIMATE.start_main_~sb~0#1| 1)} assume 0 == main_~sb~0#1; {602#false} is VALID [2022-02-20 14:36:44,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {602#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {602#false} is VALID [2022-02-20 14:36:44,099 INFO L272 TraceCheckUtils]: 39: Hoare triple {602#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {602#false} is VALID [2022-02-20 14:36:44,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {602#false} ~cond := #in~cond; {602#false} is VALID [2022-02-20 14:36:44,100 INFO L290 TraceCheckUtils]: 41: Hoare triple {602#false} assume 0 == ~cond; {602#false} is VALID [2022-02-20 14:36:44,100 INFO L290 TraceCheckUtils]: 42: Hoare triple {602#false} assume !false; {602#false} is VALID [2022-02-20 14:36:44,100 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 14:36:44,101 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:44,101 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [575262583] [2022-02-20 14:36:44,101 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [575262583] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:36:44,101 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:36:44,101 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 14:36:44,102 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [854434821] [2022-02-20 14:36:44,102 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:44,103 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 43 [2022-02-20 14:36:44,104 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:44,104 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:44,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:44,144 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:36:44,144 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:44,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:36:44,145 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:36:44,145 INFO L87 Difference]: Start difference. First operand 81 states and 121 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:44,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:44,431 INFO L93 Difference]: Finished difference Result 99 states and 147 transitions. [2022-02-20 14:36:44,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 14:36:44,432 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 43 [2022-02-20 14:36:44,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:44,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:44,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 147 transitions. [2022-02-20 14:36:44,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:44,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 147 transitions. [2022-02-20 14:36:44,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 147 transitions. [2022-02-20 14:36:44,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:44,563 INFO L225 Difference]: With dead ends: 99 [2022-02-20 14:36:44,564 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 14:36:44,564 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 14:36:44,566 INFO L933 BasicCegarLoop]: 120 mSDtfsCounter, 36 mSDsluCounter, 313 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 433 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:44,566 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 433 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:36:44,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 14:36:44,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 81. [2022-02-20 14:36:44,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:44,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 81 states, 74 states have (on average 1.5) internal successors, (111), 74 states have internal predecessors, (111), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:44,575 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 81 states, 74 states have (on average 1.5) internal successors, (111), 74 states have internal predecessors, (111), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:44,575 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 81 states, 74 states have (on average 1.5) internal successors, (111), 74 states have internal predecessors, (111), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:44,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:44,580 INFO L93 Difference]: Finished difference Result 89 states and 135 transitions. [2022-02-20 14:36:44,581 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 135 transitions. [2022-02-20 14:36:44,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:44,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:44,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 74 states have (on average 1.5) internal successors, (111), 74 states have internal predecessors, (111), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 89 states. [2022-02-20 14:36:44,583 INFO L87 Difference]: Start difference. First operand has 81 states, 74 states have (on average 1.5) internal successors, (111), 74 states have internal predecessors, (111), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 89 states. [2022-02-20 14:36:44,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:44,587 INFO L93 Difference]: Finished difference Result 89 states and 135 transitions. [2022-02-20 14:36:44,587 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 135 transitions. [2022-02-20 14:36:44,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:44,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:44,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:44,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:44,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 74 states have (on average 1.5) internal successors, (111), 74 states have internal predecessors, (111), 5 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:36:44,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 120 transitions. [2022-02-20 14:36:44,592 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 120 transitions. Word has length 43 [2022-02-20 14:36:44,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:44,593 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 120 transitions. [2022-02-20 14:36:44,593 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:44,593 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 120 transitions. [2022-02-20 14:36:44,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 14:36:44,595 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:44,595 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:44,595 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 14:36:44,595 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:44,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:44,596 INFO L85 PathProgramCache]: Analyzing trace with hash 1440402793, now seen corresponding path program 1 times [2022-02-20 14:36:44,596 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:44,596 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [582344750] [2022-02-20 14:36:44,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:44,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:44,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:44,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:44,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,654 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:44,654 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1017#true} {1017#true} #337#return; {1017#true} is VALID [2022-02-20 14:36:44,654 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:44,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1040#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:44,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {1040#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1041#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:44,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {1041#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {1041#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:44,697 INFO L290 TraceCheckUtils]: 3: Hoare triple {1041#(not (= |base2flt_#in~m| 1))} assume true; {1041#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:44,698 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1041#(not (= |base2flt_#in~m| 1))} {1017#true} #339#return; {1018#false} is VALID [2022-02-20 14:36:44,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 14:36:44,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:44,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,706 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:44,706 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1017#true} {1018#false} #341#return; {1018#false} is VALID [2022-02-20 14:36:44,706 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 14:36:44,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,713 INFO L290 TraceCheckUtils]: 0: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:44,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,714 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:44,715 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1017#true} {1018#false} #343#return; {1018#false} is VALID [2022-02-20 14:36:44,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {1017#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {1017#true} is VALID [2022-02-20 14:36:44,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {1017#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {1017#true} is VALID [2022-02-20 14:36:44,716 INFO L272 TraceCheckUtils]: 2: Hoare triple {1017#true} call main_#t~ret22#1 := base2flt(0, 0); {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,716 INFO L290 TraceCheckUtils]: 3: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,716 INFO L290 TraceCheckUtils]: 4: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:44,716 INFO L290 TraceCheckUtils]: 5: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,717 INFO L290 TraceCheckUtils]: 6: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:44,717 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1017#true} {1017#true} #337#return; {1017#true} is VALID [2022-02-20 14:36:44,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {1017#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {1017#true} is VALID [2022-02-20 14:36:44,718 INFO L272 TraceCheckUtils]: 9: Hoare triple {1017#true} call main_#t~ret23#1 := base2flt(1, 0); {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,718 INFO L290 TraceCheckUtils]: 10: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1040#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:44,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {1040#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1041#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:44,719 INFO L290 TraceCheckUtils]: 12: Hoare triple {1041#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {1041#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:44,719 INFO L290 TraceCheckUtils]: 13: Hoare triple {1041#(not (= |base2flt_#in~m| 1))} assume true; {1041#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:44,720 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1041#(not (= |base2flt_#in~m| 1))} {1017#true} #339#return; {1018#false} is VALID [2022-02-20 14:36:44,720 INFO L290 TraceCheckUtils]: 15: Hoare triple {1018#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {1018#false} is VALID [2022-02-20 14:36:44,720 INFO L272 TraceCheckUtils]: 16: Hoare triple {1018#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,721 INFO L290 TraceCheckUtils]: 17: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:44,722 INFO L290 TraceCheckUtils]: 19: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,722 INFO L290 TraceCheckUtils]: 20: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:44,722 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1017#true} {1018#false} #341#return; {1018#false} is VALID [2022-02-20 14:36:44,722 INFO L290 TraceCheckUtils]: 22: Hoare triple {1018#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {1018#false} is VALID [2022-02-20 14:36:44,723 INFO L272 TraceCheckUtils]: 23: Hoare triple {1018#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:44,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {1039#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:44,723 INFO L290 TraceCheckUtils]: 26: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:44,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:44,724 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1017#true} {1018#false} #343#return; {1018#false} is VALID [2022-02-20 14:36:44,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {1018#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {1018#false} is VALID [2022-02-20 14:36:44,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {1018#false} assume mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296;mulflt_~tmp~1#1 := mulflt_~a#1;mulflt_~a#1 := mulflt_~b#1;mulflt_~b#1 := mulflt_~tmp~1#1; {1018#false} is VALID [2022-02-20 14:36:44,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {1018#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {1018#false} is VALID [2022-02-20 14:36:44,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {1018#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {1018#false} is VALID [2022-02-20 14:36:44,726 INFO L290 TraceCheckUtils]: 33: Hoare triple {1018#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {1018#false} is VALID [2022-02-20 14:36:44,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {1018#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {1018#false} is VALID [2022-02-20 14:36:44,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {1018#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {1018#false} is VALID [2022-02-20 14:36:44,727 INFO L290 TraceCheckUtils]: 36: Hoare triple {1018#false} main_~sb~0#1 := main_~tmp~2#1; {1018#false} is VALID [2022-02-20 14:36:44,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {1018#false} assume 0 == main_~sb~0#1; {1018#false} is VALID [2022-02-20 14:36:44,729 INFO L290 TraceCheckUtils]: 38: Hoare triple {1018#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {1018#false} is VALID [2022-02-20 14:36:44,730 INFO L272 TraceCheckUtils]: 39: Hoare triple {1018#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {1018#false} is VALID [2022-02-20 14:36:44,730 INFO L290 TraceCheckUtils]: 40: Hoare triple {1018#false} ~cond := #in~cond; {1018#false} is VALID [2022-02-20 14:36:44,730 INFO L290 TraceCheckUtils]: 41: Hoare triple {1018#false} assume 0 == ~cond; {1018#false} is VALID [2022-02-20 14:36:44,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {1018#false} assume !false; {1018#false} is VALID [2022-02-20 14:36:44,732 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:44,732 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:44,733 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [582344750] [2022-02-20 14:36:44,733 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [582344750] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:44,734 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [420444476] [2022-02-20 14:36:44,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:44,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:44,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:44,739 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:44,747 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 14:36:44,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 14:36:44,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:44,885 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:45,168 INFO L290 TraceCheckUtils]: 0: Hoare triple {1017#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {1017#true} is VALID [2022-02-20 14:36:45,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {1017#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {1017#true} is VALID [2022-02-20 14:36:45,169 INFO L272 TraceCheckUtils]: 2: Hoare triple {1017#true} call main_#t~ret22#1 := base2flt(0, 0); {1017#true} is VALID [2022-02-20 14:36:45,174 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1054#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:45,175 INFO L290 TraceCheckUtils]: 4: Hoare triple {1054#(= base2flt_~m |base2flt_#in~m|)} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1058#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:45,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {1058#(<= (mod |base2flt_#in~m| 4294967296) 0)} #res := ~__retres4~0; {1058#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:45,176 INFO L290 TraceCheckUtils]: 6: Hoare triple {1058#(<= (mod |base2flt_#in~m| 4294967296) 0)} assume true; {1058#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:45,176 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1058#(<= (mod |base2flt_#in~m| 4294967296) 0)} {1017#true} #337#return; {1017#true} is VALID [2022-02-20 14:36:45,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {1017#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {1017#true} is VALID [2022-02-20 14:36:45,176 INFO L272 TraceCheckUtils]: 9: Hoare triple {1017#true} call main_#t~ret23#1 := base2flt(1, 0); {1017#true} is VALID [2022-02-20 14:36:45,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:45,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:45,177 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1017#true} {1017#true} #339#return; {1017#true} is VALID [2022-02-20 14:36:45,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {1017#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {1017#true} is VALID [2022-02-20 14:36:45,178 INFO L272 TraceCheckUtils]: 16: Hoare triple {1017#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {1017#true} is VALID [2022-02-20 14:36:45,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:45,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:45,179 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1017#true} {1017#true} #341#return; {1017#true} is VALID [2022-02-20 14:36:45,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {1017#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {1017#true} is VALID [2022-02-20 14:36:45,179 INFO L272 TraceCheckUtils]: 23: Hoare triple {1017#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {1017#true} is VALID [2022-02-20 14:36:45,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1122#(= base2flt_~__retres4~0 0)} is VALID [2022-02-20 14:36:45,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {1122#(= base2flt_~__retres4~0 0)} #res := ~__retres4~0; {1126#(= |base2flt_#res| 0)} is VALID [2022-02-20 14:36:45,180 INFO L290 TraceCheckUtils]: 27: Hoare triple {1126#(= |base2flt_#res| 0)} assume true; {1126#(= |base2flt_#res| 0)} is VALID [2022-02-20 14:36:45,185 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1126#(= |base2flt_#res| 0)} {1017#true} #343#return; {1133#(= |ULTIMATE.start_main_#t~ret25#1| 0)} is VALID [2022-02-20 14:36:45,186 INFO L290 TraceCheckUtils]: 29: Hoare triple {1133#(= |ULTIMATE.start_main_#t~ret25#1| 0)} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {1137#(= |ULTIMATE.start_mulflt_~b#1| 0)} is VALID [2022-02-20 14:36:45,187 INFO L290 TraceCheckUtils]: 30: Hoare triple {1137#(= |ULTIMATE.start_mulflt_~b#1| 0)} assume mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296;mulflt_~tmp~1#1 := mulflt_~a#1;mulflt_~a#1 := mulflt_~b#1;mulflt_~b#1 := mulflt_~tmp~1#1; {1018#false} is VALID [2022-02-20 14:36:45,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {1018#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {1018#false} is VALID [2022-02-20 14:36:45,187 INFO L290 TraceCheckUtils]: 32: Hoare triple {1018#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {1018#false} is VALID [2022-02-20 14:36:45,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {1018#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {1018#false} is VALID [2022-02-20 14:36:45,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {1018#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {1018#false} is VALID [2022-02-20 14:36:45,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {1018#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {1018#false} is VALID [2022-02-20 14:36:45,188 INFO L290 TraceCheckUtils]: 36: Hoare triple {1018#false} main_~sb~0#1 := main_~tmp~2#1; {1018#false} is VALID [2022-02-20 14:36:45,188 INFO L290 TraceCheckUtils]: 37: Hoare triple {1018#false} assume 0 == main_~sb~0#1; {1018#false} is VALID [2022-02-20 14:36:45,188 INFO L290 TraceCheckUtils]: 38: Hoare triple {1018#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {1018#false} is VALID [2022-02-20 14:36:45,188 INFO L272 TraceCheckUtils]: 39: Hoare triple {1018#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {1018#false} is VALID [2022-02-20 14:36:45,189 INFO L290 TraceCheckUtils]: 40: Hoare triple {1018#false} ~cond := #in~cond; {1018#false} is VALID [2022-02-20 14:36:45,189 INFO L290 TraceCheckUtils]: 41: Hoare triple {1018#false} assume 0 == ~cond; {1018#false} is VALID [2022-02-20 14:36:45,189 INFO L290 TraceCheckUtils]: 42: Hoare triple {1018#false} assume !false; {1018#false} is VALID [2022-02-20 14:36:45,189 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 14:36:45,189 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:36:45,547 INFO L290 TraceCheckUtils]: 42: Hoare triple {1018#false} assume !false; {1018#false} is VALID [2022-02-20 14:36:45,547 INFO L290 TraceCheckUtils]: 41: Hoare triple {1018#false} assume 0 == ~cond; {1018#false} is VALID [2022-02-20 14:36:45,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {1018#false} ~cond := #in~cond; {1018#false} is VALID [2022-02-20 14:36:45,547 INFO L272 TraceCheckUtils]: 39: Hoare triple {1018#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {1018#false} is VALID [2022-02-20 14:36:45,547 INFO L290 TraceCheckUtils]: 38: Hoare triple {1018#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {1018#false} is VALID [2022-02-20 14:36:45,547 INFO L290 TraceCheckUtils]: 37: Hoare triple {1018#false} assume 0 == main_~sb~0#1; {1018#false} is VALID [2022-02-20 14:36:45,547 INFO L290 TraceCheckUtils]: 36: Hoare triple {1018#false} main_~sb~0#1 := main_~tmp~2#1; {1018#false} is VALID [2022-02-20 14:36:45,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {1018#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {1018#false} is VALID [2022-02-20 14:36:45,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {1018#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {1018#false} is VALID [2022-02-20 14:36:45,553 INFO L290 TraceCheckUtils]: 33: Hoare triple {1018#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {1018#false} is VALID [2022-02-20 14:36:45,553 INFO L290 TraceCheckUtils]: 32: Hoare triple {1018#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {1018#false} is VALID [2022-02-20 14:36:45,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {1018#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {1018#false} is VALID [2022-02-20 14:36:45,555 INFO L290 TraceCheckUtils]: 30: Hoare triple {1213#(<= (mod |ULTIMATE.start_mulflt_~b#1| 4294967296) 0)} assume mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296;mulflt_~tmp~1#1 := mulflt_~a#1;mulflt_~a#1 := mulflt_~b#1;mulflt_~b#1 := mulflt_~tmp~1#1; {1018#false} is VALID [2022-02-20 14:36:45,558 INFO L290 TraceCheckUtils]: 29: Hoare triple {1217#(<= (mod |ULTIMATE.start_main_#t~ret25#1| 4294967296) 0)} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {1213#(<= (mod |ULTIMATE.start_mulflt_~b#1| 4294967296) 0)} is VALID [2022-02-20 14:36:45,560 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1224#(<= (mod |base2flt_#res| 4294967296) 0)} {1017#true} #343#return; {1217#(<= (mod |ULTIMATE.start_main_#t~ret25#1| 4294967296) 0)} is VALID [2022-02-20 14:36:45,560 INFO L290 TraceCheckUtils]: 27: Hoare triple {1224#(<= (mod |base2flt_#res| 4294967296) 0)} assume true; {1224#(<= (mod |base2flt_#res| 4294967296) 0)} is VALID [2022-02-20 14:36:45,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {1231#(<= (mod base2flt_~__retres4~0 4294967296) 0)} #res := ~__retres4~0; {1224#(<= (mod |base2flt_#res| 4294967296) 0)} is VALID [2022-02-20 14:36:45,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1231#(<= (mod base2flt_~__retres4~0 4294967296) 0)} is VALID [2022-02-20 14:36:45,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,562 INFO L272 TraceCheckUtils]: 23: Hoare triple {1017#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {1017#true} is VALID [2022-02-20 14:36:45,563 INFO L290 TraceCheckUtils]: 22: Hoare triple {1017#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {1017#true} is VALID [2022-02-20 14:36:45,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1017#true} {1017#true} #341#return; {1017#true} is VALID [2022-02-20 14:36:45,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:45,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:45,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,567 INFO L272 TraceCheckUtils]: 16: Hoare triple {1017#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {1017#true} is VALID [2022-02-20 14:36:45,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {1017#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {1017#true} is VALID [2022-02-20 14:36:45,567 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1017#true} {1017#true} #339#return; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L272 TraceCheckUtils]: 9: Hoare triple {1017#true} call main_#t~ret23#1 := base2flt(1, 0); {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {1017#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1017#true} {1017#true} #337#return; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 6: Hoare triple {1017#true} assume true; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {1017#true} #res := ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,568 INFO L290 TraceCheckUtils]: 4: Hoare triple {1017#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1017#true} is VALID [2022-02-20 14:36:45,569 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1017#true} is VALID [2022-02-20 14:36:45,569 INFO L272 TraceCheckUtils]: 2: Hoare triple {1017#true} call main_#t~ret22#1 := base2flt(0, 0); {1017#true} is VALID [2022-02-20 14:36:45,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {1017#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {1017#true} is VALID [2022-02-20 14:36:45,569 INFO L290 TraceCheckUtils]: 0: Hoare triple {1017#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {1017#true} is VALID [2022-02-20 14:36:45,569 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-02-20 14:36:45,570 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [420444476] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:45,570 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:36:45,570 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [5, 8] total 15 [2022-02-20 14:36:45,570 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [433123925] [2022-02-20 14:36:45,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:45,571 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 43 [2022-02-20 14:36:45,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:45,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:45,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:45,596 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 14:36:45,596 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:45,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 14:36:45,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=177, Unknown=0, NotChecked=0, Total=210 [2022-02-20 14:36:45,597 INFO L87 Difference]: Start difference. First operand 81 states and 120 transitions. Second operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:46,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:46,027 INFO L93 Difference]: Finished difference Result 167 states and 248 transitions. [2022-02-20 14:36:46,027 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 14:36:46,028 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 43 [2022-02-20 14:36:46,028 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:46,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:46,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 248 transitions. [2022-02-20 14:36:46,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:46,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 248 transitions. [2022-02-20 14:36:46,037 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 248 transitions. [2022-02-20 14:36:46,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 248 edges. 248 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:46,239 INFO L225 Difference]: With dead ends: 167 [2022-02-20 14:36:46,239 INFO L226 Difference]: Without dead ends: 118 [2022-02-20 14:36:46,239 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=203, Unknown=0, NotChecked=0, Total=240 [2022-02-20 14:36:46,240 INFO L933 BasicCegarLoop]: 115 mSDtfsCounter, 50 mSDsluCounter, 448 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 563 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:46,241 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 563 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:36:46,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-02-20 14:36:46,255 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 87. [2022-02-20 14:36:46,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:46,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 87 states, 79 states have (on average 1.4683544303797469) internal successors, (116), 79 states have internal predecessors, (116), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (8), 5 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 14:36:46,257 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 87 states, 79 states have (on average 1.4683544303797469) internal successors, (116), 79 states have internal predecessors, (116), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (8), 5 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 14:36:46,258 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 87 states, 79 states have (on average 1.4683544303797469) internal successors, (116), 79 states have internal predecessors, (116), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (8), 5 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 14:36:46,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:46,264 INFO L93 Difference]: Finished difference Result 118 states and 176 transitions. [2022-02-20 14:36:46,264 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 176 transitions. [2022-02-20 14:36:46,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:46,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:46,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 79 states have (on average 1.4683544303797469) internal successors, (116), 79 states have internal predecessors, (116), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (8), 5 states have call predecessors, (8), 4 states have call successors, (8) Second operand 118 states. [2022-02-20 14:36:46,267 INFO L87 Difference]: Start difference. First operand has 87 states, 79 states have (on average 1.4683544303797469) internal successors, (116), 79 states have internal predecessors, (116), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (8), 5 states have call predecessors, (8), 4 states have call successors, (8) Second operand 118 states. [2022-02-20 14:36:46,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:46,272 INFO L93 Difference]: Finished difference Result 118 states and 176 transitions. [2022-02-20 14:36:46,272 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 176 transitions. [2022-02-20 14:36:46,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:46,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:46,273 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:46,273 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:46,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 79 states have (on average 1.4683544303797469) internal successors, (116), 79 states have internal predecessors, (116), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (8), 5 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 14:36:46,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 129 transitions. [2022-02-20 14:36:46,277 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 129 transitions. Word has length 43 [2022-02-20 14:36:46,278 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:46,278 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 129 transitions. [2022-02-20 14:36:46,279 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:46,279 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 129 transitions. [2022-02-20 14:36:46,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 14:36:46,289 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:46,289 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:46,318 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 14:36:46,501 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:46,502 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:46,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:46,503 INFO L85 PathProgramCache]: Analyzing trace with hash 853596779, now seen corresponding path program 1 times [2022-02-20 14:36:46,503 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:46,503 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2075711406] [2022-02-20 14:36:46,503 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:46,503 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:46,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:46,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,565 INFO L290 TraceCheckUtils]: 3: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,566 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1833#true} {1833#true} #337#return; {1833#true} is VALID [2022-02-20 14:36:46,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:46,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,596 INFO L290 TraceCheckUtils]: 0: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1856#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:46,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {1856#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1857#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:46,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {1857#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {1857#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:46,597 INFO L290 TraceCheckUtils]: 3: Hoare triple {1857#(not (= |base2flt_#in~m| 1))} assume true; {1857#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:46,597 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1857#(not (= |base2flt_#in~m| 1))} {1833#true} #339#return; {1834#false} is VALID [2022-02-20 14:36:46,598 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-02-20 14:36:46,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,603 INFO L290 TraceCheckUtils]: 3: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,603 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1833#true} {1834#false} #341#return; {1834#false} is VALID [2022-02-20 14:36:46,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 14:36:46,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,608 INFO L290 TraceCheckUtils]: 0: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,609 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1833#true} {1834#false} #343#return; {1834#false} is VALID [2022-02-20 14:36:46,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {1833#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {1833#true} is VALID [2022-02-20 14:36:46,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {1833#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {1833#true} is VALID [2022-02-20 14:36:46,610 INFO L272 TraceCheckUtils]: 2: Hoare triple {1833#true} call main_#t~ret22#1 := base2flt(0, 0); {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:46,610 INFO L290 TraceCheckUtils]: 3: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,610 INFO L290 TraceCheckUtils]: 4: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,610 INFO L290 TraceCheckUtils]: 5: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,610 INFO L290 TraceCheckUtils]: 6: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,611 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1833#true} {1833#true} #337#return; {1833#true} is VALID [2022-02-20 14:36:46,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {1833#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {1833#true} is VALID [2022-02-20 14:36:46,611 INFO L272 TraceCheckUtils]: 9: Hoare triple {1833#true} call main_#t~ret23#1 := base2flt(1, 0); {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:46,612 INFO L290 TraceCheckUtils]: 10: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1856#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:46,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {1856#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1857#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:46,613 INFO L290 TraceCheckUtils]: 12: Hoare triple {1857#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {1857#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:46,613 INFO L290 TraceCheckUtils]: 13: Hoare triple {1857#(not (= |base2flt_#in~m| 1))} assume true; {1857#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:46,613 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1857#(not (= |base2flt_#in~m| 1))} {1833#true} #339#return; {1834#false} is VALID [2022-02-20 14:36:46,614 INFO L290 TraceCheckUtils]: 15: Hoare triple {1834#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {1834#false} is VALID [2022-02-20 14:36:46,614 INFO L272 TraceCheckUtils]: 16: Hoare triple {1834#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:46,614 INFO L290 TraceCheckUtils]: 17: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,614 INFO L290 TraceCheckUtils]: 18: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,614 INFO L290 TraceCheckUtils]: 19: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,614 INFO L290 TraceCheckUtils]: 20: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,615 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1833#true} {1834#false} #341#return; {1834#false} is VALID [2022-02-20 14:36:46,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {1834#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {1834#false} is VALID [2022-02-20 14:36:46,615 INFO L272 TraceCheckUtils]: 23: Hoare triple {1834#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:46,615 INFO L290 TraceCheckUtils]: 24: Hoare triple {1855#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,615 INFO L290 TraceCheckUtils]: 26: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,615 INFO L290 TraceCheckUtils]: 27: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,616 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1833#true} {1834#false} #343#return; {1834#false} is VALID [2022-02-20 14:36:46,616 INFO L290 TraceCheckUtils]: 29: Hoare triple {1834#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {1834#false} is VALID [2022-02-20 14:36:46,616 INFO L290 TraceCheckUtils]: 30: Hoare triple {1834#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {1834#false} is VALID [2022-02-20 14:36:46,616 INFO L290 TraceCheckUtils]: 31: Hoare triple {1834#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {1834#false} is VALID [2022-02-20 14:36:46,616 INFO L290 TraceCheckUtils]: 32: Hoare triple {1834#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {1834#false} is VALID [2022-02-20 14:36:46,616 INFO L290 TraceCheckUtils]: 33: Hoare triple {1834#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {1834#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L290 TraceCheckUtils]: 35: Hoare triple {1834#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L290 TraceCheckUtils]: 36: Hoare triple {1834#false} main_~sb~0#1 := main_~tmp~2#1; {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L290 TraceCheckUtils]: 37: Hoare triple {1834#false} assume 0 == main_~sb~0#1; {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {1834#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L272 TraceCheckUtils]: 39: Hoare triple {1834#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {1834#false} is VALID [2022-02-20 14:36:46,617 INFO L290 TraceCheckUtils]: 40: Hoare triple {1834#false} ~cond := #in~cond; {1834#false} is VALID [2022-02-20 14:36:46,618 INFO L290 TraceCheckUtils]: 41: Hoare triple {1834#false} assume 0 == ~cond; {1834#false} is VALID [2022-02-20 14:36:46,618 INFO L290 TraceCheckUtils]: 42: Hoare triple {1834#false} assume !false; {1834#false} is VALID [2022-02-20 14:36:46,618 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:46,618 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:46,618 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2075711406] [2022-02-20 14:36:46,619 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2075711406] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:46,619 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [98862229] [2022-02-20 14:36:46,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:46,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:46,619 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:46,620 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:46,623 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 14:36:46,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 14:36:46,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:46,715 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:46,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {1833#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {1833#true} is VALID [2022-02-20 14:36:46,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {1833#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {1833#true} is VALID [2022-02-20 14:36:46,873 INFO L272 TraceCheckUtils]: 2: Hoare triple {1833#true} call main_#t~ret22#1 := base2flt(0, 0); {1833#true} is VALID [2022-02-20 14:36:46,874 INFO L290 TraceCheckUtils]: 3: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1870#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:46,874 INFO L290 TraceCheckUtils]: 4: Hoare triple {1870#(= base2flt_~m |base2flt_#in~m|)} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1874#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:46,875 INFO L290 TraceCheckUtils]: 5: Hoare triple {1874#(<= (mod |base2flt_#in~m| 4294967296) 0)} #res := ~__retres4~0; {1874#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:46,875 INFO L290 TraceCheckUtils]: 6: Hoare triple {1874#(<= (mod |base2flt_#in~m| 4294967296) 0)} assume true; {1874#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:46,875 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1874#(<= (mod |base2flt_#in~m| 4294967296) 0)} {1833#true} #337#return; {1833#true} is VALID [2022-02-20 14:36:46,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {1833#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {1833#true} is VALID [2022-02-20 14:36:46,875 INFO L272 TraceCheckUtils]: 9: Hoare triple {1833#true} call main_#t~ret23#1 := base2flt(1, 0); {1833#true} is VALID [2022-02-20 14:36:46,875 INFO L290 TraceCheckUtils]: 10: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1833#true} {1833#true} #339#return; {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {1833#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L272 TraceCheckUtils]: 16: Hoare triple {1833#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {1833#true} is VALID [2022-02-20 14:36:46,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1917#(= base2flt_~__retres4~0 0)} is VALID [2022-02-20 14:36:46,877 INFO L290 TraceCheckUtils]: 19: Hoare triple {1917#(= base2flt_~__retres4~0 0)} #res := ~__retres4~0; {1921#(= |base2flt_#res| 0)} is VALID [2022-02-20 14:36:46,878 INFO L290 TraceCheckUtils]: 20: Hoare triple {1921#(= |base2flt_#res| 0)} assume true; {1921#(= |base2flt_#res| 0)} is VALID [2022-02-20 14:36:46,878 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1921#(= |base2flt_#res| 0)} {1833#true} #341#return; {1928#(= |ULTIMATE.start_main_#t~ret24#1| 0)} is VALID [2022-02-20 14:36:46,879 INFO L290 TraceCheckUtils]: 22: Hoare triple {1928#(= |ULTIMATE.start_main_#t~ret24#1| 0)} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,879 INFO L272 TraceCheckUtils]: 23: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {1833#true} is VALID [2022-02-20 14:36:46,879 INFO L290 TraceCheckUtils]: 24: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:46,879 INFO L290 TraceCheckUtils]: 26: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:46,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:46,880 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1833#true} {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} #343#return; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,882 INFO L290 TraceCheckUtils]: 31: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,883 INFO L290 TraceCheckUtils]: 32: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} mulflt_#res#1 := mulflt_~__retres10~1#1; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,884 INFO L290 TraceCheckUtils]: 33: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,886 INFO L290 TraceCheckUtils]: 34: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,887 INFO L290 TraceCheckUtils]: 35: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,887 INFO L290 TraceCheckUtils]: 36: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} main_~sb~0#1 := main_~tmp~2#1; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,888 INFO L290 TraceCheckUtils]: 37: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} assume 0 == main_~sb~0#1; {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} is VALID [2022-02-20 14:36:46,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {1932#(= |ULTIMATE.start_main_~a~0#1| 0)} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {1834#false} is VALID [2022-02-20 14:36:46,888 INFO L272 TraceCheckUtils]: 39: Hoare triple {1834#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {1834#false} is VALID [2022-02-20 14:36:46,888 INFO L290 TraceCheckUtils]: 40: Hoare triple {1834#false} ~cond := #in~cond; {1834#false} is VALID [2022-02-20 14:36:46,889 INFO L290 TraceCheckUtils]: 41: Hoare triple {1834#false} assume 0 == ~cond; {1834#false} is VALID [2022-02-20 14:36:46,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {1834#false} assume !false; {1834#false} is VALID [2022-02-20 14:36:46,890 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 3 proven. 15 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 14:36:46,890 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:36:47,258 INFO L290 TraceCheckUtils]: 42: Hoare triple {1834#false} assume !false; {1834#false} is VALID [2022-02-20 14:36:47,258 INFO L290 TraceCheckUtils]: 41: Hoare triple {1834#false} assume 0 == ~cond; {1834#false} is VALID [2022-02-20 14:36:47,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {1834#false} ~cond := #in~cond; {1834#false} is VALID [2022-02-20 14:36:47,258 INFO L272 TraceCheckUtils]: 39: Hoare triple {1834#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {1834#false} is VALID [2022-02-20 14:36:47,259 INFO L290 TraceCheckUtils]: 38: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {1834#false} is VALID [2022-02-20 14:36:47,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} assume 0 == main_~sb~0#1; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} main_~sb~0#1 := main_~tmp~2#1; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,260 INFO L290 TraceCheckUtils]: 35: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,261 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,261 INFO L290 TraceCheckUtils]: 33: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} mulflt_#res#1 := mulflt_~__retres10~1#1; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,262 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,263 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,263 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1833#true} {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} #343#return; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:47,264 INFO L290 TraceCheckUtils]: 26: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:47,264 INFO L290 TraceCheckUtils]: 24: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,264 INFO L272 TraceCheckUtils]: 23: Hoare triple {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {1833#true} is VALID [2022-02-20 14:36:47,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {2054#(<= (mod |ULTIMATE.start_main_#t~ret24#1| 4294967296) 0)} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {2005#(<= (mod |ULTIMATE.start_main_~a~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,265 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2061#(<= (mod |base2flt_#res| 4294967296) 0)} {1833#true} #341#return; {2054#(<= (mod |ULTIMATE.start_main_#t~ret24#1| 4294967296) 0)} is VALID [2022-02-20 14:36:47,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {2061#(<= (mod |base2flt_#res| 4294967296) 0)} assume true; {2061#(<= (mod |base2flt_#res| 4294967296) 0)} is VALID [2022-02-20 14:36:47,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {2068#(<= (mod base2flt_~__retres4~0 4294967296) 0)} #res := ~__retres4~0; {2061#(<= (mod |base2flt_#res| 4294967296) 0)} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {2068#(<= (mod base2flt_~__retres4~0 4294967296) 0)} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L272 TraceCheckUtils]: 16: Hoare triple {1833#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {1833#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {1833#true} {1833#true} #339#return; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 12: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L290 TraceCheckUtils]: 10: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,266 INFO L272 TraceCheckUtils]: 9: Hoare triple {1833#true} call main_#t~ret23#1 := base2flt(1, 0); {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {1833#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1833#true} {1833#true} #337#return; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 6: Hoare triple {1833#true} assume true; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {1833#true} #res := ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 4: Hoare triple {1833#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 3: Hoare triple {1833#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L272 TraceCheckUtils]: 2: Hoare triple {1833#true} call main_#t~ret22#1 := base2flt(0, 0); {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {1833#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L290 TraceCheckUtils]: 0: Hoare triple {1833#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {1833#true} is VALID [2022-02-20 14:36:47,267 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-02-20 14:36:47,268 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [98862229] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:36:47,268 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:36:47,268 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 8, 6] total 15 [2022-02-20 14:36:47,268 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [762410411] [2022-02-20 14:36:47,268 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:36:47,269 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) Word has length 43 [2022-02-20 14:36:47,270 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:47,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 14:36:47,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:47,339 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 14:36:47,339 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:47,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 14:36:47,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=177, Unknown=0, NotChecked=0, Total=210 [2022-02-20 14:36:47,340 INFO L87 Difference]: Start difference. First operand 87 states and 129 transitions. Second operand has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 14:36:48,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:48,936 INFO L93 Difference]: Finished difference Result 307 states and 490 transitions. [2022-02-20 14:36:48,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-02-20 14:36:48,936 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) Word has length 43 [2022-02-20 14:36:48,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:48,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 14:36:48,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 475 transitions. [2022-02-20 14:36:48,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 14:36:48,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 475 transitions. [2022-02-20 14:36:48,955 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 475 transitions. [2022-02-20 14:36:49,372 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 475 edges. 475 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:49,381 INFO L225 Difference]: With dead ends: 307 [2022-02-20 14:36:49,381 INFO L226 Difference]: Without dead ends: 223 [2022-02-20 14:36:49,383 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 164 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=191, Invalid=739, Unknown=0, NotChecked=0, Total=930 [2022-02-20 14:36:49,384 INFO L933 BasicCegarLoop]: 96 mSDtfsCounter, 279 mSDsluCounter, 893 mSDsCounter, 0 mSdLazyCounter, 388 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 279 SdHoareTripleChecker+Valid, 989 SdHoareTripleChecker+Invalid, 425 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 388 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:49,384 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [279 Valid, 989 Invalid, 425 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 388 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 14:36:49,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 223 states. [2022-02-20 14:36:49,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 223 to 160. [2022-02-20 14:36:49,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:49,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 223 states. Second operand has 160 states, 149 states have (on average 1.4697986577181208) internal successors, (219), 148 states have internal predecessors, (219), 6 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (15), 8 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:49,403 INFO L74 IsIncluded]: Start isIncluded. First operand 223 states. Second operand has 160 states, 149 states have (on average 1.4697986577181208) internal successors, (219), 148 states have internal predecessors, (219), 6 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (15), 8 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:49,403 INFO L87 Difference]: Start difference. First operand 223 states. Second operand has 160 states, 149 states have (on average 1.4697986577181208) internal successors, (219), 148 states have internal predecessors, (219), 6 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (15), 8 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:49,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:49,413 INFO L93 Difference]: Finished difference Result 223 states and 346 transitions. [2022-02-20 14:36:49,414 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 346 transitions. [2022-02-20 14:36:49,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:49,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:49,416 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 149 states have (on average 1.4697986577181208) internal successors, (219), 148 states have internal predecessors, (219), 6 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (15), 8 states have call predecessors, (15), 5 states have call successors, (15) Second operand 223 states. [2022-02-20 14:36:49,416 INFO L87 Difference]: Start difference. First operand has 160 states, 149 states have (on average 1.4697986577181208) internal successors, (219), 148 states have internal predecessors, (219), 6 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (15), 8 states have call predecessors, (15), 5 states have call successors, (15) Second operand 223 states. [2022-02-20 14:36:49,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:49,427 INFO L93 Difference]: Finished difference Result 223 states and 346 transitions. [2022-02-20 14:36:49,427 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 346 transitions. [2022-02-20 14:36:49,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:49,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:49,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:49,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:49,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 149 states have (on average 1.4697986577181208) internal successors, (219), 148 states have internal predecessors, (219), 6 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (15), 8 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:49,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 240 transitions. [2022-02-20 14:36:49,434 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 240 transitions. Word has length 43 [2022-02-20 14:36:49,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:49,444 INFO L470 AbstractCegarLoop]: Abstraction has 160 states and 240 transitions. [2022-02-20 14:36:49,444 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 4.0) internal successors, (60), 12 states have internal predecessors, (60), 4 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (10), 6 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 14:36:49,444 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 240 transitions. [2022-02-20 14:36:49,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 14:36:49,445 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:49,446 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:49,466 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 14:36:49,655 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-02-20 14:36:49,656 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:49,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:49,656 INFO L85 PathProgramCache]: Analyzing trace with hash -662181193, now seen corresponding path program 1 times [2022-02-20 14:36:49,656 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:49,656 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [25282831] [2022-02-20 14:36:49,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:49,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:49,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:49,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,703 INFO L290 TraceCheckUtils]: 3: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,703 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3148#true} {3148#true} #337#return; {3148#true} is VALID [2022-02-20 14:36:49,703 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:49,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(0 == ~m % 4294967296); {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~m % 4294967296 < 16777216; {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,740 INFO L290 TraceCheckUtils]: 3: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !false; {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,740 INFO L290 TraceCheckUtils]: 4: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~e <= -128;~__retres4~0 := 0; {3175#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:49,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {3175#(not (= |base2flt_#in~e| 0))} #res := ~__retres4~0; {3175#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:49,741 INFO L290 TraceCheckUtils]: 6: Hoare triple {3175#(not (= |base2flt_#in~e| 0))} assume true; {3175#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:49,742 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3175#(not (= |base2flt_#in~e| 0))} {3148#true} #339#return; {3149#false} is VALID [2022-02-20 14:36:49,742 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-02-20 14:36:49,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,749 INFO L290 TraceCheckUtils]: 0: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,749 INFO L290 TraceCheckUtils]: 3: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,749 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3148#true} {3149#false} #341#return; {3149#false} is VALID [2022-02-20 14:36:49,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 14:36:49,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,757 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3148#true} {3149#false} #343#return; {3149#false} is VALID [2022-02-20 14:36:49,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {3148#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {3148#true} is VALID [2022-02-20 14:36:49,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {3148#true} is VALID [2022-02-20 14:36:49,758 INFO L272 TraceCheckUtils]: 2: Hoare triple {3148#true} call main_#t~ret22#1 := base2flt(0, 0); {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:49,759 INFO L290 TraceCheckUtils]: 3: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,759 INFO L290 TraceCheckUtils]: 4: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,759 INFO L290 TraceCheckUtils]: 6: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,759 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3148#true} {3148#true} #337#return; {3148#true} is VALID [2022-02-20 14:36:49,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {3148#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {3148#true} is VALID [2022-02-20 14:36:49,760 INFO L272 TraceCheckUtils]: 9: Hoare triple {3148#true} call main_#t~ret23#1 := base2flt(1, 0); {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:49,760 INFO L290 TraceCheckUtils]: 10: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,761 INFO L290 TraceCheckUtils]: 11: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(0 == ~m % 4294967296); {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,761 INFO L290 TraceCheckUtils]: 12: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~m % 4294967296 < 16777216; {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !false; {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:49,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {3174#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~e <= -128;~__retres4~0 := 0; {3175#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:49,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {3175#(not (= |base2flt_#in~e| 0))} #res := ~__retres4~0; {3175#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:49,763 INFO L290 TraceCheckUtils]: 16: Hoare triple {3175#(not (= |base2flt_#in~e| 0))} assume true; {3175#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:49,764 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3175#(not (= |base2flt_#in~e| 0))} {3148#true} #339#return; {3149#false} is VALID [2022-02-20 14:36:49,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {3149#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {3149#false} is VALID [2022-02-20 14:36:49,764 INFO L272 TraceCheckUtils]: 19: Hoare triple {3149#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:49,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,765 INFO L290 TraceCheckUtils]: 23: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,765 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3148#true} {3149#false} #341#return; {3149#false} is VALID [2022-02-20 14:36:49,765 INFO L290 TraceCheckUtils]: 25: Hoare triple {3149#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {3149#false} is VALID [2022-02-20 14:36:49,765 INFO L272 TraceCheckUtils]: 26: Hoare triple {3149#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:49,766 INFO L290 TraceCheckUtils]: 27: Hoare triple {3173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,766 INFO L290 TraceCheckUtils]: 28: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,766 INFO L290 TraceCheckUtils]: 30: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,766 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3148#true} {3149#false} #343#return; {3149#false} is VALID [2022-02-20 14:36:49,766 INFO L290 TraceCheckUtils]: 32: Hoare triple {3149#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {3149#false} is VALID [2022-02-20 14:36:49,767 INFO L290 TraceCheckUtils]: 33: Hoare triple {3149#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {3149#false} is VALID [2022-02-20 14:36:49,767 INFO L290 TraceCheckUtils]: 34: Hoare triple {3149#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {3149#false} is VALID [2022-02-20 14:36:49,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {3149#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {3149#false} is VALID [2022-02-20 14:36:49,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {3149#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {3149#false} is VALID [2022-02-20 14:36:49,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {3149#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {3149#false} is VALID [2022-02-20 14:36:49,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {3149#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {3149#false} is VALID [2022-02-20 14:36:49,768 INFO L290 TraceCheckUtils]: 39: Hoare triple {3149#false} main_~sb~0#1 := main_~tmp~2#1; {3149#false} is VALID [2022-02-20 14:36:49,768 INFO L290 TraceCheckUtils]: 40: Hoare triple {3149#false} assume 0 == main_~sb~0#1; {3149#false} is VALID [2022-02-20 14:36:49,768 INFO L290 TraceCheckUtils]: 41: Hoare triple {3149#false} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {3149#false} is VALID [2022-02-20 14:36:49,768 INFO L290 TraceCheckUtils]: 42: Hoare triple {3149#false} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {3149#false} is VALID [2022-02-20 14:36:49,768 INFO L290 TraceCheckUtils]: 43: Hoare triple {3149#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {3149#false} is VALID [2022-02-20 14:36:49,768 INFO L272 TraceCheckUtils]: 44: Hoare triple {3149#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {3149#false} is VALID [2022-02-20 14:36:49,769 INFO L290 TraceCheckUtils]: 45: Hoare triple {3149#false} ~cond := #in~cond; {3149#false} is VALID [2022-02-20 14:36:49,769 INFO L290 TraceCheckUtils]: 46: Hoare triple {3149#false} assume 0 == ~cond; {3149#false} is VALID [2022-02-20 14:36:49,769 INFO L290 TraceCheckUtils]: 47: Hoare triple {3149#false} assume !false; {3149#false} is VALID [2022-02-20 14:36:49,769 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:49,769 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:49,770 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [25282831] [2022-02-20 14:36:49,770 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [25282831] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:49,772 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1940977031] [2022-02-20 14:36:49,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:49,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:49,773 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:49,774 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:49,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 14:36:49,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,833 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 14:36:49,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:49,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:49,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {3148#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {3148#true} is VALID [2022-02-20 14:36:49,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {3148#true} is VALID [2022-02-20 14:36:49,976 INFO L272 TraceCheckUtils]: 2: Hoare triple {3148#true} call main_#t~ret22#1 := base2flt(0, 0); {3148#true} is VALID [2022-02-20 14:36:49,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {3148#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,976 INFO L290 TraceCheckUtils]: 4: Hoare triple {3148#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3148#true} is VALID [2022-02-20 14:36:49,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {3148#true} #res := ~__retres4~0; {3148#true} is VALID [2022-02-20 14:36:49,976 INFO L290 TraceCheckUtils]: 6: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-02-20 14:36:49,977 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3148#true} {3148#true} #337#return; {3148#true} is VALID [2022-02-20 14:36:49,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {3148#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {3148#true} is VALID [2022-02-20 14:36:49,977 INFO L272 TraceCheckUtils]: 9: Hoare triple {3148#true} call main_#t~ret23#1 := base2flt(1, 0); {3148#true} is VALID [2022-02-20 14:36:49,983 INFO L290 TraceCheckUtils]: 10: Hoare triple {3148#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3209#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:49,984 INFO L290 TraceCheckUtils]: 11: Hoare triple {3209#(<= |base2flt_#in~e| base2flt_~e)} assume !(0 == ~m % 4294967296); {3209#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:49,984 INFO L290 TraceCheckUtils]: 12: Hoare triple {3209#(<= |base2flt_#in~e| base2flt_~e)} assume ~m % 4294967296 < 16777216; {3209#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:49,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {3209#(<= |base2flt_#in~e| base2flt_~e)} assume !false; {3209#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:49,985 INFO L290 TraceCheckUtils]: 14: Hoare triple {3209#(<= |base2flt_#in~e| base2flt_~e)} assume ~e <= -128;~__retres4~0 := 0; {3222#(<= (+ 128 |base2flt_#in~e|) 0)} is VALID [2022-02-20 14:36:49,985 INFO L290 TraceCheckUtils]: 15: Hoare triple {3222#(<= (+ 128 |base2flt_#in~e|) 0)} #res := ~__retres4~0; {3222#(<= (+ 128 |base2flt_#in~e|) 0)} is VALID [2022-02-20 14:36:49,985 INFO L290 TraceCheckUtils]: 16: Hoare triple {3222#(<= (+ 128 |base2flt_#in~e|) 0)} assume true; {3222#(<= (+ 128 |base2flt_#in~e|) 0)} is VALID [2022-02-20 14:36:49,986 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3222#(<= (+ 128 |base2flt_#in~e|) 0)} {3148#true} #339#return; {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {3149#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L272 TraceCheckUtils]: 19: Hoare triple {3149#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {3149#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L290 TraceCheckUtils]: 21: Hoare triple {3149#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {3149#false} #res := ~__retres4~0; {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {3149#false} assume true; {3149#false} is VALID [2022-02-20 14:36:49,986 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3149#false} {3149#false} #341#return; {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {3149#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L272 TraceCheckUtils]: 26: Hoare triple {3149#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {3149#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L290 TraceCheckUtils]: 28: Hoare triple {3149#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L290 TraceCheckUtils]: 29: Hoare triple {3149#false} #res := ~__retres4~0; {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {3149#false} assume true; {3149#false} is VALID [2022-02-20 14:36:49,987 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3149#false} {3149#false} #343#return; {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 32: Hoare triple {3149#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 33: Hoare triple {3149#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {3149#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {3149#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {3149#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 37: Hoare triple {3149#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {3149#false} is VALID [2022-02-20 14:36:49,988 INFO L290 TraceCheckUtils]: 38: Hoare triple {3149#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {3149#false} main_~sb~0#1 := main_~tmp~2#1; {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {3149#false} assume 0 == main_~sb~0#1; {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L290 TraceCheckUtils]: 41: Hoare triple {3149#false} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L290 TraceCheckUtils]: 42: Hoare triple {3149#false} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L290 TraceCheckUtils]: 43: Hoare triple {3149#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L272 TraceCheckUtils]: 44: Hoare triple {3149#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {3149#false} is VALID [2022-02-20 14:36:49,989 INFO L290 TraceCheckUtils]: 45: Hoare triple {3149#false} ~cond := #in~cond; {3149#false} is VALID [2022-02-20 14:36:49,990 INFO L290 TraceCheckUtils]: 46: Hoare triple {3149#false} assume 0 == ~cond; {3149#false} is VALID [2022-02-20 14:36:49,990 INFO L290 TraceCheckUtils]: 47: Hoare triple {3149#false} assume !false; {3149#false} is VALID [2022-02-20 14:36:49,990 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 24 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:36:49,990 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:36:49,990 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1940977031] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:36:49,991 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:36:49,991 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 7 [2022-02-20 14:36:49,991 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [613411599] [2022-02-20 14:36:49,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:49,992 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 48 [2022-02-20 14:36:49,992 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:49,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:50,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:50,021 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 14:36:50,022 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:50,022 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 14:36:50,022 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 14:36:50,022 INFO L87 Difference]: Start difference. First operand 160 states and 240 transitions. Second operand has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:50,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:50,285 INFO L93 Difference]: Finished difference Result 322 states and 485 transitions. [2022-02-20 14:36:50,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 14:36:50,286 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 48 [2022-02-20 14:36:50,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:50,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:50,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 263 transitions. [2022-02-20 14:36:50,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:50,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 263 transitions. [2022-02-20 14:36:50,292 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 263 transitions. [2022-02-20 14:36:50,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 263 edges. 263 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:50,491 INFO L225 Difference]: With dead ends: 322 [2022-02-20 14:36:50,491 INFO L226 Difference]: Without dead ends: 169 [2022-02-20 14:36:50,493 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-02-20 14:36:50,493 INFO L933 BasicCegarLoop]: 108 mSDtfsCounter, 28 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:50,494 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 307 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 14:36:50,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-02-20 14:36:50,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 165. [2022-02-20 14:36:50,518 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:50,518 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 165 states, 153 states have (on average 1.4640522875816993) internal successors, (224), 153 states have internal predecessors, (224), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:50,519 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 165 states, 153 states have (on average 1.4640522875816993) internal successors, (224), 153 states have internal predecessors, (224), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:50,519 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 165 states, 153 states have (on average 1.4640522875816993) internal successors, (224), 153 states have internal predecessors, (224), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:50,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:50,525 INFO L93 Difference]: Finished difference Result 169 states and 254 transitions. [2022-02-20 14:36:50,526 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 254 transitions. [2022-02-20 14:36:50,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:50,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:50,527 INFO L74 IsIncluded]: Start isIncluded. First operand has 165 states, 153 states have (on average 1.4640522875816993) internal successors, (224), 153 states have internal predecessors, (224), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) Second operand 169 states. [2022-02-20 14:36:50,527 INFO L87 Difference]: Start difference. First operand has 165 states, 153 states have (on average 1.4640522875816993) internal successors, (224), 153 states have internal predecessors, (224), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) Second operand 169 states. [2022-02-20 14:36:50,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:50,533 INFO L93 Difference]: Finished difference Result 169 states and 254 transitions. [2022-02-20 14:36:50,533 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 254 transitions. [2022-02-20 14:36:50,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:50,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:50,534 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:50,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:50,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 165 states, 153 states have (on average 1.4640522875816993) internal successors, (224), 153 states have internal predecessors, (224), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:50,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 248 transitions. [2022-02-20 14:36:50,540 INFO L78 Accepts]: Start accepts. Automaton has 165 states and 248 transitions. Word has length 48 [2022-02-20 14:36:50,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:50,540 INFO L470 AbstractCegarLoop]: Abstraction has 165 states and 248 transitions. [2022-02-20 14:36:50,540 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 8.75) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:50,540 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 248 transitions. [2022-02-20 14:36:50,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 14:36:50,541 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:50,541 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:50,562 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 14:36:50,751 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:50,752 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:50,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:50,752 INFO L85 PathProgramCache]: Analyzing trace with hash -1876784193, now seen corresponding path program 1 times [2022-02-20 14:36:50,752 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:50,752 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860736343] [2022-02-20 14:36:50,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:50,752 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:50,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:50,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,784 INFO L290 TraceCheckUtils]: 0: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:50,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,784 INFO L290 TraceCheckUtils]: 3: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:50,785 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4220#true} {4220#true} #337#return; {4220#true} is VALID [2022-02-20 14:36:50,785 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:50,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(0 == ~m % 4294967296); {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~m % 4294967296 < 16777216; {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,816 INFO L290 TraceCheckUtils]: 3: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !false; {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,817 INFO L290 TraceCheckUtils]: 4: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:36:50,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume ~m % 4294967296 < 16777216; {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:36:50,818 INFO L290 TraceCheckUtils]: 6: Hoare triple {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume !false; {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:36:50,818 INFO L290 TraceCheckUtils]: 7: Hoare triple {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume ~e <= -128;~__retres4~0 := 0; {4251#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:50,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {4251#(not (= |base2flt_#in~e| 0))} #res := ~__retres4~0; {4251#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:50,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {4251#(not (= |base2flt_#in~e| 0))} assume true; {4251#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:50,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4251#(not (= |base2flt_#in~e| 0))} {4220#true} #339#return; {4221#false} is VALID [2022-02-20 14:36:50,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-02-20 14:36:50,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:50,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,835 INFO L290 TraceCheckUtils]: 3: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:50,835 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4220#true} {4221#false} #341#return; {4221#false} is VALID [2022-02-20 14:36:50,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-02-20 14:36:50,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:50,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,845 INFO L290 TraceCheckUtils]: 3: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:50,845 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4220#true} {4221#false} #343#return; {4221#false} is VALID [2022-02-20 14:36:50,845 INFO L290 TraceCheckUtils]: 0: Hoare triple {4220#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {4220#true} is VALID [2022-02-20 14:36:50,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {4220#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {4220#true} is VALID [2022-02-20 14:36:50,846 INFO L272 TraceCheckUtils]: 2: Hoare triple {4220#true} call main_#t~ret22#1 := base2flt(0, 0); {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:50,846 INFO L290 TraceCheckUtils]: 3: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,846 INFO L290 TraceCheckUtils]: 4: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:50,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,846 INFO L290 TraceCheckUtils]: 6: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:50,846 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4220#true} {4220#true} #337#return; {4220#true} is VALID [2022-02-20 14:36:50,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {4220#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {4220#true} is VALID [2022-02-20 14:36:50,847 INFO L272 TraceCheckUtils]: 9: Hoare triple {4220#true} call main_#t~ret23#1 := base2flt(1, 0); {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:50,848 INFO L290 TraceCheckUtils]: 10: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(0 == ~m % 4294967296); {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~m % 4294967296 < 16777216; {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !false; {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:36:50,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {4249#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:36:50,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume ~m % 4294967296 < 16777216; {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:36:50,850 INFO L290 TraceCheckUtils]: 16: Hoare triple {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume !false; {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:36:50,851 INFO L290 TraceCheckUtils]: 17: Hoare triple {4250#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume ~e <= -128;~__retres4~0 := 0; {4251#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:50,851 INFO L290 TraceCheckUtils]: 18: Hoare triple {4251#(not (= |base2flt_#in~e| 0))} #res := ~__retres4~0; {4251#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:50,851 INFO L290 TraceCheckUtils]: 19: Hoare triple {4251#(not (= |base2flt_#in~e| 0))} assume true; {4251#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:36:50,852 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4251#(not (= |base2flt_#in~e| 0))} {4220#true} #339#return; {4221#false} is VALID [2022-02-20 14:36:50,852 INFO L290 TraceCheckUtils]: 21: Hoare triple {4221#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {4221#false} is VALID [2022-02-20 14:36:50,852 INFO L272 TraceCheckUtils]: 22: Hoare triple {4221#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:50,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,852 INFO L290 TraceCheckUtils]: 24: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:50,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,853 INFO L290 TraceCheckUtils]: 26: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:50,853 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4220#true} {4221#false} #341#return; {4221#false} is VALID [2022-02-20 14:36:50,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {4221#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {4221#false} is VALID [2022-02-20 14:36:50,853 INFO L272 TraceCheckUtils]: 29: Hoare triple {4221#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:50,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {4248#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:50,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:50,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:50,854 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4220#true} {4221#false} #343#return; {4221#false} is VALID [2022-02-20 14:36:50,854 INFO L290 TraceCheckUtils]: 35: Hoare triple {4221#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {4221#false} is VALID [2022-02-20 14:36:50,854 INFO L290 TraceCheckUtils]: 36: Hoare triple {4221#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:50,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {4221#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {4221#false} is VALID [2022-02-20 14:36:50,854 INFO L290 TraceCheckUtils]: 38: Hoare triple {4221#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 39: Hoare triple {4221#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {4221#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 41: Hoare triple {4221#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 42: Hoare triple {4221#false} main_~sb~0#1 := main_~tmp~2#1; {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 43: Hoare triple {4221#false} assume 0 == main_~sb~0#1; {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {4221#false} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 45: Hoare triple {4221#false} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {4221#false} is VALID [2022-02-20 14:36:50,855 INFO L290 TraceCheckUtils]: 46: Hoare triple {4221#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {4221#false} is VALID [2022-02-20 14:36:50,856 INFO L272 TraceCheckUtils]: 47: Hoare triple {4221#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {4221#false} is VALID [2022-02-20 14:36:50,856 INFO L290 TraceCheckUtils]: 48: Hoare triple {4221#false} ~cond := #in~cond; {4221#false} is VALID [2022-02-20 14:36:50,856 INFO L290 TraceCheckUtils]: 49: Hoare triple {4221#false} assume 0 == ~cond; {4221#false} is VALID [2022-02-20 14:36:50,856 INFO L290 TraceCheckUtils]: 50: Hoare triple {4221#false} assume !false; {4221#false} is VALID [2022-02-20 14:36:50,856 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:50,857 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:50,857 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1860736343] [2022-02-20 14:36:50,857 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1860736343] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:50,857 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [763247245] [2022-02-20 14:36:50,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:50,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:50,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:50,860 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:50,867 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 14:36:50,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,936 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 14:36:50,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:50,957 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:51,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {4220#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {4220#true} is VALID [2022-02-20 14:36:51,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {4220#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {4220#true} is VALID [2022-02-20 14:36:51,123 INFO L272 TraceCheckUtils]: 2: Hoare triple {4220#true} call main_#t~ret22#1 := base2flt(0, 0); {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L290 TraceCheckUtils]: 3: Hoare triple {4220#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4220#true} {4220#true} #337#return; {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {4220#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {4220#true} is VALID [2022-02-20 14:36:51,124 INFO L272 TraceCheckUtils]: 9: Hoare triple {4220#true} call main_#t~ret23#1 := base2flt(1, 0); {4220#true} is VALID [2022-02-20 14:36:51,125 INFO L290 TraceCheckUtils]: 10: Hoare triple {4220#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4285#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:51,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {4285#(<= |base2flt_#in~e| base2flt_~e)} assume !(0 == ~m % 4294967296); {4285#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:51,126 INFO L290 TraceCheckUtils]: 12: Hoare triple {4285#(<= |base2flt_#in~e| base2flt_~e)} assume ~m % 4294967296 < 16777216; {4285#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:51,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {4285#(<= |base2flt_#in~e| base2flt_~e)} assume !false; {4285#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:36:51,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {4285#(<= |base2flt_#in~e| base2flt_~e)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {4298#(<= |base2flt_#in~e| (+ base2flt_~e 1))} is VALID [2022-02-20 14:36:51,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {4298#(<= |base2flt_#in~e| (+ base2flt_~e 1))} assume ~m % 4294967296 < 16777216; {4298#(<= |base2flt_#in~e| (+ base2flt_~e 1))} is VALID [2022-02-20 14:36:51,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {4298#(<= |base2flt_#in~e| (+ base2flt_~e 1))} assume !false; {4298#(<= |base2flt_#in~e| (+ base2flt_~e 1))} is VALID [2022-02-20 14:36:51,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {4298#(<= |base2flt_#in~e| (+ base2flt_~e 1))} assume ~e <= -128;~__retres4~0 := 0; {4308#(<= (+ 127 |base2flt_#in~e|) 0)} is VALID [2022-02-20 14:36:51,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {4308#(<= (+ 127 |base2flt_#in~e|) 0)} #res := ~__retres4~0; {4308#(<= (+ 127 |base2flt_#in~e|) 0)} is VALID [2022-02-20 14:36:51,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {4308#(<= (+ 127 |base2flt_#in~e|) 0)} assume true; {4308#(<= (+ 127 |base2flt_#in~e|) 0)} is VALID [2022-02-20 14:36:51,130 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4308#(<= (+ 127 |base2flt_#in~e|) 0)} {4220#true} #339#return; {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {4221#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L272 TraceCheckUtils]: 22: Hoare triple {4221#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L290 TraceCheckUtils]: 23: Hoare triple {4221#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {4221#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {4221#false} #res := ~__retres4~0; {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {4221#false} assume true; {4221#false} is VALID [2022-02-20 14:36:51,131 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4221#false} {4221#false} #341#return; {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L290 TraceCheckUtils]: 28: Hoare triple {4221#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L272 TraceCheckUtils]: 29: Hoare triple {4221#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L290 TraceCheckUtils]: 30: Hoare triple {4221#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L290 TraceCheckUtils]: 31: Hoare triple {4221#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L290 TraceCheckUtils]: 32: Hoare triple {4221#false} #res := ~__retres4~0; {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L290 TraceCheckUtils]: 33: Hoare triple {4221#false} assume true; {4221#false} is VALID [2022-02-20 14:36:51,132 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4221#false} {4221#false} #343#return; {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {4221#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {4221#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {4221#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 38: Hoare triple {4221#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 39: Hoare triple {4221#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 40: Hoare triple {4221#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:51,133 INFO L290 TraceCheckUtils]: 41: Hoare triple {4221#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 42: Hoare triple {4221#false} main_~sb~0#1 := main_~tmp~2#1; {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 43: Hoare triple {4221#false} assume 0 == main_~sb~0#1; {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 44: Hoare triple {4221#false} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 45: Hoare triple {4221#false} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 46: Hoare triple {4221#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L272 TraceCheckUtils]: 47: Hoare triple {4221#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 48: Hoare triple {4221#false} ~cond := #in~cond; {4221#false} is VALID [2022-02-20 14:36:51,134 INFO L290 TraceCheckUtils]: 49: Hoare triple {4221#false} assume 0 == ~cond; {4221#false} is VALID [2022-02-20 14:36:51,135 INFO L290 TraceCheckUtils]: 50: Hoare triple {4221#false} assume !false; {4221#false} is VALID [2022-02-20 14:36:51,135 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:36:51,135 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:36:51,411 INFO L290 TraceCheckUtils]: 50: Hoare triple {4221#false} assume !false; {4221#false} is VALID [2022-02-20 14:36:51,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {4221#false} assume 0 == ~cond; {4221#false} is VALID [2022-02-20 14:36:51,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {4221#false} ~cond := #in~cond; {4221#false} is VALID [2022-02-20 14:36:51,411 INFO L272 TraceCheckUtils]: 47: Hoare triple {4221#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {4221#false} is VALID [2022-02-20 14:36:51,411 INFO L290 TraceCheckUtils]: 46: Hoare triple {4221#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {4221#false} is VALID [2022-02-20 14:36:51,411 INFO L290 TraceCheckUtils]: 45: Hoare triple {4221#false} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 44: Hoare triple {4221#false} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 43: Hoare triple {4221#false} assume 0 == main_~sb~0#1; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {4221#false} main_~sb~0#1 := main_~tmp~2#1; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 41: Hoare triple {4221#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 40: Hoare triple {4221#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 39: Hoare triple {4221#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 38: Hoare triple {4221#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 37: Hoare triple {4221#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 36: Hoare triple {4221#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 35: Hoare triple {4221#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4220#true} {4221#false} #343#return; {4221#false} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:51,412 INFO L290 TraceCheckUtils]: 32: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 31: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 30: Hoare triple {4220#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L272 TraceCheckUtils]: 29: Hoare triple {4221#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 28: Hoare triple {4221#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {4221#false} is VALID [2022-02-20 14:36:51,413 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4220#true} {4221#false} #341#return; {4221#false} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {4220#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,413 INFO L272 TraceCheckUtils]: 22: Hoare triple {4221#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {4220#true} is VALID [2022-02-20 14:36:51,419 INFO L290 TraceCheckUtils]: 21: Hoare triple {4221#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {4221#false} is VALID [2022-02-20 14:36:51,424 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4501#(not (<= 0 |base2flt_#in~e|))} {4220#true} #339#return; {4221#false} is VALID [2022-02-20 14:36:51,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {4501#(not (<= 0 |base2flt_#in~e|))} assume true; {4501#(not (<= 0 |base2flt_#in~e|))} is VALID [2022-02-20 14:36:51,425 INFO L290 TraceCheckUtils]: 18: Hoare triple {4501#(not (<= 0 |base2flt_#in~e|))} #res := ~__retres4~0; {4501#(not (<= 0 |base2flt_#in~e|))} is VALID [2022-02-20 14:36:51,425 INFO L290 TraceCheckUtils]: 17: Hoare triple {4511#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} assume ~e <= -128;~__retres4~0 := 0; {4501#(not (<= 0 |base2flt_#in~e|))} is VALID [2022-02-20 14:36:51,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {4511#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {4511#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {4511#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {4511#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {4511#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume !(0 == ~m % 4294967296); {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {4220#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4521#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:36:51,429 INFO L272 TraceCheckUtils]: 9: Hoare triple {4220#true} call main_#t~ret23#1 := base2flt(1, 0); {4220#true} is VALID [2022-02-20 14:36:51,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {4220#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {4220#true} is VALID [2022-02-20 14:36:51,429 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4220#true} {4220#true} #337#return; {4220#true} is VALID [2022-02-20 14:36:51,430 INFO L290 TraceCheckUtils]: 6: Hoare triple {4220#true} assume true; {4220#true} is VALID [2022-02-20 14:36:51,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {4220#true} #res := ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,430 INFO L290 TraceCheckUtils]: 4: Hoare triple {4220#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {4220#true} is VALID [2022-02-20 14:36:51,430 INFO L290 TraceCheckUtils]: 3: Hoare triple {4220#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {4220#true} is VALID [2022-02-20 14:36:51,430 INFO L272 TraceCheckUtils]: 2: Hoare triple {4220#true} call main_#t~ret22#1 := base2flt(0, 0); {4220#true} is VALID [2022-02-20 14:36:51,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {4220#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {4220#true} is VALID [2022-02-20 14:36:51,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {4220#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {4220#true} is VALID [2022-02-20 14:36:51,431 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:51,431 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [763247245] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:36:51,431 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:36:51,432 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 12 [2022-02-20 14:36:51,432 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1553687815] [2022-02-20 14:36:51,432 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:36:51,434 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-02-20 14:36:51,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:51,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:36:51,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:51,493 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 14:36:51,493 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:51,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 14:36:51,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2022-02-20 14:36:51,494 INFO L87 Difference]: Start difference. First operand 165 states and 248 transitions. Second operand has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:36:52,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:52,491 INFO L93 Difference]: Finished difference Result 466 states and 742 transitions. [2022-02-20 14:36:52,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 14:36:52,492 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-02-20 14:36:52,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:52,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:36:52,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 492 transitions. [2022-02-20 14:36:52,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:36:52,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 492 transitions. [2022-02-20 14:36:52,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 492 transitions. [2022-02-20 14:36:52,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 492 edges. 492 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:52,930 INFO L225 Difference]: With dead ends: 466 [2022-02-20 14:36:52,930 INFO L226 Difference]: Without dead ends: 308 [2022-02-20 14:36:52,931 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 116 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=213, Invalid=437, Unknown=0, NotChecked=0, Total=650 [2022-02-20 14:36:52,932 INFO L933 BasicCegarLoop]: 107 mSDtfsCounter, 435 mSDsluCounter, 355 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 90 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 435 SdHoareTripleChecker+Valid, 462 SdHoareTripleChecker+Invalid, 229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 90 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:52,932 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [435 Valid, 462 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [90 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:36:52,933 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 308 states. [2022-02-20 14:36:52,977 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 308 to 181. [2022-02-20 14:36:52,977 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:52,977 INFO L82 GeneralOperation]: Start isEquivalent. First operand 308 states. Second operand has 181 states, 169 states have (on average 1.4970414201183433) internal successors, (253), 169 states have internal predecessors, (253), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:52,978 INFO L74 IsIncluded]: Start isIncluded. First operand 308 states. Second operand has 181 states, 169 states have (on average 1.4970414201183433) internal successors, (253), 169 states have internal predecessors, (253), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:52,978 INFO L87 Difference]: Start difference. First operand 308 states. Second operand has 181 states, 169 states have (on average 1.4970414201183433) internal successors, (253), 169 states have internal predecessors, (253), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:52,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:52,997 INFO L93 Difference]: Finished difference Result 308 states and 498 transitions. [2022-02-20 14:36:52,997 INFO L276 IsEmpty]: Start isEmpty. Operand 308 states and 498 transitions. [2022-02-20 14:36:52,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:52,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:53,002 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 169 states have (on average 1.4970414201183433) internal successors, (253), 169 states have internal predecessors, (253), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) Second operand 308 states. [2022-02-20 14:36:53,002 INFO L87 Difference]: Start difference. First operand has 181 states, 169 states have (on average 1.4970414201183433) internal successors, (253), 169 states have internal predecessors, (253), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) Second operand 308 states. [2022-02-20 14:36:53,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:53,015 INFO L93 Difference]: Finished difference Result 308 states and 498 transitions. [2022-02-20 14:36:53,015 INFO L276 IsEmpty]: Start isEmpty. Operand 308 states and 498 transitions. [2022-02-20 14:36:53,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:53,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:53,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:53,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:53,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 169 states have (on average 1.4970414201183433) internal successors, (253), 169 states have internal predecessors, (253), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:53,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 277 transitions. [2022-02-20 14:36:53,024 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 277 transitions. Word has length 51 [2022-02-20 14:36:53,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:53,024 INFO L470 AbstractCegarLoop]: Abstraction has 181 states and 277 transitions. [2022-02-20 14:36:53,024 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 11 states have internal predecessors, (59), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:36:53,024 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 277 transitions. [2022-02-20 14:36:53,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-02-20 14:36:53,027 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:53,027 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:53,049 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 14:36:53,241 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:53,241 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:53,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:53,241 INFO L85 PathProgramCache]: Analyzing trace with hash -1192790047, now seen corresponding path program 1 times [2022-02-20 14:36:53,241 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:53,242 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [951115652] [2022-02-20 14:36:53,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:53,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:53,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,306 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:53,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,310 INFO L290 TraceCheckUtils]: 0: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,310 INFO L290 TraceCheckUtils]: 3: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,310 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5968#true} {5968#true} #337#return; {5968#true} is VALID [2022-02-20 14:36:53,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:53,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,375 INFO L290 TraceCheckUtils]: 3: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,375 INFO L290 TraceCheckUtils]: 4: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {6002#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:53,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,376 INFO L290 TraceCheckUtils]: 6: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,376 INFO L290 TraceCheckUtils]: 7: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,382 INFO L290 TraceCheckUtils]: 10: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume true; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,383 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {6003#(not (= |base2flt_#in~m| 1))} {5968#true} #339#return; {5969#false} is VALID [2022-02-20 14:36:53,383 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 14:36:53,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,392 INFO L290 TraceCheckUtils]: 3: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,393 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5968#true} {5969#false} #341#return; {5969#false} is VALID [2022-02-20 14:36:53,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-02-20 14:36:53,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,400 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5968#true} {5969#false} #343#return; {5969#false} is VALID [2022-02-20 14:36:53,401 INFO L290 TraceCheckUtils]: 0: Hoare triple {5968#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {5968#true} is VALID [2022-02-20 14:36:53,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {5968#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {5968#true} is VALID [2022-02-20 14:36:53,401 INFO L272 TraceCheckUtils]: 2: Hoare triple {5968#true} call main_#t~ret22#1 := base2flt(0, 0); {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:53,402 INFO L290 TraceCheckUtils]: 3: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,402 INFO L290 TraceCheckUtils]: 4: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,402 INFO L290 TraceCheckUtils]: 6: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,402 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5968#true} {5968#true} #337#return; {5968#true} is VALID [2022-02-20 14:36:53,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {5968#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {5968#true} is VALID [2022-02-20 14:36:53,403 INFO L272 TraceCheckUtils]: 9: Hoare triple {5968#true} call main_#t~ret23#1 := base2flt(1, 0); {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:53,404 INFO L290 TraceCheckUtils]: 10: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,404 INFO L290 TraceCheckUtils]: 11: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,404 INFO L290 TraceCheckUtils]: 12: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,405 INFO L290 TraceCheckUtils]: 13: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:53,405 INFO L290 TraceCheckUtils]: 14: Hoare triple {6001#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {6002#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:53,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,407 INFO L290 TraceCheckUtils]: 17: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,407 INFO L290 TraceCheckUtils]: 18: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,407 INFO L290 TraceCheckUtils]: 19: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,409 INFO L290 TraceCheckUtils]: 21: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,409 INFO L290 TraceCheckUtils]: 22: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {6003#(not (= |base2flt_#in~m| 1))} assume true; {6003#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:53,410 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {6003#(not (= |base2flt_#in~m| 1))} {5968#true} #339#return; {5969#false} is VALID [2022-02-20 14:36:53,411 INFO L290 TraceCheckUtils]: 25: Hoare triple {5969#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {5969#false} is VALID [2022-02-20 14:36:53,411 INFO L272 TraceCheckUtils]: 26: Hoare triple {5969#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:53,411 INFO L290 TraceCheckUtils]: 27: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,411 INFO L290 TraceCheckUtils]: 28: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,411 INFO L290 TraceCheckUtils]: 29: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,411 INFO L290 TraceCheckUtils]: 30: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,412 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5968#true} {5969#false} #341#return; {5969#false} is VALID [2022-02-20 14:36:53,412 INFO L290 TraceCheckUtils]: 32: Hoare triple {5969#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {5969#false} is VALID [2022-02-20 14:36:53,412 INFO L272 TraceCheckUtils]: 33: Hoare triple {5969#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:53,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {6000#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,412 INFO L290 TraceCheckUtils]: 35: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,412 INFO L290 TraceCheckUtils]: 36: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,412 INFO L290 TraceCheckUtils]: 37: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,413 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5968#true} {5969#false} #343#return; {5969#false} is VALID [2022-02-20 14:36:53,413 INFO L290 TraceCheckUtils]: 39: Hoare triple {5969#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {5969#false} is VALID [2022-02-20 14:36:53,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {5969#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {5969#false} is VALID [2022-02-20 14:36:53,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {5969#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {5969#false} is VALID [2022-02-20 14:36:53,413 INFO L290 TraceCheckUtils]: 42: Hoare triple {5969#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {5969#false} is VALID [2022-02-20 14:36:53,413 INFO L290 TraceCheckUtils]: 43: Hoare triple {5969#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {5969#false} is VALID [2022-02-20 14:36:53,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {5969#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {5969#false} is VALID [2022-02-20 14:36:53,414 INFO L290 TraceCheckUtils]: 45: Hoare triple {5969#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {5969#false} is VALID [2022-02-20 14:36:53,414 INFO L290 TraceCheckUtils]: 46: Hoare triple {5969#false} main_~sb~0#1 := main_~tmp~2#1; {5969#false} is VALID [2022-02-20 14:36:53,414 INFO L290 TraceCheckUtils]: 47: Hoare triple {5969#false} assume 0 == main_~sb~0#1; {5969#false} is VALID [2022-02-20 14:36:53,414 INFO L290 TraceCheckUtils]: 48: Hoare triple {5969#false} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {5969#false} is VALID [2022-02-20 14:36:53,414 INFO L290 TraceCheckUtils]: 49: Hoare triple {5969#false} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {5969#false} is VALID [2022-02-20 14:36:53,414 INFO L290 TraceCheckUtils]: 50: Hoare triple {5969#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {5969#false} is VALID [2022-02-20 14:36:53,418 INFO L272 TraceCheckUtils]: 51: Hoare triple {5969#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {5969#false} is VALID [2022-02-20 14:36:53,418 INFO L290 TraceCheckUtils]: 52: Hoare triple {5969#false} ~cond := #in~cond; {5969#false} is VALID [2022-02-20 14:36:53,419 INFO L290 TraceCheckUtils]: 53: Hoare triple {5969#false} assume 0 == ~cond; {5969#false} is VALID [2022-02-20 14:36:53,419 INFO L290 TraceCheckUtils]: 54: Hoare triple {5969#false} assume !false; {5969#false} is VALID [2022-02-20 14:36:53,419 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:53,419 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:53,419 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [951115652] [2022-02-20 14:36:53,420 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [951115652] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:53,420 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [385462128] [2022-02-20 14:36:53,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:53,420 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:53,420 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:53,424 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:53,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 14:36:53,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 14:36:53,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:53,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:53,696 INFO L290 TraceCheckUtils]: 0: Hoare triple {5968#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {5968#true} is VALID [2022-02-20 14:36:53,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {5968#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {5968#true} is VALID [2022-02-20 14:36:53,696 INFO L272 TraceCheckUtils]: 2: Hoare triple {5968#true} call main_#t~ret22#1 := base2flt(0, 0); {5968#true} is VALID [2022-02-20 14:36:53,696 INFO L290 TraceCheckUtils]: 3: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {6016#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:53,697 INFO L290 TraceCheckUtils]: 4: Hoare triple {6016#(= base2flt_~m |base2flt_#in~m|)} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {6020#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:53,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {6020#(<= (mod |base2flt_#in~m| 4294967296) 0)} #res := ~__retres4~0; {6020#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:53,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {6020#(<= (mod |base2flt_#in~m| 4294967296) 0)} assume true; {6020#(<= (mod |base2flt_#in~m| 4294967296) 0)} is VALID [2022-02-20 14:36:53,698 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6020#(<= (mod |base2flt_#in~m| 4294967296) 0)} {5968#true} #337#return; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {5968#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L272 TraceCheckUtils]: 9: Hoare triple {5968#true} call main_#t~ret23#1 := base2flt(1, 0); {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 10: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {5968#true} assume !(0 == ~m % 4294967296); {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 12: Hoare triple {5968#true} assume ~m % 4294967296 < 16777216; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {5968#true} assume !false; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {5968#true} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {5968#true} assume !(~m % 4294967296 < 16777216); {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 16: Hoare triple {5968#true} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 17: Hoare triple {5968#true} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {5968#true} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {5968#true} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {5968#true} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {5968#true} ~__retres4~0 := ~res~0; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 22: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,698 INFO L290 TraceCheckUtils]: 23: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {5968#true} {5968#true} #339#return; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {5968#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L272 TraceCheckUtils]: 26: Hoare triple {5968#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 27: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 28: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5968#true} {5968#true} #341#return; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {5968#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L272 TraceCheckUtils]: 33: Hoare triple {5968#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 34: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,699 INFO L290 TraceCheckUtils]: 37: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,700 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5968#true} {5968#true} #343#return; {5968#true} is VALID [2022-02-20 14:36:53,700 INFO L290 TraceCheckUtils]: 39: Hoare triple {5968#true} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {5968#true} is VALID [2022-02-20 14:36:53,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {5968#true} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {5968#true} is VALID [2022-02-20 14:36:53,700 INFO L290 TraceCheckUtils]: 41: Hoare triple {5968#true} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {6132#(= |ULTIMATE.start_mulflt_~__retres10~1#1| 0)} is VALID [2022-02-20 14:36:53,701 INFO L290 TraceCheckUtils]: 42: Hoare triple {6132#(= |ULTIMATE.start_mulflt_~__retres10~1#1| 0)} mulflt_#res#1 := mulflt_~__retres10~1#1; {6136#(= |ULTIMATE.start_mulflt_#res#1| 0)} is VALID [2022-02-20 14:36:53,701 INFO L290 TraceCheckUtils]: 43: Hoare triple {6136#(= |ULTIMATE.start_mulflt_#res#1| 0)} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} is VALID [2022-02-20 14:36:53,701 INFO L290 TraceCheckUtils]: 44: Hoare triple {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} is VALID [2022-02-20 14:36:53,702 INFO L290 TraceCheckUtils]: 45: Hoare triple {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} is VALID [2022-02-20 14:36:53,702 INFO L290 TraceCheckUtils]: 46: Hoare triple {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} main_~sb~0#1 := main_~tmp~2#1; {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} is VALID [2022-02-20 14:36:53,702 INFO L290 TraceCheckUtils]: 47: Hoare triple {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} assume 0 == main_~sb~0#1; {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} is VALID [2022-02-20 14:36:53,703 INFO L290 TraceCheckUtils]: 48: Hoare triple {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} is VALID [2022-02-20 14:36:53,703 INFO L290 TraceCheckUtils]: 49: Hoare triple {6140#(= |ULTIMATE.start_main_~r_mul~0#1| 0)} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {5969#false} is VALID [2022-02-20 14:36:53,703 INFO L290 TraceCheckUtils]: 50: Hoare triple {5969#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {5969#false} is VALID [2022-02-20 14:36:53,703 INFO L272 TraceCheckUtils]: 51: Hoare triple {5969#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {5969#false} is VALID [2022-02-20 14:36:53,704 INFO L290 TraceCheckUtils]: 52: Hoare triple {5969#false} ~cond := #in~cond; {5969#false} is VALID [2022-02-20 14:36:53,704 INFO L290 TraceCheckUtils]: 53: Hoare triple {5969#false} assume 0 == ~cond; {5969#false} is VALID [2022-02-20 14:36:53,704 INFO L290 TraceCheckUtils]: 54: Hoare triple {5969#false} assume !false; {5969#false} is VALID [2022-02-20 14:36:53,704 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:53,704 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:36:53,991 INFO L290 TraceCheckUtils]: 54: Hoare triple {5969#false} assume !false; {5969#false} is VALID [2022-02-20 14:36:53,991 INFO L290 TraceCheckUtils]: 53: Hoare triple {5969#false} assume 0 == ~cond; {5969#false} is VALID [2022-02-20 14:36:53,991 INFO L290 TraceCheckUtils]: 52: Hoare triple {5969#false} ~cond := #in~cond; {5969#false} is VALID [2022-02-20 14:36:53,991 INFO L272 TraceCheckUtils]: 51: Hoare triple {5969#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {5969#false} is VALID [2022-02-20 14:36:53,991 INFO L290 TraceCheckUtils]: 50: Hoare triple {5969#false} main_~tmp___1~0#1 := main_~tmp___0~0#1; {5969#false} is VALID [2022-02-20 14:36:53,992 INFO L290 TraceCheckUtils]: 49: Hoare triple {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} assume main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296;main_~tmp___0~0#1 := 1; {5969#false} is VALID [2022-02-20 14:36:53,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,992 INFO L290 TraceCheckUtils]: 47: Hoare triple {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} assume 0 == main_~sb~0#1; {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,993 INFO L290 TraceCheckUtils]: 46: Hoare triple {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} main_~sb~0#1 := main_~tmp~2#1; {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,993 INFO L290 TraceCheckUtils]: 45: Hoare triple {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,993 INFO L290 TraceCheckUtils]: 44: Hoare triple {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,994 INFO L290 TraceCheckUtils]: 43: Hoare triple {6208#(<= (mod |ULTIMATE.start_mulflt_#res#1| 4294967296) 0)} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {6189#(<= (mod |ULTIMATE.start_main_~r_mul~0#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,994 INFO L290 TraceCheckUtils]: 42: Hoare triple {6212#(<= (mod |ULTIMATE.start_mulflt_~__retres10~1#1| 4294967296) 0)} mulflt_#res#1 := mulflt_~__retres10~1#1; {6208#(<= (mod |ULTIMATE.start_mulflt_#res#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,994 INFO L290 TraceCheckUtils]: 41: Hoare triple {5968#true} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {6212#(<= (mod |ULTIMATE.start_mulflt_~__retres10~1#1| 4294967296) 0)} is VALID [2022-02-20 14:36:53,994 INFO L290 TraceCheckUtils]: 40: Hoare triple {5968#true} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {5968#true} is VALID [2022-02-20 14:36:53,994 INFO L290 TraceCheckUtils]: 39: Hoare triple {5968#true} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {5968#true} is VALID [2022-02-20 14:36:53,994 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5968#true} {5968#true} #343#return; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 37: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 35: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L272 TraceCheckUtils]: 33: Hoare triple {5968#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 32: Hoare triple {5968#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5968#true} {5968#true} #341#return; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 28: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 27: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L272 TraceCheckUtils]: 26: Hoare triple {5968#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {5968#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {5968#true} {5968#true} #339#return; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 23: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 22: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,995 INFO L290 TraceCheckUtils]: 21: Hoare triple {5968#true} ~__retres4~0 := ~res~0; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {5968#true} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 19: Hoare triple {5968#true} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 18: Hoare triple {5968#true} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 17: Hoare triple {5968#true} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {5968#true} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {5968#true} assume !(~m % 4294967296 < 16777216); {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {5968#true} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {5968#true} assume !false; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {5968#true} assume ~m % 4294967296 < 16777216; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {5968#true} assume !(0 == ~m % 4294967296); {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 10: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L272 TraceCheckUtils]: 9: Hoare triple {5968#true} call main_#t~ret23#1 := base2flt(1, 0); {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {5968#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5968#true} {5968#true} #337#return; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {5968#true} assume true; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {5968#true} #res := ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 4: Hoare triple {5968#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {5968#true} is VALID [2022-02-20 14:36:53,996 INFO L290 TraceCheckUtils]: 3: Hoare triple {5968#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {5968#true} is VALID [2022-02-20 14:36:53,997 INFO L272 TraceCheckUtils]: 2: Hoare triple {5968#true} call main_#t~ret22#1 := base2flt(0, 0); {5968#true} is VALID [2022-02-20 14:36:53,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {5968#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {5968#true} is VALID [2022-02-20 14:36:53,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {5968#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {5968#true} is VALID [2022-02-20 14:36:53,997 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 14:36:53,997 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [385462128] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:53,997 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:36:53,997 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 7] total 14 [2022-02-20 14:36:53,997 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [199468530] [2022-02-20 14:36:53,997 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:53,998 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 55 [2022-02-20 14:36:53,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:53,998 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:54,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:54,028 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:36:54,029 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:54,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:36:54,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:36:54,029 INFO L87 Difference]: Start difference. First operand 181 states and 277 transitions. Second operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:54,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:54,411 INFO L93 Difference]: Finished difference Result 204 states and 301 transitions. [2022-02-20 14:36:54,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 14:36:54,411 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 55 [2022-02-20 14:36:54,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:54,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:54,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 137 transitions. [2022-02-20 14:36:54,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:54,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 137 transitions. [2022-02-20 14:36:54,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 137 transitions. [2022-02-20 14:36:54,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:54,527 INFO L225 Difference]: With dead ends: 204 [2022-02-20 14:36:54,527 INFO L226 Difference]: Without dead ends: 198 [2022-02-20 14:36:54,527 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-02-20 14:36:54,528 INFO L933 BasicCegarLoop]: 115 mSDtfsCounter, 22 mSDsluCounter, 342 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 457 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:54,528 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 457 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:36:54,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2022-02-20 14:36:54,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 196. [2022-02-20 14:36:54,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:54,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand has 196 states, 184 states have (on average 1.4619565217391304) internal successors, (269), 184 states have internal predecessors, (269), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:54,560 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand has 196 states, 184 states have (on average 1.4619565217391304) internal successors, (269), 184 states have internal predecessors, (269), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:54,560 INFO L87 Difference]: Start difference. First operand 198 states. Second operand has 196 states, 184 states have (on average 1.4619565217391304) internal successors, (269), 184 states have internal predecessors, (269), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:54,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:54,565 INFO L93 Difference]: Finished difference Result 198 states and 295 transitions. [2022-02-20 14:36:54,565 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 295 transitions. [2022-02-20 14:36:54,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:54,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:54,566 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 184 states have (on average 1.4619565217391304) internal successors, (269), 184 states have internal predecessors, (269), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) Second operand 198 states. [2022-02-20 14:36:54,567 INFO L87 Difference]: Start difference. First operand has 196 states, 184 states have (on average 1.4619565217391304) internal successors, (269), 184 states have internal predecessors, (269), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) Second operand 198 states. [2022-02-20 14:36:54,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:54,572 INFO L93 Difference]: Finished difference Result 198 states and 295 transitions. [2022-02-20 14:36:54,572 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 295 transitions. [2022-02-20 14:36:54,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:54,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:54,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:54,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:54,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 184 states have (on average 1.4619565217391304) internal successors, (269), 184 states have internal predecessors, (269), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (18), 8 states have call predecessors, (18), 5 states have call successors, (18) [2022-02-20 14:36:54,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 293 transitions. [2022-02-20 14:36:54,578 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 293 transitions. Word has length 55 [2022-02-20 14:36:54,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:54,578 INFO L470 AbstractCegarLoop]: Abstraction has 196 states and 293 transitions. [2022-02-20 14:36:54,579 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:54,579 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 293 transitions. [2022-02-20 14:36:54,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-02-20 14:36:54,580 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:54,580 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:54,605 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 14:36:54,795 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:54,795 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:54,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:54,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1135531745, now seen corresponding path program 1 times [2022-02-20 14:36:54,796 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:54,796 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137639029] [2022-02-20 14:36:54,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:54,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:54,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:54,850 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:54,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:54,853 INFO L290 TraceCheckUtils]: 0: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {7207#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {7207#true} is VALID [2022-02-20 14:36:54,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,854 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7207#true} {7207#true} #337#return; {7207#true} is VALID [2022-02-20 14:36:54,854 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:54,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:54,864 INFO L290 TraceCheckUtils]: 0: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {7207#true} assume !(0 == ~m % 4294967296); {7207#true} is VALID [2022-02-20 14:36:54,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {7207#true} assume ~m % 4294967296 < 16777216; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 3: Hoare triple {7207#true} assume !false; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 4: Hoare triple {7207#true} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {7207#true} assume !(~m % 4294967296 < 16777216); {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {7207#true} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {7207#true} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {7207#true} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {7207#true} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 10: Hoare triple {7207#true} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 11: Hoare triple {7207#true} ~__retres4~0 := ~res~0; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,866 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {7207#true} {7207#true} #339#return; {7207#true} is VALID [2022-02-20 14:36:54,866 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 14:36:54,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:54,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {7207#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {7207#true} is VALID [2022-02-20 14:36:54,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,869 INFO L290 TraceCheckUtils]: 3: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,869 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7207#true} {7207#true} #341#return; {7207#true} is VALID [2022-02-20 14:36:54,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-02-20 14:36:54,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:54,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {7207#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {7207#true} is VALID [2022-02-20 14:36:54,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,873 INFO L290 TraceCheckUtils]: 3: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,873 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7207#true} {7207#true} #343#return; {7207#true} is VALID [2022-02-20 14:36:54,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {7207#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {7207#true} is VALID [2022-02-20 14:36:54,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {7207#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {7207#true} is VALID [2022-02-20 14:36:54,874 INFO L272 TraceCheckUtils]: 2: Hoare triple {7207#true} call main_#t~ret22#1 := base2flt(0, 0); {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:54,874 INFO L290 TraceCheckUtils]: 3: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,874 INFO L290 TraceCheckUtils]: 4: Hoare triple {7207#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {7207#true} is VALID [2022-02-20 14:36:54,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,874 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7207#true} {7207#true} #337#return; {7207#true} is VALID [2022-02-20 14:36:54,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {7207#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L272 TraceCheckUtils]: 9: Hoare triple {7207#true} call main_#t~ret23#1 := base2flt(1, 0); {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 10: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 11: Hoare triple {7207#true} assume !(0 == ~m % 4294967296); {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {7207#true} assume ~m % 4294967296 < 16777216; {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {7207#true} assume !false; {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {7207#true} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {7207#true} assume !(~m % 4294967296 < 16777216); {7207#true} is VALID [2022-02-20 14:36:54,875 INFO L290 TraceCheckUtils]: 16: Hoare triple {7207#true} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {7207#true} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {7207#true} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {7207#true} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {7207#true} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {7207#true} ~__retres4~0 := ~res~0; {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 22: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {7207#true} {7207#true} #339#return; {7207#true} is VALID [2022-02-20 14:36:54,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {7207#true} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {7207#true} is VALID [2022-02-20 14:36:54,877 INFO L272 TraceCheckUtils]: 26: Hoare triple {7207#true} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:54,877 INFO L290 TraceCheckUtils]: 27: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,877 INFO L290 TraceCheckUtils]: 28: Hoare triple {7207#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {7207#true} is VALID [2022-02-20 14:36:54,877 INFO L290 TraceCheckUtils]: 29: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,877 INFO L290 TraceCheckUtils]: 30: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,877 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7207#true} {7207#true} #341#return; {7207#true} is VALID [2022-02-20 14:36:54,877 INFO L290 TraceCheckUtils]: 32: Hoare triple {7207#true} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {7207#true} is VALID [2022-02-20 14:36:54,878 INFO L272 TraceCheckUtils]: 33: Hoare triple {7207#true} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:54,878 INFO L290 TraceCheckUtils]: 34: Hoare triple {7243#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {7207#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {7207#true} is VALID [2022-02-20 14:36:54,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {7207#true} #res := ~__retres4~0; {7207#true} is VALID [2022-02-20 14:36:54,878 INFO L290 TraceCheckUtils]: 37: Hoare triple {7207#true} assume true; {7207#true} is VALID [2022-02-20 14:36:54,878 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7207#true} {7207#true} #343#return; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 39: Hoare triple {7207#true} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 40: Hoare triple {7207#true} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 41: Hoare triple {7207#true} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 42: Hoare triple {7207#true} mulflt_#res#1 := mulflt_~__retres10~1#1; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 43: Hoare triple {7207#true} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 44: Hoare triple {7207#true} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 45: Hoare triple {7207#true} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 46: Hoare triple {7207#true} main_~sb~0#1 := main_~tmp~2#1; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 47: Hoare triple {7207#true} assume 0 == main_~sb~0#1; {7207#true} is VALID [2022-02-20 14:36:54,879 INFO L290 TraceCheckUtils]: 48: Hoare triple {7207#true} assume !(main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296); {7207#true} is VALID [2022-02-20 14:36:54,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {7207#true} assume !(main_~r_mul~0#1 % 4294967296 > main_~a~0#1 % 4294967296);main_~tmp___0~0#1 := 0; {7239#(= 0 |ULTIMATE.start_main_~tmp___0~0#1|)} is VALID [2022-02-20 14:36:54,880 INFO L290 TraceCheckUtils]: 50: Hoare triple {7239#(= 0 |ULTIMATE.start_main_~tmp___0~0#1|)} main_~tmp___1~0#1 := main_~tmp___0~0#1; {7240#(= 0 |ULTIMATE.start_main_~tmp___1~0#1|)} is VALID [2022-02-20 14:36:54,881 INFO L272 TraceCheckUtils]: 51: Hoare triple {7240#(= 0 |ULTIMATE.start_main_~tmp___1~0#1|)} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {7241#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 14:36:54,881 INFO L290 TraceCheckUtils]: 52: Hoare triple {7241#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7242#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 14:36:54,881 INFO L290 TraceCheckUtils]: 53: Hoare triple {7242#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7208#false} is VALID [2022-02-20 14:36:54,881 INFO L290 TraceCheckUtils]: 54: Hoare triple {7208#false} assume !false; {7208#false} is VALID [2022-02-20 14:36:54,882 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 14:36:54,882 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:54,882 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1137639029] [2022-02-20 14:36:54,882 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1137639029] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:36:54,882 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:36:54,882 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 14:36:54,882 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702661709] [2022-02-20 14:36:54,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:54,883 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 55 [2022-02-20 14:36:54,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:54,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:54,914 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:54,914 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 14:36:54,914 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:54,915 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 14:36:54,915 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 14:36:54,915 INFO L87 Difference]: Start difference. First operand 196 states and 293 transitions. Second operand has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:55,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:55,304 INFO L93 Difference]: Finished difference Result 222 states and 334 transitions. [2022-02-20 14:36:55,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 14:36:55,304 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 55 [2022-02-20 14:36:55,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:55,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:55,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 139 transitions. [2022-02-20 14:36:55,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:55,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 139 transitions. [2022-02-20 14:36:55,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 139 transitions. [2022-02-20 14:36:55,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:55,426 INFO L225 Difference]: With dead ends: 222 [2022-02-20 14:36:55,426 INFO L226 Difference]: Without dead ends: 205 [2022-02-20 14:36:55,427 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-02-20 14:36:55,427 INFO L933 BasicCegarLoop]: 119 mSDtfsCounter, 38 mSDsluCounter, 546 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 665 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:55,427 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 665 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:36:55,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-02-20 14:36:55,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 185. [2022-02-20 14:36:55,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:55,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 205 states. Second operand has 185 states, 173 states have (on average 1.4682080924855492) internal successors, (254), 174 states have internal predecessors, (254), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:55,477 INFO L74 IsIncluded]: Start isIncluded. First operand 205 states. Second operand has 185 states, 173 states have (on average 1.4682080924855492) internal successors, (254), 174 states have internal predecessors, (254), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:55,478 INFO L87 Difference]: Start difference. First operand 205 states. Second operand has 185 states, 173 states have (on average 1.4682080924855492) internal successors, (254), 174 states have internal predecessors, (254), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:55,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:55,486 INFO L93 Difference]: Finished difference Result 205 states and 311 transitions. [2022-02-20 14:36:55,486 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 311 transitions. [2022-02-20 14:36:55,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:55,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:55,488 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 173 states have (on average 1.4682080924855492) internal successors, (254), 174 states have internal predecessors, (254), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 205 states. [2022-02-20 14:36:55,488 INFO L87 Difference]: Start difference. First operand has 185 states, 173 states have (on average 1.4682080924855492) internal successors, (254), 174 states have internal predecessors, (254), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 205 states. [2022-02-20 14:36:55,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:55,494 INFO L93 Difference]: Finished difference Result 205 states and 311 transitions. [2022-02-20 14:36:55,494 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 311 transitions. [2022-02-20 14:36:55,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:55,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:55,495 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:55,495 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:55,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 173 states have (on average 1.4682080924855492) internal successors, (254), 174 states have internal predecessors, (254), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:55,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 275 transitions. [2022-02-20 14:36:55,500 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 275 transitions. Word has length 55 [2022-02-20 14:36:55,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:55,501 INFO L470 AbstractCegarLoop]: Abstraction has 185 states and 275 transitions. [2022-02-20 14:36:55,501 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 5.833333333333333) internal successors, (35), 5 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:36:55,502 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 275 transitions. [2022-02-20 14:36:55,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-02-20 14:36:55,503 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:55,503 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:55,503 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 14:36:55,503 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:55,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:55,504 INFO L85 PathProgramCache]: Analyzing trace with hash -1032849812, now seen corresponding path program 1 times [2022-02-20 14:36:55,504 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:55,504 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1982962942] [2022-02-20 14:36:55,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:55,504 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:55,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:55,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,557 INFO L290 TraceCheckUtils]: 0: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {8137#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {8137#true} is VALID [2022-02-20 14:36:55,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,557 INFO L290 TraceCheckUtils]: 3: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,557 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {8137#true} {8137#true} #337#return; {8137#true} is VALID [2022-02-20 14:36:55,558 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:55,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,618 INFO L290 TraceCheckUtils]: 0: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,620 INFO L290 TraceCheckUtils]: 3: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,620 INFO L290 TraceCheckUtils]: 4: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {8175#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:55,621 INFO L290 TraceCheckUtils]: 5: Hoare triple {8175#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,621 INFO L290 TraceCheckUtils]: 6: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,621 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,625 INFO L290 TraceCheckUtils]: 10: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,626 INFO L290 TraceCheckUtils]: 12: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume true; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,627 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {8176#(not (= |base2flt_#in~m| 1))} {8137#true} #339#return; {8138#false} is VALID [2022-02-20 14:36:55,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 14:36:55,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {8137#true} assume !(0 == ~m % 4294967296); {8137#true} is VALID [2022-02-20 14:36:55,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {8137#true} assume !(~m % 4294967296 < 16777216); {8137#true} is VALID [2022-02-20 14:36:55,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {8137#true} assume !false; {8137#true} is VALID [2022-02-20 14:36:55,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {8137#true} assume ~m % 4294967296 >= 33554432; {8137#true} is VALID [2022-02-20 14:36:55,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {8137#true} assume ~e >= 127;~__retres4~0 := 4294967295; {8137#true} is VALID [2022-02-20 14:36:55,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,638 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {8137#true} {8138#false} #341#return; {8138#false} is VALID [2022-02-20 14:36:55,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 37 [2022-02-20 14:36:55,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,643 INFO L290 TraceCheckUtils]: 0: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {8137#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {8137#true} is VALID [2022-02-20 14:36:55,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,644 INFO L290 TraceCheckUtils]: 3: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,644 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {8137#true} {8138#false} #343#return; {8138#false} is VALID [2022-02-20 14:36:55,644 INFO L290 TraceCheckUtils]: 0: Hoare triple {8137#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {8137#true} is VALID [2022-02-20 14:36:55,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {8137#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {8137#true} is VALID [2022-02-20 14:36:55,645 INFO L272 TraceCheckUtils]: 2: Hoare triple {8137#true} call main_#t~ret22#1 := base2flt(0, 0); {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:55,645 INFO L290 TraceCheckUtils]: 3: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,645 INFO L290 TraceCheckUtils]: 4: Hoare triple {8137#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {8137#true} is VALID [2022-02-20 14:36:55,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,645 INFO L290 TraceCheckUtils]: 6: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,645 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {8137#true} {8137#true} #337#return; {8137#true} is VALID [2022-02-20 14:36:55,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {8137#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {8137#true} is VALID [2022-02-20 14:36:55,646 INFO L272 TraceCheckUtils]: 9: Hoare triple {8137#true} call main_#t~ret23#1 := base2flt(1, 0); {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:55,647 INFO L290 TraceCheckUtils]: 10: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,647 INFO L290 TraceCheckUtils]: 11: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:55,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {8174#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {8175#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:55,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {8175#(or (and (<= base2flt_~m 2) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,649 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,651 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,651 INFO L290 TraceCheckUtils]: 23: Hoare triple {8176#(not (= |base2flt_#in~m| 1))} assume true; {8176#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:55,652 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {8176#(not (= |base2flt_#in~m| 1))} {8137#true} #339#return; {8138#false} is VALID [2022-02-20 14:36:55,652 INFO L290 TraceCheckUtils]: 25: Hoare triple {8138#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {8138#false} is VALID [2022-02-20 14:36:55,652 INFO L272 TraceCheckUtils]: 26: Hoare triple {8138#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:55,652 INFO L290 TraceCheckUtils]: 27: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,652 INFO L290 TraceCheckUtils]: 28: Hoare triple {8137#true} assume !(0 == ~m % 4294967296); {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 29: Hoare triple {8137#true} assume !(~m % 4294967296 < 16777216); {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 30: Hoare triple {8137#true} assume !false; {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {8137#true} assume ~m % 4294967296 >= 33554432; {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {8137#true} assume ~e >= 127;~__retres4~0 := 4294967295; {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 33: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 34: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,653 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8137#true} {8138#false} #341#return; {8138#false} is VALID [2022-02-20 14:36:55,653 INFO L290 TraceCheckUtils]: 36: Hoare triple {8138#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {8138#false} is VALID [2022-02-20 14:36:55,654 INFO L272 TraceCheckUtils]: 37: Hoare triple {8138#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:55,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {8173#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,654 INFO L290 TraceCheckUtils]: 39: Hoare triple {8137#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {8137#true} is VALID [2022-02-20 14:36:55,654 INFO L290 TraceCheckUtils]: 40: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,654 INFO L290 TraceCheckUtils]: 41: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,654 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8137#true} {8138#false} #343#return; {8138#false} is VALID [2022-02-20 14:36:55,654 INFO L290 TraceCheckUtils]: 43: Hoare triple {8138#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {8138#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {8138#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 46: Hoare triple {8138#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 47: Hoare triple {8138#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 48: Hoare triple {8138#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 49: Hoare triple {8138#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 50: Hoare triple {8138#false} main_~sb~0#1 := main_~tmp~2#1; {8138#false} is VALID [2022-02-20 14:36:55,655 INFO L290 TraceCheckUtils]: 51: Hoare triple {8138#false} assume 0 == main_~sb~0#1; {8138#false} is VALID [2022-02-20 14:36:55,656 INFO L290 TraceCheckUtils]: 52: Hoare triple {8138#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {8138#false} is VALID [2022-02-20 14:36:55,656 INFO L272 TraceCheckUtils]: 53: Hoare triple {8138#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {8138#false} is VALID [2022-02-20 14:36:55,656 INFO L290 TraceCheckUtils]: 54: Hoare triple {8138#false} ~cond := #in~cond; {8138#false} is VALID [2022-02-20 14:36:55,656 INFO L290 TraceCheckUtils]: 55: Hoare triple {8138#false} assume 0 == ~cond; {8138#false} is VALID [2022-02-20 14:36:55,656 INFO L290 TraceCheckUtils]: 56: Hoare triple {8138#false} assume !false; {8138#false} is VALID [2022-02-20 14:36:55,656 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:55,657 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:55,657 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1982962942] [2022-02-20 14:36:55,657 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1982962942] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:55,657 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [860252555] [2022-02-20 14:36:55,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:55,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:55,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:55,660 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:55,668 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 14:36:55,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,729 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 14:36:55,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:55,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:55,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {8137#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {8137#true} is VALID [2022-02-20 14:36:55,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {8137#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L272 TraceCheckUtils]: 2: Hoare triple {8137#true} call main_#t~ret22#1 := base2flt(0, 0); {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L290 TraceCheckUtils]: 3: Hoare triple {8137#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L290 TraceCheckUtils]: 4: Hoare triple {8137#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {8137#true} #res := ~__retres4~0; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L290 TraceCheckUtils]: 6: Hoare triple {8137#true} assume true; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {8137#true} {8137#true} #337#return; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {8137#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L272 TraceCheckUtils]: 9: Hoare triple {8137#true} call main_#t~ret23#1 := base2flt(1, 0); {8137#true} is VALID [2022-02-20 14:36:55,890 INFO L290 TraceCheckUtils]: 10: Hoare triple {8137#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8210#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:55,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {8210#(= base2flt_~m |base2flt_#in~m|)} assume !(0 == ~m % 4294967296); {8210#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:55,891 INFO L290 TraceCheckUtils]: 12: Hoare triple {8210#(= base2flt_~m |base2flt_#in~m|)} assume ~m % 4294967296 < 16777216; {8210#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:55,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {8210#(= base2flt_~m |base2flt_#in~m|)} assume !false; {8210#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:55,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {8210#(= base2flt_~m |base2flt_#in~m|)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {8223#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:36:55,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {8223#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume !(~m % 4294967296 < 16777216); {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,894 INFO L290 TraceCheckUtils]: 17: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,895 INFO L290 TraceCheckUtils]: 21: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} ~__retres4~0 := ~res~0; {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} #res := ~__retres4~0; {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,896 INFO L290 TraceCheckUtils]: 23: Hoare triple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} assume true; {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:36:55,896 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {8227#(not (< (mod (* 2 |base2flt_#in~m|) 4294967296) 16777216))} {8137#true} #339#return; {8138#false} is VALID [2022-02-20 14:36:55,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {8138#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L272 TraceCheckUtils]: 26: Hoare triple {8138#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {8138#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 28: Hoare triple {8138#false} assume !(0 == ~m % 4294967296); {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {8138#false} assume !(~m % 4294967296 < 16777216); {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 30: Hoare triple {8138#false} assume !false; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 31: Hoare triple {8138#false} assume ~m % 4294967296 >= 33554432; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 32: Hoare triple {8138#false} assume ~e >= 127;~__retres4~0 := 4294967295; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 33: Hoare triple {8138#false} #res := ~__retres4~0; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 34: Hoare triple {8138#false} assume true; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8138#false} {8138#false} #341#return; {8138#false} is VALID [2022-02-20 14:36:55,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {8138#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L272 TraceCheckUtils]: 37: Hoare triple {8138#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {8138#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {8138#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {8138#false} #res := ~__retres4~0; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {8138#false} assume true; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8138#false} {8138#false} #343#return; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {8138#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {8138#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {8138#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 46: Hoare triple {8138#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {8138#false} is VALID [2022-02-20 14:36:55,898 INFO L290 TraceCheckUtils]: 47: Hoare triple {8138#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {8138#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 49: Hoare triple {8138#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 50: Hoare triple {8138#false} main_~sb~0#1 := main_~tmp~2#1; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 51: Hoare triple {8138#false} assume 0 == main_~sb~0#1; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 52: Hoare triple {8138#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L272 TraceCheckUtils]: 53: Hoare triple {8138#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 54: Hoare triple {8138#false} ~cond := #in~cond; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 55: Hoare triple {8138#false} assume 0 == ~cond; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L290 TraceCheckUtils]: 56: Hoare triple {8138#false} assume !false; {8138#false} is VALID [2022-02-20 14:36:55,899 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 25 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:36:55,900 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:36:55,900 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [860252555] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:36:55,900 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:36:55,900 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 9 [2022-02-20 14:36:55,900 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2015884865] [2022-02-20 14:36:55,900 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:36:55,901 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-02-20 14:36:55,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:55,901 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:55,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:55,940 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:36:55,940 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:55,940 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:36:55,940 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-02-20 14:36:55,941 INFO L87 Difference]: Start difference. First operand 185 states and 275 transitions. Second operand has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:56,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:56,602 INFO L93 Difference]: Finished difference Result 405 states and 619 transitions. [2022-02-20 14:36:56,603 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 14:36:56,603 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 57 [2022-02-20 14:36:56,603 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:36:56,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:56,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 311 transitions. [2022-02-20 14:36:56,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:56,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 311 transitions. [2022-02-20 14:36:56,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 311 transitions. [2022-02-20 14:36:56,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 311 edges. 311 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:56,869 INFO L225 Difference]: With dead ends: 405 [2022-02-20 14:36:56,869 INFO L226 Difference]: Without dead ends: 227 [2022-02-20 14:36:56,870 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 64 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-02-20 14:36:56,870 INFO L933 BasicCegarLoop]: 120 mSDtfsCounter, 47 mSDsluCounter, 284 mSDsCounter, 0 mSdLazyCounter, 194 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 404 SdHoareTripleChecker+Invalid, 202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 194 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:36:56,871 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 404 Invalid, 202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 194 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:36:56,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-02-20 14:36:56,911 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 192. [2022-02-20 14:36:56,911 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:36:56,912 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 192 states, 180 states have (on average 1.461111111111111) internal successors, (263), 181 states have internal predecessors, (263), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:56,912 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 192 states, 180 states have (on average 1.461111111111111) internal successors, (263), 181 states have internal predecessors, (263), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:56,912 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 192 states, 180 states have (on average 1.461111111111111) internal successors, (263), 181 states have internal predecessors, (263), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:56,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:56,919 INFO L93 Difference]: Finished difference Result 227 states and 340 transitions. [2022-02-20 14:36:56,919 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 340 transitions. [2022-02-20 14:36:56,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:56,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:56,920 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 180 states have (on average 1.461111111111111) internal successors, (263), 181 states have internal predecessors, (263), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 227 states. [2022-02-20 14:36:56,921 INFO L87 Difference]: Start difference. First operand has 192 states, 180 states have (on average 1.461111111111111) internal successors, (263), 181 states have internal predecessors, (263), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 227 states. [2022-02-20 14:36:56,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:36:56,927 INFO L93 Difference]: Finished difference Result 227 states and 340 transitions. [2022-02-20 14:36:56,927 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 340 transitions. [2022-02-20 14:36:56,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:36:56,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:36:56,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:36:56,929 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:36:56,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 180 states have (on average 1.461111111111111) internal successors, (263), 181 states have internal predecessors, (263), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:36:56,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 284 transitions. [2022-02-20 14:36:56,933 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 284 transitions. Word has length 57 [2022-02-20 14:36:56,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:36:56,935 INFO L470 AbstractCegarLoop]: Abstraction has 192 states and 284 transitions. [2022-02-20 14:36:56,935 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 9.0) internal successors, (45), 5 states have internal predecessors, (45), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:36:56,935 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 284 transitions. [2022-02-20 14:36:56,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-02-20 14:36:56,936 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:36:56,937 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:36:56,964 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 14:36:57,147 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:57,148 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:36:57,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:36:57,148 INFO L85 PathProgramCache]: Analyzing trace with hash -897188252, now seen corresponding path program 1 times [2022-02-20 14:36:57,148 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:36:57,148 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1541085848] [2022-02-20 14:36:57,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:57,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:36:57,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:36:57,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,188 INFO L290 TraceCheckUtils]: 3: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,188 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {9506#true} {9506#true} #337#return; {9506#true} is VALID [2022-02-20 14:36:57,188 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:36:57,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,274 INFO L290 TraceCheckUtils]: 0: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,275 INFO L290 TraceCheckUtils]: 3: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,276 INFO L290 TraceCheckUtils]: 4: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,278 INFO L290 TraceCheckUtils]: 6: Hoare triple {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9548#(or (and (<= base2flt_~m 4) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,279 INFO L290 TraceCheckUtils]: 8: Hoare triple {9548#(or (and (<= base2flt_~m 4) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,280 INFO L290 TraceCheckUtils]: 10: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,282 INFO L290 TraceCheckUtils]: 16: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume true; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,283 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9549#(not (= |base2flt_#in~m| 1))} {9506#true} #339#return; {9507#false} is VALID [2022-02-20 14:36:57,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2022-02-20 14:36:57,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,292 INFO L290 TraceCheckUtils]: 0: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {9506#true} assume !(0 == ~m % 4294967296); {9506#true} is VALID [2022-02-20 14:36:57,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {9506#true} assume !(~m % 4294967296 < 16777216); {9506#true} is VALID [2022-02-20 14:36:57,292 INFO L290 TraceCheckUtils]: 3: Hoare triple {9506#true} assume !false; {9506#true} is VALID [2022-02-20 14:36:57,292 INFO L290 TraceCheckUtils]: 4: Hoare triple {9506#true} assume ~m % 4294967296 >= 33554432; {9506#true} is VALID [2022-02-20 14:36:57,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {9506#true} assume ~e >= 127;~__retres4~0 := 4294967295; {9506#true} is VALID [2022-02-20 14:36:57,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,293 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {9506#true} {9507#false} #341#return; {9507#false} is VALID [2022-02-20 14:36:57,293 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-02-20 14:36:57,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,297 INFO L290 TraceCheckUtils]: 0: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,297 INFO L290 TraceCheckUtils]: 3: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,297 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {9506#true} {9507#false} #343#return; {9507#false} is VALID [2022-02-20 14:36:57,297 INFO L290 TraceCheckUtils]: 0: Hoare triple {9506#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {9506#true} is VALID [2022-02-20 14:36:57,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {9506#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {9506#true} is VALID [2022-02-20 14:36:57,298 INFO L272 TraceCheckUtils]: 2: Hoare triple {9506#true} call main_#t~ret22#1 := base2flt(0, 0); {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:57,298 INFO L290 TraceCheckUtils]: 3: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,298 INFO L290 TraceCheckUtils]: 4: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,298 INFO L290 TraceCheckUtils]: 6: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,299 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {9506#true} {9506#true} #337#return; {9506#true} is VALID [2022-02-20 14:36:57,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {9506#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {9506#true} is VALID [2022-02-20 14:36:57,299 INFO L272 TraceCheckUtils]: 9: Hoare triple {9506#true} call main_#t~ret23#1 := base2flt(1, 0); {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:57,300 INFO L290 TraceCheckUtils]: 10: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,301 INFO L290 TraceCheckUtils]: 13: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:36:57,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {9546#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {9547#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9548#(or (and (<= base2flt_~m 4) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {9548#(or (and (<= base2flt_~m 4) (not (<= (+ (div base2flt_~m 4294967296) 1) 0))) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,305 INFO L290 TraceCheckUtils]: 22: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,306 INFO L290 TraceCheckUtils]: 26: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume true; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,307 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9549#(not (= |base2flt_#in~m| 1))} {9506#true} #339#return; {9507#false} is VALID [2022-02-20 14:36:57,307 INFO L290 TraceCheckUtils]: 28: Hoare triple {9507#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {9507#false} is VALID [2022-02-20 14:36:57,307 INFO L272 TraceCheckUtils]: 29: Hoare triple {9507#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:57,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,307 INFO L290 TraceCheckUtils]: 31: Hoare triple {9506#true} assume !(0 == ~m % 4294967296); {9506#true} is VALID [2022-02-20 14:36:57,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {9506#true} assume !(~m % 4294967296 < 16777216); {9506#true} is VALID [2022-02-20 14:36:57,307 INFO L290 TraceCheckUtils]: 33: Hoare triple {9506#true} assume !false; {9506#true} is VALID [2022-02-20 14:36:57,307 INFO L290 TraceCheckUtils]: 34: Hoare triple {9506#true} assume ~m % 4294967296 >= 33554432; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 35: Hoare triple {9506#true} assume ~e >= 127;~__retres4~0 := 4294967295; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 36: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 37: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9506#true} {9507#false} #341#return; {9507#false} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 39: Hoare triple {9507#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {9507#false} is VALID [2022-02-20 14:36:57,308 INFO L272 TraceCheckUtils]: 40: Hoare triple {9507#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 41: Hoare triple {9545#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 43: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 44: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,308 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9506#true} {9507#false} #343#return; {9507#false} is VALID [2022-02-20 14:36:57,308 INFO L290 TraceCheckUtils]: 46: Hoare triple {9507#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 47: Hoare triple {9507#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 48: Hoare triple {9507#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 49: Hoare triple {9507#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 50: Hoare triple {9507#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 51: Hoare triple {9507#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 52: Hoare triple {9507#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 53: Hoare triple {9507#false} main_~sb~0#1 := main_~tmp~2#1; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 54: Hoare triple {9507#false} assume 0 == main_~sb~0#1; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 55: Hoare triple {9507#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L272 TraceCheckUtils]: 56: Hoare triple {9507#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 57: Hoare triple {9507#false} ~cond := #in~cond; {9507#false} is VALID [2022-02-20 14:36:57,309 INFO L290 TraceCheckUtils]: 58: Hoare triple {9507#false} assume 0 == ~cond; {9507#false} is VALID [2022-02-20 14:36:57,310 INFO L290 TraceCheckUtils]: 59: Hoare triple {9507#false} assume !false; {9507#false} is VALID [2022-02-20 14:36:57,310 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:57,310 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:36:57,310 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1541085848] [2022-02-20 14:36:57,310 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1541085848] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:36:57,310 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1081995500] [2022-02-20 14:36:57,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:36:57,310 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:36:57,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:36:57,312 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:36:57,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 14:36:57,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 14:36:57,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:36:57,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:36:57,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {9506#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {9506#true} is VALID [2022-02-20 14:36:57,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {9506#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {9506#true} is VALID [2022-02-20 14:36:57,551 INFO L272 TraceCheckUtils]: 2: Hoare triple {9506#true} call main_#t~ret22#1 := base2flt(0, 0); {9506#true} is VALID [2022-02-20 14:36:57,551 INFO L290 TraceCheckUtils]: 3: Hoare triple {9506#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,551 INFO L290 TraceCheckUtils]: 4: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,552 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {9506#true} {9506#true} #337#return; {9506#true} is VALID [2022-02-20 14:36:57,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {9506#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {9506#true} is VALID [2022-02-20 14:36:57,552 INFO L272 TraceCheckUtils]: 9: Hoare triple {9506#true} call main_#t~ret23#1 := base2flt(1, 0); {9506#true} is VALID [2022-02-20 14:36:57,552 INFO L290 TraceCheckUtils]: 10: Hoare triple {9506#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9583#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:57,553 INFO L290 TraceCheckUtils]: 11: Hoare triple {9583#(= base2flt_~m |base2flt_#in~m|)} assume !(0 == ~m % 4294967296); {9583#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:57,553 INFO L290 TraceCheckUtils]: 12: Hoare triple {9583#(= base2flt_~m |base2flt_#in~m|)} assume ~m % 4294967296 < 16777216; {9583#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:57,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {9583#(= base2flt_~m |base2flt_#in~m|)} assume !false; {9583#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:36:57,554 INFO L290 TraceCheckUtils]: 14: Hoare triple {9583#(= base2flt_~m |base2flt_#in~m|)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9596#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:36:57,554 INFO L290 TraceCheckUtils]: 15: Hoare triple {9596#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume ~m % 4294967296 < 16777216; {9596#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:36:57,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {9596#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume !false; {9596#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:36:57,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {9596#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9606#(= (* |base2flt_#in~m| 4) base2flt_~m)} is VALID [2022-02-20 14:36:57,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {9606#(= (* |base2flt_#in~m| 4) base2flt_~m)} assume !(~m % 4294967296 < 16777216); {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,557 INFO L290 TraceCheckUtils]: 20: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,557 INFO L290 TraceCheckUtils]: 21: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,557 INFO L290 TraceCheckUtils]: 22: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,558 INFO L290 TraceCheckUtils]: 23: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,558 INFO L290 TraceCheckUtils]: 24: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} ~__retres4~0 := ~res~0; {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,558 INFO L290 TraceCheckUtils]: 25: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} #res := ~__retres4~0; {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,559 INFO L290 TraceCheckUtils]: 26: Hoare triple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} assume true; {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} is VALID [2022-02-20 14:36:57,559 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9610#(not (< (mod (* |base2flt_#in~m| 4) 4294967296) 16777216))} {9506#true} #339#return; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 28: Hoare triple {9507#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L272 TraceCheckUtils]: 29: Hoare triple {9507#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 30: Hoare triple {9507#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 31: Hoare triple {9507#false} assume !(0 == ~m % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {9507#false} assume !(~m % 4294967296 < 16777216); {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {9507#false} assume !false; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 34: Hoare triple {9507#false} assume ~m % 4294967296 >= 33554432; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 35: Hoare triple {9507#false} assume ~e >= 127;~__retres4~0 := 4294967295; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 36: Hoare triple {9507#false} #res := ~__retres4~0; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L290 TraceCheckUtils]: 37: Hoare triple {9507#false} assume true; {9507#false} is VALID [2022-02-20 14:36:57,560 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9507#false} {9507#false} #341#return; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {9507#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L272 TraceCheckUtils]: 40: Hoare triple {9507#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 41: Hoare triple {9507#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 42: Hoare triple {9507#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 43: Hoare triple {9507#false} #res := ~__retres4~0; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 44: Hoare triple {9507#false} assume true; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9507#false} {9507#false} #343#return; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {9507#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 47: Hoare triple {9507#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {9507#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 49: Hoare triple {9507#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {9507#false} is VALID [2022-02-20 14:36:57,561 INFO L290 TraceCheckUtils]: 50: Hoare triple {9507#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 51: Hoare triple {9507#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 52: Hoare triple {9507#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {9507#false} main_~sb~0#1 := main_~tmp~2#1; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {9507#false} assume 0 == main_~sb~0#1; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 55: Hoare triple {9507#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L272 TraceCheckUtils]: 56: Hoare triple {9507#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 57: Hoare triple {9507#false} ~cond := #in~cond; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 58: Hoare triple {9507#false} assume 0 == ~cond; {9507#false} is VALID [2022-02-20 14:36:57,562 INFO L290 TraceCheckUtils]: 59: Hoare triple {9507#false} assume !false; {9507#false} is VALID [2022-02-20 14:36:57,563 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 25 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:36:57,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:36:57,859 INFO L290 TraceCheckUtils]: 59: Hoare triple {9507#false} assume !false; {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L290 TraceCheckUtils]: 58: Hoare triple {9507#false} assume 0 == ~cond; {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L290 TraceCheckUtils]: 57: Hoare triple {9507#false} ~cond := #in~cond; {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L272 TraceCheckUtils]: 56: Hoare triple {9507#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L290 TraceCheckUtils]: 55: Hoare triple {9507#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {9507#false} assume 0 == main_~sb~0#1; {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L290 TraceCheckUtils]: 53: Hoare triple {9507#false} main_~sb~0#1 := main_~tmp~2#1; {9507#false} is VALID [2022-02-20 14:36:57,860 INFO L290 TraceCheckUtils]: 52: Hoare triple {9507#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 51: Hoare triple {9507#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 50: Hoare triple {9507#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 49: Hoare triple {9507#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 48: Hoare triple {9507#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 47: Hoare triple {9507#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 46: Hoare triple {9507#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9506#true} {9507#false} #343#return; {9507#false} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 44: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,861 INFO L290 TraceCheckUtils]: 43: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,862 INFO L290 TraceCheckUtils]: 42: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,862 INFO L290 TraceCheckUtils]: 41: Hoare triple {9506#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,862 INFO L272 TraceCheckUtils]: 40: Hoare triple {9507#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {9506#true} is VALID [2022-02-20 14:36:57,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {9507#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {9507#false} is VALID [2022-02-20 14:36:57,862 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9506#true} {9507#false} #341#return; {9507#false} is VALID [2022-02-20 14:36:57,862 INFO L290 TraceCheckUtils]: 37: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,862 INFO L290 TraceCheckUtils]: 36: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,862 INFO L290 TraceCheckUtils]: 35: Hoare triple {9506#true} assume ~e >= 127;~__retres4~0 := 4294967295; {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {9506#true} assume ~m % 4294967296 >= 33554432; {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {9506#true} assume !false; {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {9506#true} assume !(~m % 4294967296 < 16777216); {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {9506#true} assume !(0 == ~m % 4294967296); {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {9506#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L272 TraceCheckUtils]: 29: Hoare triple {9507#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {9506#true} is VALID [2022-02-20 14:36:57,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {9507#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {9507#false} is VALID [2022-02-20 14:36:57,864 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9549#(not (= |base2flt_#in~m| 1))} {9506#true} #339#return; {9507#false} is VALID [2022-02-20 14:36:57,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume true; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,865 INFO L290 TraceCheckUtils]: 25: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,865 INFO L290 TraceCheckUtils]: 23: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,866 INFO L290 TraceCheckUtils]: 22: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,866 INFO L290 TraceCheckUtils]: 21: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {9549#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {9860#(or (< (mod base2flt_~m 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {9549#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:36:57,869 INFO L290 TraceCheckUtils]: 17: Hoare triple {9864#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9860#(or (< (mod base2flt_~m 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {9864#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {9864#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {9864#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {9864#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {9864#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,872 INFO L290 TraceCheckUtils]: 12: Hoare triple {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(0 == ~m % 4294967296); {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,873 INFO L290 TraceCheckUtils]: 10: Hoare triple {9506#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9874#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:36:57,873 INFO L272 TraceCheckUtils]: 9: Hoare triple {9506#true} call main_#t~ret23#1 := base2flt(1, 0); {9506#true} is VALID [2022-02-20 14:36:57,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {9506#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {9506#true} is VALID [2022-02-20 14:36:57,873 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {9506#true} {9506#true} #337#return; {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {9506#true} assume true; {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {9506#true} #res := ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L290 TraceCheckUtils]: 4: Hoare triple {9506#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L290 TraceCheckUtils]: 3: Hoare triple {9506#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L272 TraceCheckUtils]: 2: Hoare triple {9506#true} call main_#t~ret22#1 := base2flt(0, 0); {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {9506#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {9506#true} is VALID [2022-02-20 14:36:57,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {9506#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {9506#true} is VALID [2022-02-20 14:36:57,875 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:36:57,875 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1081995500] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:36:57,875 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:36:57,875 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 14 [2022-02-20 14:36:57,876 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2132565173] [2022-02-20 14:36:57,876 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:36:57,877 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 60 [2022-02-20 14:36:57,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:36:57,879 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:36:57,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:36:57,967 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 14:36:57,968 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:36:57,968 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 14:36:57,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=121, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:36:57,969 INFO L87 Difference]: Start difference. First operand 192 states and 284 transitions. Second operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:37:00,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:37:00,236 INFO L93 Difference]: Finished difference Result 528 states and 827 transitions. [2022-02-20 14:37:00,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-02-20 14:37:00,236 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 60 [2022-02-20 14:37:00,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:37:00,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:37:00,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 489 transitions. [2022-02-20 14:37:00,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:37:00,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 489 transitions. [2022-02-20 14:37:00,248 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 489 transitions. [2022-02-20 14:37:01,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 489 edges. 489 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:37:01,872 INFO L225 Difference]: With dead ends: 528 [2022-02-20 14:37:01,872 INFO L226 Difference]: Without dead ends: 343 [2022-02-20 14:37:01,873 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 139 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 308 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=345, Invalid=845, Unknown=0, NotChecked=0, Total=1190 [2022-02-20 14:37:01,874 INFO L933 BasicCegarLoop]: 120 mSDtfsCounter, 453 mSDsluCounter, 526 mSDsCounter, 0 mSdLazyCounter, 472 mSolverCounterSat, 97 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 453 SdHoareTripleChecker+Valid, 646 SdHoareTripleChecker+Invalid, 569 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 97 IncrementalHoareTripleChecker+Valid, 472 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 14:37:01,874 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [453 Valid, 646 Invalid, 569 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [97 Valid, 472 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 14:37:01,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-02-20 14:37:01,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 189. [2022-02-20 14:37:01,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:37:01,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 343 states. Second operand has 189 states, 177 states have (on average 1.4463276836158192) internal successors, (256), 178 states have internal predecessors, (256), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:01,920 INFO L74 IsIncluded]: Start isIncluded. First operand 343 states. Second operand has 189 states, 177 states have (on average 1.4463276836158192) internal successors, (256), 178 states have internal predecessors, (256), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:01,920 INFO L87 Difference]: Start difference. First operand 343 states. Second operand has 189 states, 177 states have (on average 1.4463276836158192) internal successors, (256), 178 states have internal predecessors, (256), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:01,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:37:01,933 INFO L93 Difference]: Finished difference Result 343 states and 534 transitions. [2022-02-20 14:37:01,933 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 534 transitions. [2022-02-20 14:37:01,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:37:01,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:37:01,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 189 states, 177 states have (on average 1.4463276836158192) internal successors, (256), 178 states have internal predecessors, (256), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 343 states. [2022-02-20 14:37:01,936 INFO L87 Difference]: Start difference. First operand has 189 states, 177 states have (on average 1.4463276836158192) internal successors, (256), 178 states have internal predecessors, (256), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 343 states. [2022-02-20 14:37:01,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:37:01,948 INFO L93 Difference]: Finished difference Result 343 states and 534 transitions. [2022-02-20 14:37:01,949 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 534 transitions. [2022-02-20 14:37:01,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:37:01,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:37:01,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:37:01,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:37:01,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 189 states, 177 states have (on average 1.4463276836158192) internal successors, (256), 178 states have internal predecessors, (256), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:01,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 189 states to 189 states and 277 transitions. [2022-02-20 14:37:01,955 INFO L78 Accepts]: Start accepts. Automaton has 189 states and 277 transitions. Word has length 60 [2022-02-20 14:37:01,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:37:01,955 INFO L470 AbstractCegarLoop]: Abstraction has 189 states and 277 transitions. [2022-02-20 14:37:01,955 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 13 states have internal predecessors, (80), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:37:01,955 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 277 transitions. [2022-02-20 14:37:01,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-02-20 14:37:01,956 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:37:01,956 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:37:01,981 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 14:37:02,170 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:37:02,171 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:37:02,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:37:02,171 INFO L85 PathProgramCache]: Analyzing trace with hash -33599038, now seen corresponding path program 1 times [2022-02-20 14:37:02,171 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:37:02,171 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614203400] [2022-02-20 14:37:02,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:37:02,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:37:02,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,222 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:37:02,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:02,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,227 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {11499#true} {11499#true} #337#return; {11499#true} is VALID [2022-02-20 14:37:02,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:37:02,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(0 == ~m % 4294967296); {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~m % 4294967296 < 16777216; {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,319 INFO L290 TraceCheckUtils]: 3: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !false; {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,320 INFO L290 TraceCheckUtils]: 4: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:37:02,320 INFO L290 TraceCheckUtils]: 5: Hoare triple {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume ~m % 4294967296 < 16777216; {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:37:02,321 INFO L290 TraceCheckUtils]: 6: Hoare triple {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume !false; {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:37:02,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} assume ~m % 4294967296 < 16777216; {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} assume !false; {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,323 INFO L290 TraceCheckUtils]: 10: Hoare triple {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} is VALID [2022-02-20 14:37:02,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} assume ~m % 4294967296 < 16777216; {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} is VALID [2022-02-20 14:37:02,324 INFO L290 TraceCheckUtils]: 12: Hoare triple {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} assume !false; {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} is VALID [2022-02-20 14:37:02,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} assume ~m % 4294967296 < 16777216; {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} assume !false; {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} assume ~e <= -128;~__retres4~0 := 0; {11546#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:37:02,327 INFO L290 TraceCheckUtils]: 17: Hoare triple {11546#(not (= |base2flt_#in~e| 0))} #res := ~__retres4~0; {11546#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:37:02,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {11546#(not (= |base2flt_#in~e| 0))} assume true; {11546#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:37:02,328 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {11546#(not (= |base2flt_#in~e| 0))} {11499#true} #339#return; {11500#false} is VALID [2022-02-20 14:37:02,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 14:37:02,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,336 INFO L290 TraceCheckUtils]: 0: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {11499#true} assume !(0 == ~m % 4294967296); {11499#true} is VALID [2022-02-20 14:37:02,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {11499#true} assume !(~m % 4294967296 < 16777216); {11499#true} is VALID [2022-02-20 14:37:02,337 INFO L290 TraceCheckUtils]: 3: Hoare triple {11499#true} assume !false; {11499#true} is VALID [2022-02-20 14:37:02,337 INFO L290 TraceCheckUtils]: 4: Hoare triple {11499#true} assume ~m % 4294967296 >= 33554432; {11499#true} is VALID [2022-02-20 14:37:02,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {11499#true} assume ~e >= 127;~__retres4~0 := 4294967295; {11499#true} is VALID [2022-02-20 14:37:02,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,337 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {11499#true} {11500#false} #341#return; {11500#false} is VALID [2022-02-20 14:37:02,337 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-02-20 14:37:02,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:02,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,342 INFO L290 TraceCheckUtils]: 3: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,342 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {11499#true} {11500#false} #343#return; {11500#false} is VALID [2022-02-20 14:37:02,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {11499#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {11499#true} is VALID [2022-02-20 14:37:02,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {11499#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {11499#true} is VALID [2022-02-20 14:37:02,343 INFO L272 TraceCheckUtils]: 2: Hoare triple {11499#true} call main_#t~ret22#1 := base2flt(0, 0); {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:02,343 INFO L290 TraceCheckUtils]: 3: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,343 INFO L290 TraceCheckUtils]: 4: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:02,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,343 INFO L290 TraceCheckUtils]: 6: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,344 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {11499#true} {11499#true} #337#return; {11499#true} is VALID [2022-02-20 14:37:02,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {11499#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {11499#true} is VALID [2022-02-20 14:37:02,344 INFO L272 TraceCheckUtils]: 9: Hoare triple {11499#true} call main_#t~ret23#1 := base2flt(1, 0); {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:02,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(0 == ~m % 4294967296); {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,346 INFO L290 TraceCheckUtils]: 12: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume ~m % 4294967296 < 16777216; {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !false; {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} is VALID [2022-02-20 14:37:02,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#(or (= base2flt_~e |base2flt_#in~e|) (= base2flt_~e 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:37:02,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume ~m % 4294967296 < 16777216; {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:37:02,347 INFO L290 TraceCheckUtils]: 16: Hoare triple {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume !false; {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} is VALID [2022-02-20 14:37:02,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {11542#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ base2flt_~e 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,348 INFO L290 TraceCheckUtils]: 18: Hoare triple {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} assume ~m % 4294967296 < 16777216; {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} assume !false; {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {11543#(or (<= 0 (+ 2 base2flt_~e)) (not (= |base2flt_#in~e| 0)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} is VALID [2022-02-20 14:37:02,350 INFO L290 TraceCheckUtils]: 21: Hoare triple {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} assume ~m % 4294967296 < 16777216; {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} is VALID [2022-02-20 14:37:02,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} assume !false; {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} is VALID [2022-02-20 14:37:02,351 INFO L290 TraceCheckUtils]: 23: Hoare triple {11544#(or (not (= |base2flt_#in~e| 0)) (<= 0 (+ 3 base2flt_~e)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} assume ~m % 4294967296 < 16777216; {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,352 INFO L290 TraceCheckUtils]: 25: Hoare triple {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} assume !false; {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} is VALID [2022-02-20 14:37:02,353 INFO L290 TraceCheckUtils]: 26: Hoare triple {11545#(or (<= 0 (+ base2flt_~e 4)) (not (= |base2flt_#in~e| 0)))} assume ~e <= -128;~__retres4~0 := 0; {11546#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:37:02,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {11546#(not (= |base2flt_#in~e| 0))} #res := ~__retres4~0; {11546#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:37:02,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {11546#(not (= |base2flt_#in~e| 0))} assume true; {11546#(not (= |base2flt_#in~e| 0))} is VALID [2022-02-20 14:37:02,354 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {11546#(not (= |base2flt_#in~e| 0))} {11499#true} #339#return; {11500#false} is VALID [2022-02-20 14:37:02,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {11500#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {11500#false} is VALID [2022-02-20 14:37:02,354 INFO L272 TraceCheckUtils]: 31: Hoare triple {11500#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 32: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 33: Hoare triple {11499#true} assume !(0 == ~m % 4294967296); {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 34: Hoare triple {11499#true} assume !(~m % 4294967296 < 16777216); {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {11499#true} assume !false; {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {11499#true} assume ~m % 4294967296 >= 33554432; {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 37: Hoare triple {11499#true} assume ~e >= 127;~__retres4~0 := 4294967295; {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,356 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11499#true} {11500#false} #341#return; {11500#false} is VALID [2022-02-20 14:37:02,356 INFO L290 TraceCheckUtils]: 41: Hoare triple {11500#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {11500#false} is VALID [2022-02-20 14:37:02,356 INFO L272 TraceCheckUtils]: 42: Hoare triple {11500#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:02,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {11540#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,356 INFO L290 TraceCheckUtils]: 44: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:02,356 INFO L290 TraceCheckUtils]: 45: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,356 INFO L290 TraceCheckUtils]: 46: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,356 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11499#true} {11500#false} #343#return; {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 48: Hoare triple {11500#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 49: Hoare triple {11500#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 50: Hoare triple {11500#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 51: Hoare triple {11500#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 52: Hoare triple {11500#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 53: Hoare triple {11500#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 54: Hoare triple {11500#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {11500#false} is VALID [2022-02-20 14:37:02,357 INFO L290 TraceCheckUtils]: 55: Hoare triple {11500#false} main_~sb~0#1 := main_~tmp~2#1; {11500#false} is VALID [2022-02-20 14:37:02,358 INFO L290 TraceCheckUtils]: 56: Hoare triple {11500#false} assume 0 == main_~sb~0#1; {11500#false} is VALID [2022-02-20 14:37:02,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {11500#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {11500#false} is VALID [2022-02-20 14:37:02,358 INFO L272 TraceCheckUtils]: 58: Hoare triple {11500#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {11500#false} is VALID [2022-02-20 14:37:02,358 INFO L290 TraceCheckUtils]: 59: Hoare triple {11500#false} ~cond := #in~cond; {11500#false} is VALID [2022-02-20 14:37:02,358 INFO L290 TraceCheckUtils]: 60: Hoare triple {11500#false} assume 0 == ~cond; {11500#false} is VALID [2022-02-20 14:37:02,358 INFO L290 TraceCheckUtils]: 61: Hoare triple {11500#false} assume !false; {11500#false} is VALID [2022-02-20 14:37:02,359 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 4 proven. 35 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:37:02,359 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:37:02,359 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [614203400] [2022-02-20 14:37:02,359 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [614203400] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:37:02,359 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1167838624] [2022-02-20 14:37:02,359 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:37:02,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:37:02,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:37:02,361 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:37:02,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 14:37:02,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 14:37:02,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:02,450 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {11499#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {11499#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L272 TraceCheckUtils]: 2: Hoare triple {11499#true} call main_#t~ret22#1 := base2flt(0, 0); {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 3: Hoare triple {11499#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 4: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 6: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {11499#true} {11499#true} #337#return; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {11499#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {11499#true} is VALID [2022-02-20 14:37:02,730 INFO L272 TraceCheckUtils]: 9: Hoare triple {11499#true} call main_#t~ret23#1 := base2flt(1, 0); {11499#true} is VALID [2022-02-20 14:37:02,731 INFO L290 TraceCheckUtils]: 10: Hoare triple {11499#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11580#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:37:02,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {11580#(<= |base2flt_#in~e| base2flt_~e)} assume !(0 == ~m % 4294967296); {11580#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:37:02,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {11580#(<= |base2flt_#in~e| base2flt_~e)} assume ~m % 4294967296 < 16777216; {11580#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:37:02,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {11580#(<= |base2flt_#in~e| base2flt_~e)} assume !false; {11580#(<= |base2flt_#in~e| base2flt_~e)} is VALID [2022-02-20 14:37:02,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {11580#(<= |base2flt_#in~e| base2flt_~e)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11593#(<= |base2flt_#in~e| (+ base2flt_~e 1))} is VALID [2022-02-20 14:37:02,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {11593#(<= |base2flt_#in~e| (+ base2flt_~e 1))} assume ~m % 4294967296 < 16777216; {11593#(<= |base2flt_#in~e| (+ base2flt_~e 1))} is VALID [2022-02-20 14:37:02,734 INFO L290 TraceCheckUtils]: 16: Hoare triple {11593#(<= |base2flt_#in~e| (+ base2flt_~e 1))} assume !false; {11593#(<= |base2flt_#in~e| (+ base2flt_~e 1))} is VALID [2022-02-20 14:37:02,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {11593#(<= |base2flt_#in~e| (+ base2flt_~e 1))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11603#(<= |base2flt_#in~e| (+ 2 base2flt_~e))} is VALID [2022-02-20 14:37:02,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {11603#(<= |base2flt_#in~e| (+ 2 base2flt_~e))} assume ~m % 4294967296 < 16777216; {11603#(<= |base2flt_#in~e| (+ 2 base2flt_~e))} is VALID [2022-02-20 14:37:02,735 INFO L290 TraceCheckUtils]: 19: Hoare triple {11603#(<= |base2flt_#in~e| (+ 2 base2flt_~e))} assume !false; {11603#(<= |base2flt_#in~e| (+ 2 base2flt_~e))} is VALID [2022-02-20 14:37:02,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {11603#(<= |base2flt_#in~e| (+ 2 base2flt_~e))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11613#(<= |base2flt_#in~e| (+ 3 base2flt_~e))} is VALID [2022-02-20 14:37:02,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {11613#(<= |base2flt_#in~e| (+ 3 base2flt_~e))} assume ~m % 4294967296 < 16777216; {11613#(<= |base2flt_#in~e| (+ 3 base2flt_~e))} is VALID [2022-02-20 14:37:02,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {11613#(<= |base2flt_#in~e| (+ 3 base2flt_~e))} assume !false; {11613#(<= |base2flt_#in~e| (+ 3 base2flt_~e))} is VALID [2022-02-20 14:37:02,738 INFO L290 TraceCheckUtils]: 23: Hoare triple {11613#(<= |base2flt_#in~e| (+ 3 base2flt_~e))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11623#(<= |base2flt_#in~e| (+ base2flt_~e 4))} is VALID [2022-02-20 14:37:02,738 INFO L290 TraceCheckUtils]: 24: Hoare triple {11623#(<= |base2flt_#in~e| (+ base2flt_~e 4))} assume ~m % 4294967296 < 16777216; {11623#(<= |base2flt_#in~e| (+ base2flt_~e 4))} is VALID [2022-02-20 14:37:02,738 INFO L290 TraceCheckUtils]: 25: Hoare triple {11623#(<= |base2flt_#in~e| (+ base2flt_~e 4))} assume !false; {11623#(<= |base2flt_#in~e| (+ base2flt_~e 4))} is VALID [2022-02-20 14:37:02,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {11623#(<= |base2flt_#in~e| (+ base2flt_~e 4))} assume ~e <= -128;~__retres4~0 := 0; {11633#(<= (+ |base2flt_#in~e| 124) 0)} is VALID [2022-02-20 14:37:02,739 INFO L290 TraceCheckUtils]: 27: Hoare triple {11633#(<= (+ |base2flt_#in~e| 124) 0)} #res := ~__retres4~0; {11633#(<= (+ |base2flt_#in~e| 124) 0)} is VALID [2022-02-20 14:37:02,740 INFO L290 TraceCheckUtils]: 28: Hoare triple {11633#(<= (+ |base2flt_#in~e| 124) 0)} assume true; {11633#(<= (+ |base2flt_#in~e| 124) 0)} is VALID [2022-02-20 14:37:02,741 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {11633#(<= (+ |base2flt_#in~e| 124) 0)} {11499#true} #339#return; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {11500#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L272 TraceCheckUtils]: 31: Hoare triple {11500#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 32: Hoare triple {11500#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {11500#false} assume !(0 == ~m % 4294967296); {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 34: Hoare triple {11500#false} assume !(~m % 4294967296 < 16777216); {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {11500#false} assume !false; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {11500#false} assume ~m % 4294967296 >= 33554432; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {11500#false} assume ~e >= 127;~__retres4~0 := 4294967295; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {11500#false} #res := ~__retres4~0; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {11500#false} assume true; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11500#false} {11500#false} #341#return; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L290 TraceCheckUtils]: 41: Hoare triple {11500#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {11500#false} is VALID [2022-02-20 14:37:02,741 INFO L272 TraceCheckUtils]: 42: Hoare triple {11500#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {11500#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {11500#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 45: Hoare triple {11500#false} #res := ~__retres4~0; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 46: Hoare triple {11500#false} assume true; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11500#false} {11500#false} #343#return; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {11500#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {11500#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {11500#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 51: Hoare triple {11500#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 52: Hoare triple {11500#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 53: Hoare triple {11500#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {11500#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 55: Hoare triple {11500#false} main_~sb~0#1 := main_~tmp~2#1; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 56: Hoare triple {11500#false} assume 0 == main_~sb~0#1; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L290 TraceCheckUtils]: 57: Hoare triple {11500#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {11500#false} is VALID [2022-02-20 14:37:02,742 INFO L272 TraceCheckUtils]: 58: Hoare triple {11500#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {11500#false} is VALID [2022-02-20 14:37:02,743 INFO L290 TraceCheckUtils]: 59: Hoare triple {11500#false} ~cond := #in~cond; {11500#false} is VALID [2022-02-20 14:37:02,743 INFO L290 TraceCheckUtils]: 60: Hoare triple {11500#false} assume 0 == ~cond; {11500#false} is VALID [2022-02-20 14:37:02,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {11500#false} assume !false; {11500#false} is VALID [2022-02-20 14:37:02,743 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 25 proven. 26 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:37:02,743 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:37:03,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {11500#false} assume !false; {11500#false} is VALID [2022-02-20 14:37:03,237 INFO L290 TraceCheckUtils]: 60: Hoare triple {11500#false} assume 0 == ~cond; {11500#false} is VALID [2022-02-20 14:37:03,237 INFO L290 TraceCheckUtils]: 59: Hoare triple {11500#false} ~cond := #in~cond; {11500#false} is VALID [2022-02-20 14:37:03,237 INFO L272 TraceCheckUtils]: 58: Hoare triple {11500#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {11500#false} is VALID [2022-02-20 14:37:03,237 INFO L290 TraceCheckUtils]: 57: Hoare triple {11500#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 56: Hoare triple {11500#false} assume 0 == main_~sb~0#1; {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 55: Hoare triple {11500#false} main_~sb~0#1 := main_~tmp~2#1; {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 54: Hoare triple {11500#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 53: Hoare triple {11500#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 52: Hoare triple {11500#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 51: Hoare triple {11500#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {11500#false} is VALID [2022-02-20 14:37:03,238 INFO L290 TraceCheckUtils]: 50: Hoare triple {11500#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {11500#false} is VALID [2022-02-20 14:37:03,239 INFO L290 TraceCheckUtils]: 49: Hoare triple {11500#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {11500#false} is VALID [2022-02-20 14:37:03,239 INFO L290 TraceCheckUtils]: 48: Hoare triple {11500#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {11500#false} is VALID [2022-02-20 14:37:03,239 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11499#true} {11500#false} #343#return; {11500#false} is VALID [2022-02-20 14:37:03,239 INFO L290 TraceCheckUtils]: 46: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:03,239 INFO L290 TraceCheckUtils]: 45: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:03,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:03,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {11499#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:03,240 INFO L272 TraceCheckUtils]: 42: Hoare triple {11500#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {11499#true} is VALID [2022-02-20 14:37:03,240 INFO L290 TraceCheckUtils]: 41: Hoare triple {11500#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {11500#false} is VALID [2022-02-20 14:37:03,240 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11499#true} {11500#false} #341#return; {11500#false} is VALID [2022-02-20 14:37:03,240 INFO L290 TraceCheckUtils]: 39: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:03,240 INFO L290 TraceCheckUtils]: 38: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:03,240 INFO L290 TraceCheckUtils]: 37: Hoare triple {11499#true} assume ~e >= 127;~__retres4~0 := 4294967295; {11499#true} is VALID [2022-02-20 14:37:03,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {11499#true} assume ~m % 4294967296 >= 33554432; {11499#true} is VALID [2022-02-20 14:37:03,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {11499#true} assume !false; {11499#true} is VALID [2022-02-20 14:37:03,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {11499#true} assume !(~m % 4294967296 < 16777216); {11499#true} is VALID [2022-02-20 14:37:03,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {11499#true} assume !(0 == ~m % 4294967296); {11499#true} is VALID [2022-02-20 14:37:03,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {11499#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:03,241 INFO L272 TraceCheckUtils]: 31: Hoare triple {11500#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {11499#true} is VALID [2022-02-20 14:37:03,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {11500#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {11500#false} is VALID [2022-02-20 14:37:03,242 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {11838#(not (<= 0 |base2flt_#in~e|))} {11499#true} #339#return; {11500#false} is VALID [2022-02-20 14:37:03,242 INFO L290 TraceCheckUtils]: 28: Hoare triple {11838#(not (<= 0 |base2flt_#in~e|))} assume true; {11838#(not (<= 0 |base2flt_#in~e|))} is VALID [2022-02-20 14:37:03,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {11838#(not (<= 0 |base2flt_#in~e|))} #res := ~__retres4~0; {11838#(not (<= 0 |base2flt_#in~e|))} is VALID [2022-02-20 14:37:03,243 INFO L290 TraceCheckUtils]: 26: Hoare triple {11848#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} assume ~e <= -128;~__retres4~0 := 0; {11838#(not (<= 0 |base2flt_#in~e|))} is VALID [2022-02-20 14:37:03,243 INFO L290 TraceCheckUtils]: 25: Hoare triple {11848#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {11848#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,244 INFO L290 TraceCheckUtils]: 24: Hoare triple {11848#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {11848#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {11858#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11848#(or (not (<= (+ 128 base2flt_~e) 0)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,245 INFO L290 TraceCheckUtils]: 22: Hoare triple {11858#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {11858#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {11858#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {11858#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {11868#(or (< 0 (+ 126 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11858#(or (< 0 (+ base2flt_~e 127)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {11868#(or (< 0 (+ 126 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {11868#(or (< 0 (+ 126 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,247 INFO L290 TraceCheckUtils]: 18: Hoare triple {11868#(or (< 0 (+ 126 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {11868#(or (< 0 (+ 126 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,247 INFO L290 TraceCheckUtils]: 17: Hoare triple {11878#(or (< 0 (+ 125 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11868#(or (< 0 (+ 126 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,248 INFO L290 TraceCheckUtils]: 16: Hoare triple {11878#(or (< 0 (+ 125 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {11878#(or (< 0 (+ 125 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {11878#(or (< 0 (+ 125 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {11878#(or (< 0 (+ 125 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {11878#(or (< 0 (+ 125 base2flt_~e)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} assume !false; {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,249 INFO L290 TraceCheckUtils]: 12: Hoare triple {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} assume ~m % 4294967296 < 16777216; {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} assume !(0 == ~m % 4294967296); {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,250 INFO L290 TraceCheckUtils]: 10: Hoare triple {11499#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11888#(or (< 0 (+ base2flt_~e 124)) (not (<= 0 |base2flt_#in~e|)))} is VALID [2022-02-20 14:37:03,250 INFO L272 TraceCheckUtils]: 9: Hoare triple {11499#true} call main_#t~ret23#1 := base2flt(1, 0); {11499#true} is VALID [2022-02-20 14:37:03,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {11499#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {11499#true} is VALID [2022-02-20 14:37:03,250 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {11499#true} {11499#true} #337#return; {11499#true} is VALID [2022-02-20 14:37:03,250 INFO L290 TraceCheckUtils]: 6: Hoare triple {11499#true} assume true; {11499#true} is VALID [2022-02-20 14:37:03,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {11499#true} #res := ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:03,251 INFO L290 TraceCheckUtils]: 4: Hoare triple {11499#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {11499#true} is VALID [2022-02-20 14:37:03,251 INFO L290 TraceCheckUtils]: 3: Hoare triple {11499#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {11499#true} is VALID [2022-02-20 14:37:03,251 INFO L272 TraceCheckUtils]: 2: Hoare triple {11499#true} call main_#t~ret22#1 := base2flt(0, 0); {11499#true} is VALID [2022-02-20 14:37:03,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {11499#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {11499#true} is VALID [2022-02-20 14:37:03,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {11499#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {11499#true} is VALID [2022-02-20 14:37:03,252 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 4 proven. 35 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:37:03,252 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1167838624] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:37:03,252 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:37:03,252 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 21 [2022-02-20 14:37:03,253 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1549735011] [2022-02-20 14:37:03,253 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:37:03,254 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 62 [2022-02-20 14:37:03,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:37:03,257 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:37:03,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:37:03,345 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 14:37:03,345 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:37:03,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 14:37:03,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=282, Unknown=0, NotChecked=0, Total=420 [2022-02-20 14:37:03,348 INFO L87 Difference]: Start difference. First operand 189 states and 277 transitions. Second operand has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:37:05,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:37:05,431 INFO L93 Difference]: Finished difference Result 665 states and 1051 transitions. [2022-02-20 14:37:05,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-02-20 14:37:05,431 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 62 [2022-02-20 14:37:05,431 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:37:05,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:37:05,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 735 transitions. [2022-02-20 14:37:05,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:37:05,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 735 transitions. [2022-02-20 14:37:05,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 38 states and 735 transitions. [2022-02-20 14:37:06,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 735 edges. 735 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:37:06,172 INFO L225 Difference]: With dead ends: 665 [2022-02-20 14:37:06,172 INFO L226 Difference]: Without dead ends: 483 [2022-02-20 14:37:06,174 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 141 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 537 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=654, Invalid=1326, Unknown=0, NotChecked=0, Total=1980 [2022-02-20 14:37:06,175 INFO L933 BasicCegarLoop]: 105 mSDtfsCounter, 1049 mSDsluCounter, 766 mSDsCounter, 0 mSdLazyCounter, 259 mSolverCounterSat, 277 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1049 SdHoareTripleChecker+Valid, 871 SdHoareTripleChecker+Invalid, 536 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 277 IncrementalHoareTripleChecker+Valid, 259 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 14:37:06,175 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1049 Valid, 871 Invalid, 536 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [277 Valid, 259 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 14:37:06,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 483 states. [2022-02-20 14:37:06,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 483 to 210. [2022-02-20 14:37:06,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:37:06,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 483 states. Second operand has 210 states, 198 states have (on average 1.47979797979798) internal successors, (293), 199 states have internal predecessors, (293), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:06,232 INFO L74 IsIncluded]: Start isIncluded. First operand 483 states. Second operand has 210 states, 198 states have (on average 1.47979797979798) internal successors, (293), 199 states have internal predecessors, (293), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:06,232 INFO L87 Difference]: Start difference. First operand 483 states. Second operand has 210 states, 198 states have (on average 1.47979797979798) internal successors, (293), 199 states have internal predecessors, (293), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:06,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:37:06,263 INFO L93 Difference]: Finished difference Result 483 states and 780 transitions. [2022-02-20 14:37:06,263 INFO L276 IsEmpty]: Start isEmpty. Operand 483 states and 780 transitions. [2022-02-20 14:37:06,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:37:06,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:37:06,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 198 states have (on average 1.47979797979798) internal successors, (293), 199 states have internal predecessors, (293), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 483 states. [2022-02-20 14:37:06,267 INFO L87 Difference]: Start difference. First operand has 210 states, 198 states have (on average 1.47979797979798) internal successors, (293), 199 states have internal predecessors, (293), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) Second operand 483 states. [2022-02-20 14:37:06,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:37:06,305 INFO L93 Difference]: Finished difference Result 483 states and 780 transitions. [2022-02-20 14:37:06,305 INFO L276 IsEmpty]: Start isEmpty. Operand 483 states and 780 transitions. [2022-02-20 14:37:06,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:37:06,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:37:06,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:37:06,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:37:06,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 198 states have (on average 1.47979797979798) internal successors, (293), 199 states have internal predecessors, (293), 6 states have call successors, (6), 3 states have call predecessors, (6), 5 states have return successors, (15), 7 states have call predecessors, (15), 5 states have call successors, (15) [2022-02-20 14:37:06,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 314 transitions. [2022-02-20 14:37:06,314 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 314 transitions. Word has length 62 [2022-02-20 14:37:06,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:37:06,314 INFO L470 AbstractCegarLoop]: Abstraction has 210 states and 314 transitions. [2022-02-20 14:37:06,314 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 4.476190476190476) internal successors, (94), 20 states have internal predecessors, (94), 2 states have call successors, (11), 3 states have call predecessors, (11), 5 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:37:06,314 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 314 transitions. [2022-02-20 14:37:06,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-02-20 14:37:06,317 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:37:06,317 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:37:06,341 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-02-20 14:37:06,531 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-02-20 14:37:06,531 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:37:06,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:37:06,532 INFO L85 PathProgramCache]: Analyzing trace with hash 94815332, now seen corresponding path program 2 times [2022-02-20 14:37:06,532 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:37:06,532 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [136667858] [2022-02-20 14:37:06,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:37:06,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:37:06,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:06,577 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:37:06,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:06,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:06,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,583 INFO L290 TraceCheckUtils]: 3: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:06,583 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {13993#true} {13993#true} #337#return; {13993#true} is VALID [2022-02-20 14:37:06,583 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 14:37:06,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:06,740 INFO L290 TraceCheckUtils]: 0: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,741 INFO L290 TraceCheckUtils]: 2: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,742 INFO L290 TraceCheckUtils]: 4: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} assume !false; {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,747 INFO L290 TraceCheckUtils]: 10: Hoare triple {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,748 INFO L290 TraceCheckUtils]: 12: Hoare triple {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} assume !false; {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14051#(or (and (not (<= (+ (div base2flt_~m 4294967296) 1) 0)) (<= base2flt_~m 64)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {14051#(or (and (not (<= (+ (div base2flt_~m 4294967296) 1) 0)) (<= base2flt_~m 64)) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,755 INFO L290 TraceCheckUtils]: 21: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,755 INFO L290 TraceCheckUtils]: 22: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,755 INFO L290 TraceCheckUtils]: 23: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,756 INFO L290 TraceCheckUtils]: 26: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,757 INFO L290 TraceCheckUtils]: 27: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,757 INFO L290 TraceCheckUtils]: 28: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume true; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,758 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {14052#(not (= |base2flt_#in~m| 1))} {13993#true} #339#return; {13994#false} is VALID [2022-02-20 14:37:06,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-02-20 14:37:06,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:06,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {13993#true} assume !(0 == ~m % 4294967296); {13993#true} is VALID [2022-02-20 14:37:06,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {13993#true} assume !(~m % 4294967296 < 16777216); {13993#true} is VALID [2022-02-20 14:37:06,764 INFO L290 TraceCheckUtils]: 3: Hoare triple {13993#true} assume !false; {13993#true} is VALID [2022-02-20 14:37:06,764 INFO L290 TraceCheckUtils]: 4: Hoare triple {13993#true} assume ~m % 4294967296 >= 33554432; {13993#true} is VALID [2022-02-20 14:37:06,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {13993#true} assume ~e >= 127;~__retres4~0 := 4294967295; {13993#true} is VALID [2022-02-20 14:37:06,765 INFO L290 TraceCheckUtils]: 6: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:06,765 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {13993#true} {13994#false} #341#return; {13994#false} is VALID [2022-02-20 14:37:06,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 52 [2022-02-20 14:37:06,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:06,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:06,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,770 INFO L290 TraceCheckUtils]: 3: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:06,770 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {13993#true} {13994#false} #343#return; {13994#false} is VALID [2022-02-20 14:37:06,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {13993#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {13993#true} is VALID [2022-02-20 14:37:06,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {13993#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {13993#true} is VALID [2022-02-20 14:37:06,771 INFO L272 TraceCheckUtils]: 2: Hoare triple {13993#true} call main_#t~ret22#1 := base2flt(0, 0); {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:06,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,771 INFO L290 TraceCheckUtils]: 4: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:06,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,771 INFO L290 TraceCheckUtils]: 6: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:06,771 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {13993#true} {13993#true} #337#return; {13993#true} is VALID [2022-02-20 14:37:06,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {13993#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {13993#true} is VALID [2022-02-20 14:37:06,772 INFO L272 TraceCheckUtils]: 9: Hoare triple {13993#true} call main_#t~ret23#1 := base2flt(1, 0); {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:06,773 INFO L290 TraceCheckUtils]: 10: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(0 == ~m % 4294967296); {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,774 INFO L290 TraceCheckUtils]: 12: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume ~m % 4294967296 < 16777216; {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,774 INFO L290 TraceCheckUtils]: 13: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !false; {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} is VALID [2022-02-20 14:37:06,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {14045#(or (= base2flt_~m |base2flt_#in~m|) (= (+ (- 1) base2flt_~m) 0))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,777 INFO L290 TraceCheckUtils]: 17: Hoare triple {14046#(or (and (<= base2flt_~m 2) (<= 2 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} assume !false; {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {14047#(or (and (<= 4 base2flt_~m) (<= base2flt_~m 4)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,780 INFO L290 TraceCheckUtils]: 21: Hoare triple {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,780 INFO L290 TraceCheckUtils]: 22: Hoare triple {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} assume !false; {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {14048#(or (and (<= 8 base2flt_~m) (<= base2flt_~m 8)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,783 INFO L290 TraceCheckUtils]: 26: Hoare triple {14049#(or (and (<= base2flt_~m 16) (<= 16 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,784 INFO L290 TraceCheckUtils]: 28: Hoare triple {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !false; {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {14050#(or (and (<= base2flt_~m 32) (<= 32 base2flt_~m)) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14051#(or (and (not (<= (+ (div base2flt_~m 4294967296) 1) 0)) (<= base2flt_~m 64)) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:06,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {14051#(or (and (not (<= (+ (div base2flt_~m 4294967296) 1) 0)) (<= base2flt_~m 64)) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,788 INFO L290 TraceCheckUtils]: 34: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,789 INFO L290 TraceCheckUtils]: 35: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,789 INFO L290 TraceCheckUtils]: 36: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,790 INFO L290 TraceCheckUtils]: 37: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,790 INFO L290 TraceCheckUtils]: 38: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume true; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:06,791 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14052#(not (= |base2flt_#in~m| 1))} {13993#true} #339#return; {13994#false} is VALID [2022-02-20 14:37:06,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {13994#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {13994#false} is VALID [2022-02-20 14:37:06,791 INFO L272 TraceCheckUtils]: 41: Hoare triple {13994#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:06,791 INFO L290 TraceCheckUtils]: 42: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,791 INFO L290 TraceCheckUtils]: 43: Hoare triple {13993#true} assume !(0 == ~m % 4294967296); {13993#true} is VALID [2022-02-20 14:37:06,791 INFO L290 TraceCheckUtils]: 44: Hoare triple {13993#true} assume !(~m % 4294967296 < 16777216); {13993#true} is VALID [2022-02-20 14:37:06,792 INFO L290 TraceCheckUtils]: 45: Hoare triple {13993#true} assume !false; {13993#true} is VALID [2022-02-20 14:37:06,792 INFO L290 TraceCheckUtils]: 46: Hoare triple {13993#true} assume ~m % 4294967296 >= 33554432; {13993#true} is VALID [2022-02-20 14:37:06,792 INFO L290 TraceCheckUtils]: 47: Hoare triple {13993#true} assume ~e >= 127;~__retres4~0 := 4294967295; {13993#true} is VALID [2022-02-20 14:37:06,792 INFO L290 TraceCheckUtils]: 48: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,792 INFO L290 TraceCheckUtils]: 49: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:06,792 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13993#true} {13994#false} #341#return; {13994#false} is VALID [2022-02-20 14:37:06,792 INFO L290 TraceCheckUtils]: 51: Hoare triple {13994#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {13994#false} is VALID [2022-02-20 14:37:06,792 INFO L272 TraceCheckUtils]: 52: Hoare triple {13994#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} is VALID [2022-02-20 14:37:06,793 INFO L290 TraceCheckUtils]: 53: Hoare triple {14044#(and (= abs_77 |old(abs_77)|) (= abs_76 |old(abs_76)|))} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,793 INFO L290 TraceCheckUtils]: 54: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:06,793 INFO L290 TraceCheckUtils]: 55: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:06,793 INFO L290 TraceCheckUtils]: 56: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:06,793 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13993#true} {13994#false} #343#return; {13994#false} is VALID [2022-02-20 14:37:06,793 INFO L290 TraceCheckUtils]: 58: Hoare triple {13994#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {13994#false} is VALID [2022-02-20 14:37:06,793 INFO L290 TraceCheckUtils]: 59: Hoare triple {13994#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 60: Hoare triple {13994#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 61: Hoare triple {13994#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 62: Hoare triple {13994#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 63: Hoare triple {13994#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 64: Hoare triple {13994#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 65: Hoare triple {13994#false} main_~sb~0#1 := main_~tmp~2#1; {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 66: Hoare triple {13994#false} assume 0 == main_~sb~0#1; {13994#false} is VALID [2022-02-20 14:37:06,794 INFO L290 TraceCheckUtils]: 67: Hoare triple {13994#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {13994#false} is VALID [2022-02-20 14:37:06,795 INFO L272 TraceCheckUtils]: 68: Hoare triple {13994#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {13994#false} is VALID [2022-02-20 14:37:06,795 INFO L290 TraceCheckUtils]: 69: Hoare triple {13994#false} ~cond := #in~cond; {13994#false} is VALID [2022-02-20 14:37:06,795 INFO L290 TraceCheckUtils]: 70: Hoare triple {13994#false} assume 0 == ~cond; {13994#false} is VALID [2022-02-20 14:37:06,795 INFO L290 TraceCheckUtils]: 71: Hoare triple {13994#false} assume !false; {13994#false} is VALID [2022-02-20 14:37:06,795 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 4 proven. 54 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:37:06,796 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:37:06,796 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [136667858] [2022-02-20 14:37:06,796 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [136667858] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:37:06,796 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1072630613] [2022-02-20 14:37:06,796 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 14:37:06,796 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:37:06,797 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:37:06,798 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:37:06,799 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 14:37:06,896 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 14:37:06,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:37:06,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 14:37:06,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:37:06,914 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:37:07,185 INFO L290 TraceCheckUtils]: 0: Hoare triple {13993#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {13993#true} is VALID [2022-02-20 14:37:07,185 INFO L290 TraceCheckUtils]: 1: Hoare triple {13993#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L272 TraceCheckUtils]: 2: Hoare triple {13993#true} call main_#t~ret22#1 := base2flt(0, 0); {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L290 TraceCheckUtils]: 3: Hoare triple {13993#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L290 TraceCheckUtils]: 4: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {13993#true} {13993#true} #337#return; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L290 TraceCheckUtils]: 8: Hoare triple {13993#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L272 TraceCheckUtils]: 9: Hoare triple {13993#true} call main_#t~ret23#1 := base2flt(1, 0); {13993#true} is VALID [2022-02-20 14:37:07,186 INFO L290 TraceCheckUtils]: 10: Hoare triple {13993#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {14086#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:37:07,187 INFO L290 TraceCheckUtils]: 11: Hoare triple {14086#(= base2flt_~m |base2flt_#in~m|)} assume !(0 == ~m % 4294967296); {14086#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:37:07,187 INFO L290 TraceCheckUtils]: 12: Hoare triple {14086#(= base2flt_~m |base2flt_#in~m|)} assume ~m % 4294967296 < 16777216; {14086#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:37:07,187 INFO L290 TraceCheckUtils]: 13: Hoare triple {14086#(= base2flt_~m |base2flt_#in~m|)} assume !false; {14086#(= base2flt_~m |base2flt_#in~m|)} is VALID [2022-02-20 14:37:07,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {14086#(= base2flt_~m |base2flt_#in~m|)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14099#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {14099#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume ~m % 4294967296 < 16777216; {14099#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,188 INFO L290 TraceCheckUtils]: 16: Hoare triple {14099#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume !false; {14099#(= (* 2 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,189 INFO L290 TraceCheckUtils]: 17: Hoare triple {14099#(= (* 2 |base2flt_#in~m|) base2flt_~m)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14109#(= (* |base2flt_#in~m| 4) base2flt_~m)} is VALID [2022-02-20 14:37:07,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {14109#(= (* |base2flt_#in~m| 4) base2flt_~m)} assume ~m % 4294967296 < 16777216; {14109#(= (* |base2flt_#in~m| 4) base2flt_~m)} is VALID [2022-02-20 14:37:07,189 INFO L290 TraceCheckUtils]: 19: Hoare triple {14109#(= (* |base2flt_#in~m| 4) base2flt_~m)} assume !false; {14109#(= (* |base2flt_#in~m| 4) base2flt_~m)} is VALID [2022-02-20 14:37:07,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {14109#(= (* |base2flt_#in~m| 4) base2flt_~m)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14119#(= (* 8 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {14119#(= (* 8 |base2flt_#in~m|) base2flt_~m)} assume ~m % 4294967296 < 16777216; {14119#(= (* 8 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,191 INFO L290 TraceCheckUtils]: 22: Hoare triple {14119#(= (* 8 |base2flt_#in~m|) base2flt_~m)} assume !false; {14119#(= (* 8 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,191 INFO L290 TraceCheckUtils]: 23: Hoare triple {14119#(= (* 8 |base2flt_#in~m|) base2flt_~m)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14129#(= (* 16 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {14129#(= (* 16 |base2flt_#in~m|) base2flt_~m)} assume ~m % 4294967296 < 16777216; {14129#(= (* 16 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {14129#(= (* 16 |base2flt_#in~m|) base2flt_~m)} assume !false; {14129#(= (* 16 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,192 INFO L290 TraceCheckUtils]: 26: Hoare triple {14129#(= (* 16 |base2flt_#in~m|) base2flt_~m)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14139#(= (* 32 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {14139#(= (* 32 |base2flt_#in~m|) base2flt_~m)} assume ~m % 4294967296 < 16777216; {14139#(= (* 32 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,193 INFO L290 TraceCheckUtils]: 28: Hoare triple {14139#(= (* 32 |base2flt_#in~m|) base2flt_~m)} assume !false; {14139#(= (* 32 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {14139#(= (* 32 |base2flt_#in~m|) base2flt_~m)} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14149#(= (* 64 |base2flt_#in~m|) base2flt_~m)} is VALID [2022-02-20 14:37:07,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {14149#(= (* 64 |base2flt_#in~m|) base2flt_~m)} assume !(~m % 4294967296 < 16777216); {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,195 INFO L290 TraceCheckUtils]: 33: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,196 INFO L290 TraceCheckUtils]: 34: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} ~__retres4~0 := ~res~0; {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} #res := ~__retres4~0; {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,197 INFO L290 TraceCheckUtils]: 38: Hoare triple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} assume true; {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} is VALID [2022-02-20 14:37:07,197 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14153#(not (< (mod (* 64 |base2flt_#in~m|) 4294967296) 16777216))} {13993#true} #339#return; {13994#false} is VALID [2022-02-20 14:37:07,197 INFO L290 TraceCheckUtils]: 40: Hoare triple {13994#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {13994#false} is VALID [2022-02-20 14:37:07,197 INFO L272 TraceCheckUtils]: 41: Hoare triple {13994#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {13994#false} is VALID [2022-02-20 14:37:07,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {13994#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 43: Hoare triple {13994#false} assume !(0 == ~m % 4294967296); {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 44: Hoare triple {13994#false} assume !(~m % 4294967296 < 16777216); {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 45: Hoare triple {13994#false} assume !false; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 46: Hoare triple {13994#false} assume ~m % 4294967296 >= 33554432; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 47: Hoare triple {13994#false} assume ~e >= 127;~__retres4~0 := 4294967295; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {13994#false} #res := ~__retres4~0; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 49: Hoare triple {13994#false} assume true; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13994#false} {13994#false} #341#return; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 51: Hoare triple {13994#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L272 TraceCheckUtils]: 52: Hoare triple {13994#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 53: Hoare triple {13994#false} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 54: Hoare triple {13994#false} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 55: Hoare triple {13994#false} #res := ~__retres4~0; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 56: Hoare triple {13994#false} assume true; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13994#false} {13994#false} #343#return; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 58: Hoare triple {13994#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {13994#false} is VALID [2022-02-20 14:37:07,198 INFO L290 TraceCheckUtils]: 59: Hoare triple {13994#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 60: Hoare triple {13994#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 61: Hoare triple {13994#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 62: Hoare triple {13994#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 63: Hoare triple {13994#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 64: Hoare triple {13994#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 65: Hoare triple {13994#false} main_~sb~0#1 := main_~tmp~2#1; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 66: Hoare triple {13994#false} assume 0 == main_~sb~0#1; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 67: Hoare triple {13994#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L272 TraceCheckUtils]: 68: Hoare triple {13994#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 69: Hoare triple {13994#false} ~cond := #in~cond; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 70: Hoare triple {13994#false} assume 0 == ~cond; {13994#false} is VALID [2022-02-20 14:37:07,199 INFO L290 TraceCheckUtils]: 71: Hoare triple {13994#false} assume !false; {13994#false} is VALID [2022-02-20 14:37:07,200 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 25 proven. 45 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:37:07,200 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:37:07,734 INFO L290 TraceCheckUtils]: 71: Hoare triple {13994#false} assume !false; {13994#false} is VALID [2022-02-20 14:37:07,735 INFO L290 TraceCheckUtils]: 70: Hoare triple {13994#false} assume 0 == ~cond; {13994#false} is VALID [2022-02-20 14:37:07,735 INFO L290 TraceCheckUtils]: 69: Hoare triple {13994#false} ~cond := #in~cond; {13994#false} is VALID [2022-02-20 14:37:07,735 INFO L272 TraceCheckUtils]: 68: Hoare triple {13994#false} call __VERIFIER_assert((if 0 == main_~tmp___1~0#1 then 1 else 0)); {13994#false} is VALID [2022-02-20 14:37:07,735 INFO L290 TraceCheckUtils]: 67: Hoare triple {13994#false} assume main_~r_mul~0#1 % 4294967296 < main_~a~0#1 % 4294967296;main_~tmp___1~0#1 := -1; {13994#false} is VALID [2022-02-20 14:37:07,735 INFO L290 TraceCheckUtils]: 66: Hoare triple {13994#false} assume 0 == main_~sb~0#1; {13994#false} is VALID [2022-02-20 14:37:07,735 INFO L290 TraceCheckUtils]: 65: Hoare triple {13994#false} main_~sb~0#1 := main_~tmp~2#1; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 64: Hoare triple {13994#false} assume !(main_~b~0#1 % 4294967296 > main_~one~0#1 % 4294967296);main_~tmp~2#1 := 0; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 63: Hoare triple {13994#false} assume !(main_~b~0#1 % 4294967296 < main_~one~0#1 % 4294967296); {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 62: Hoare triple {13994#false} main_#t~ret26#1 := mulflt_#res#1;assume { :end_inline_mulflt } true;main_~r_mul~0#1 := main_#t~ret26#1;havoc main_#t~ret26#1; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {13994#false} mulflt_#res#1 := mulflt_~__retres10~1#1; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 60: Hoare triple {13994#false} assume 0 == mulflt_~b#1 % 4294967296;mulflt_~__retres10~1#1 := 0; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 59: Hoare triple {13994#false} assume !(mulflt_~a#1 % 4294967296 < mulflt_~b#1 % 4294967296); {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 58: Hoare triple {13994#false} main_~b~0#1 := main_#t~ret25#1;havoc main_#t~ret25#1;assume { :begin_inline_mulflt } true;mulflt_#in~a#1, mulflt_#in~b#1 := main_~a~0#1, main_~b~0#1;havoc mulflt_#res#1;havoc mulflt_#t~nondet12#1, mulflt_#t~nondet13#1, mulflt_#t~nondet14#1, mulflt_#t~nondet15#1, mulflt_#t~nondet16#1, mulflt_#t~nondet17#1, mulflt_~a#1, mulflt_~b#1, mulflt_~res~2#1, mulflt_~ma~1#1, mulflt_~mb~1#1, mulflt_~accu~0#1, mulflt_~ea~1#1, mulflt_~eb~1#1, mulflt_~tmp~1#1, mulflt_~__retres10~1#1;mulflt_~a#1 := mulflt_#in~a#1;mulflt_~b#1 := mulflt_#in~b#1;havoc mulflt_~res~2#1;havoc mulflt_~ma~1#1;havoc mulflt_~mb~1#1;havoc mulflt_~accu~0#1;havoc mulflt_~ea~1#1;havoc mulflt_~eb~1#1;havoc mulflt_~tmp~1#1;havoc mulflt_~__retres10~1#1; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13993#true} {13994#false} #343#return; {13994#false} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 56: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 55: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 54: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 53: Hoare triple {13993#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,736 INFO L272 TraceCheckUtils]: 52: Hoare triple {13994#false} call main_#t~ret25#1 := base2flt(main_~mb~2#1, main_~eb~2#1); {13993#true} is VALID [2022-02-20 14:37:07,736 INFO L290 TraceCheckUtils]: 51: Hoare triple {13994#false} main_~a~0#1 := main_#t~ret24#1;havoc main_#t~ret24#1; {13994#false} is VALID [2022-02-20 14:37:07,739 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13993#true} {13994#false} #341#return; {13994#false} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 49: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 48: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {13993#true} assume ~e >= 127;~__retres4~0 := 4294967295; {13993#true} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 46: Hoare triple {13993#true} assume ~m % 4294967296 >= 33554432; {13993#true} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 45: Hoare triple {13993#true} assume !false; {13993#true} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 44: Hoare triple {13993#true} assume !(~m % 4294967296 < 16777216); {13993#true} is VALID [2022-02-20 14:37:07,740 INFO L290 TraceCheckUtils]: 43: Hoare triple {13993#true} assume !(0 == ~m % 4294967296); {13993#true} is VALID [2022-02-20 14:37:07,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {13993#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,741 INFO L272 TraceCheckUtils]: 41: Hoare triple {13994#false} call main_#t~ret24#1 := base2flt(main_~ma~2#1, main_~ea~2#1); {13993#true} is VALID [2022-02-20 14:37:07,741 INFO L290 TraceCheckUtils]: 40: Hoare triple {13994#false} main_~one~0#1 := main_#t~ret23#1;havoc main_#t~ret23#1; {13994#false} is VALID [2022-02-20 14:37:07,742 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14052#(not (= |base2flt_#in~m| 1))} {13993#true} #339#return; {13994#false} is VALID [2022-02-20 14:37:07,742 INFO L290 TraceCheckUtils]: 38: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume true; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,743 INFO L290 TraceCheckUtils]: 37: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} #res := ~__retres4~0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,743 INFO L290 TraceCheckUtils]: 36: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} ~__retres4~0 := ~res~0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;abs_77 := (if ~m < 16777216 * (128 + ~e) then 16777216 * (128 + ~e) else ~m);assume ~m >= 0 && 16777216 * (128 + ~e) >= 0;assume ~res~0 >= abs_77; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,744 INFO L290 TraceCheckUtils]: 34: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !((0 == ~m || 1 == ~m) && 0 == 16777216 * (128 + ~e)); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,744 INFO L290 TraceCheckUtils]: 33: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !(0 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,745 INFO L290 TraceCheckUtils]: 32: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume !((1 == ~m && (0 == 16777216 * (128 + ~e) || 1 == 16777216 * (128 + ~e))) || ((0 == ~m || 1 == ~m) && 1 == 16777216 * (128 + ~e))); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {14052#(not (= |base2flt_#in~m| 1))} assume 0 == ~m || 0 == ~bitwiseComplement(16777216);~m := 0; {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {14403#(or (< (mod base2flt_~m 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~m % 4294967296 < 16777216); {14052#(not (= |base2flt_#in~m| 1))} is VALID [2022-02-20 14:37:07,747 INFO L290 TraceCheckUtils]: 29: Hoare triple {14407#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14403#(or (< (mod base2flt_~m 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {14407#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {14407#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {14407#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14407#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {14417#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14407#(or (< (mod (* 2 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {14417#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {14417#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {14417#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14417#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,752 INFO L290 TraceCheckUtils]: 23: Hoare triple {14427#(or (< (mod (* base2flt_~m 8) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14417#(or (< (mod (* base2flt_~m 4) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {14427#(or (< (mod (* base2flt_~m 8) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {14427#(or (< (mod (* base2flt_~m 8) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,753 INFO L290 TraceCheckUtils]: 21: Hoare triple {14427#(or (< (mod (* base2flt_~m 8) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14427#(or (< (mod (* base2flt_~m 8) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {14437#(or (< (mod (* 16 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14427#(or (< (mod (* base2flt_~m 8) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {14437#(or (< (mod (* 16 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {14437#(or (< (mod (* 16 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {14437#(or (< (mod (* 16 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14437#(or (< (mod (* 16 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {14447#(or (< (mod (* 32 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14437#(or (< (mod (* 16 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,758 INFO L290 TraceCheckUtils]: 16: Hoare triple {14447#(or (< (mod (* 32 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {14447#(or (< (mod (* 32 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {14447#(or (< (mod (* 32 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14447#(or (< (mod (* 32 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,760 INFO L290 TraceCheckUtils]: 14: Hoare triple {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(~e <= -128);~e := ~e - 1;~m := 2 * ~m; {14447#(or (< (mod (* 32 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !false; {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,761 INFO L290 TraceCheckUtils]: 12: Hoare triple {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume ~m % 4294967296 < 16777216; {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,761 INFO L290 TraceCheckUtils]: 11: Hoare triple {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} assume !(0 == ~m % 4294967296); {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,762 INFO L290 TraceCheckUtils]: 10: Hoare triple {13993#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {14457#(or (< (mod (* 64 base2flt_~m) 4294967296) 16777216) (not (= |base2flt_#in~m| 1)))} is VALID [2022-02-20 14:37:07,762 INFO L272 TraceCheckUtils]: 9: Hoare triple {13993#true} call main_#t~ret23#1 := base2flt(1, 0); {13993#true} is VALID [2022-02-20 14:37:07,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {13993#true} main_~zero~0#1 := main_#t~ret22#1;havoc main_#t~ret22#1; {13993#true} is VALID [2022-02-20 14:37:07,762 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {13993#true} {13993#true} #337#return; {13993#true} is VALID [2022-02-20 14:37:07,762 INFO L290 TraceCheckUtils]: 6: Hoare triple {13993#true} assume true; {13993#true} is VALID [2022-02-20 14:37:07,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {13993#true} #res := ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,763 INFO L290 TraceCheckUtils]: 4: Hoare triple {13993#true} assume 0 == ~m % 4294967296;~__retres4~0 := 0; {13993#true} is VALID [2022-02-20 14:37:07,763 INFO L290 TraceCheckUtils]: 3: Hoare triple {13993#true} ~m := #in~m;~e := #in~e;havoc ~res~0;havoc ~__retres4~0; {13993#true} is VALID [2022-02-20 14:37:07,763 INFO L272 TraceCheckUtils]: 2: Hoare triple {13993#true} call main_#t~ret22#1 := base2flt(0, 0); {13993#true} is VALID [2022-02-20 14:37:07,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {13993#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~ret22#1, main_#t~ret23#1, main_#t~ret24#1, main_#t~ret25#1, main_#t~ret26#1, main_~a~0#1, main_~ma~2#1, main_~ea~2#1, main_~b~0#1, main_~mb~2#1, main_~eb~2#1, main_~r_mul~0#1, main_~zero~0#1, main_~one~0#1, main_~sb~0#1, main_~tmp~2#1, main_~tmp___0~0#1, main_~tmp___1~0#1, main_~__retres16~0#1;havoc main_~a~0#1;main_~ma~2#1 := main_#t~nondet18#1;havoc main_#t~nondet18#1;assume -128 <= main_#t~nondet19#1 && main_#t~nondet19#1 <= 127;main_~ea~2#1 := main_#t~nondet19#1;havoc main_#t~nondet19#1;havoc main_~b~0#1;main_~mb~2#1 := main_#t~nondet20#1;havoc main_#t~nondet20#1;assume -128 <= main_#t~nondet21#1 && main_#t~nondet21#1 <= 127;main_~eb~2#1 := main_#t~nondet21#1;havoc main_#t~nondet21#1;havoc main_~r_mul~0#1;havoc main_~zero~0#1;havoc main_~one~0#1;havoc main_~sb~0#1;havoc main_~tmp~2#1;havoc main_~tmp___0~0#1;havoc main_~tmp___1~0#1;havoc main_~__retres16~0#1; {13993#true} is VALID [2022-02-20 14:37:07,763 INFO L290 TraceCheckUtils]: 0: Hoare triple {13993#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(22, 2);call #Ultimate.allocInit(12, 3); {13993#true} is VALID [2022-02-20 14:37:07,764 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 4 proven. 54 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 14:37:07,764 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1072630613] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:37:07,764 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:37:07,764 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 26 [2022-02-20 14:37:07,764 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1310430729] [2022-02-20 14:37:07,765 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:37:07,765 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 4.461538461538462) internal successors, (116), 25 states have internal predecessors, (116), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 72 [2022-02-20 14:37:07,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:37:07,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 4.461538461538462) internal successors, (116), 25 states have internal predecessors, (116), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:37:07,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:37:07,879 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-02-20 14:37:07,879 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:37:07,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-02-20 14:37:07,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=193, Invalid=457, Unknown=0, NotChecked=0, Total=650 [2022-02-20 14:37:07,880 INFO L87 Difference]: Start difference. First operand 210 states and 314 transitions. Second operand has 26 states, 26 states have (on average 4.461538461538462) internal successors, (116), 25 states have internal predecessors, (116), 2 states have call successors, (11), 3 states have call predecessors, (11), 4 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7)