/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 17:24:47,432 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 17:24:47,434 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 17:24:47,465 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 17:24:47,465 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 17:24:47,466 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 17:24:47,468 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 17:24:47,470 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 17:24:47,471 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 17:24:47,474 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 17:24:47,475 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 17:24:47,476 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 17:24:47,476 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 17:24:47,477 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 17:24:47,478 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 17:24:47,480 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 17:24:47,480 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 17:24:47,481 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 17:24:47,482 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 17:24:47,486 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 17:24:47,487 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 17:24:47,487 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 17:24:47,488 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 17:24:47,488 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 17:24:47,489 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 17:24:47,493 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 17:24:47,494 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 17:24:47,494 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 17:24:47,494 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 17:24:47,494 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 17:24:47,495 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 17:24:47,495 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 17:24:47,496 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 17:24:47,497 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 17:24:47,497 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 17:24:47,498 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 17:24:47,498 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 17:24:47,498 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 17:24:47,498 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 17:24:47,498 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 17:24:47,499 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 17:24:47,500 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 17:24:47,500 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-14 17:24:47,521 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 17:24:47,522 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 17:24:47,522 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 17:24:47,522 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 17:24:47,523 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 17:24:47,523 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 17:24:47,523 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 17:24:47,524 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 17:24:47,524 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 17:24:47,524 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 17:24:47,524 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 17:24:47,524 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 17:24:47,524 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 17:24:47,525 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 17:24:47,525 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 17:24:47,525 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 17:24:47,525 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 17:24:47,526 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:24:47,526 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 17:24:47,526 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 17:24:47,527 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 17:24:47,527 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 17:24:47,527 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 17:24:47,527 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 17:24:47,527 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 17:24:47,527 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-14 17:24:47,707 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 17:24:47,724 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 17:24:47,725 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 17:24:47,726 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 17:24:47,726 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 17:24:47,727 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c [2022-04-14 17:24:47,769 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/edd02032d/e667f7ee37bb41cca01a93bf9d8b3470/FLAG6e290d955 [2022-04-14 17:24:48,104 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 17:24:48,105 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c [2022-04-14 17:24:48,108 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/edd02032d/e667f7ee37bb41cca01a93bf9d8b3470/FLAG6e290d955 [2022-04-14 17:24:48,116 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/edd02032d/e667f7ee37bb41cca01a93bf9d8b3470 [2022-04-14 17:24:48,117 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 17:24:48,118 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 17:24:48,119 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 17:24:48,119 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 17:24:48,121 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 17:24:48,121 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,122 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@599df675 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48, skipping insertion in model container [2022-04-14 17:24:48,122 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,126 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 17:24:48,135 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 17:24:48,236 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c[537,550] [2022-04-14 17:24:48,250 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:24:48,256 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 17:24:48,263 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c[537,550] [2022-04-14 17:24:48,266 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:24:48,274 INFO L208 MainTranslator]: Completed translation [2022-04-14 17:24:48,274 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48 WrapperNode [2022-04-14 17:24:48,274 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 17:24:48,275 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 17:24:48,275 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 17:24:48,275 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 17:24:48,281 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,281 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,285 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,286 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,289 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,292 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,293 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,294 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 17:24:48,294 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 17:24:48,294 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 17:24:48,294 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 17:24:48,295 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (1/1) ... [2022-04-14 17:24:48,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:24:48,317 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:48,326 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-04-14 17:24:48,343 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-04-14 17:24:48,368 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 17:24:48,368 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 17:24:48,368 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 17:24:48,369 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 17:24:48,370 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 17:24:48,370 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 17:24:48,370 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 17:24:48,370 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 17:24:48,370 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 17:24:48,370 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 17:24:48,370 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 17:24:48,371 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 17:24:48,416 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 17:24:48,417 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 17:24:48,546 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 17:24:48,551 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 17:24:48,551 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 17:24:48,552 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:24:48 BoogieIcfgContainer [2022-04-14 17:24:48,552 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 17:24:48,553 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 17:24:48,553 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 17:24:48,561 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 17:24:48,561 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 05:24:48" (1/3) ... [2022-04-14 17:24:48,561 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b5b94e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:24:48, skipping insertion in model container [2022-04-14 17:24:48,561 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:48" (2/3) ... [2022-04-14 17:24:48,562 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b5b94e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:24:48, skipping insertion in model container [2022-04-14 17:24:48,562 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:24:48" (3/3) ... [2022-04-14 17:24:48,563 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound100.c [2022-04-14 17:24:48,572 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 17:24:48,572 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 17:24:48,603 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 17:24:48,607 INFO L340 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 [2022-04-14 17:24:48,607 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 17:24:48,619 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 17:24:48,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-14 17:24:48,623 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:48,623 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:24:48,624 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:48,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:48,627 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-14 17:24:48,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:48,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [174218047] [2022-04-14 17:24:48,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:48,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:48,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:48,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 17:24:48,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:48,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-04-14 17:24:48,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-14 17:24:48,755 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-14 17:24:48,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 17:24:48,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:48,768 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-14 17:24:48,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-14 17:24:48,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-14 17:24:48,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-14 17:24:48,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-14 17:24:48,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-04-14 17:24:48,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-14 17:24:48,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-14 17:24:48,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-14 17:24:48,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-14 17:24:48,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {33#true} is VALID [2022-04-14 17:24:48,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-14 17:24:48,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-14 17:24:48,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-14 17:24:48,775 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-14 17:24:48,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {34#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {34#false} is VALID [2022-04-14 17:24:48,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-14 17:24:48,776 INFO L272 TraceCheckUtils]: 13: Hoare triple {34#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {34#false} is VALID [2022-04-14 17:24:48,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-14 17:24:48,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-14 17:24:48,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-14 17:24:48,777 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:48,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:48,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [174218047] [2022-04-14 17:24:48,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [174218047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:48,779 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:48,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 17:24:48,781 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [973977518] [2022-04-14 17:24:48,781 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:48,787 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-14 17:24:48,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:48,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:48,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:48,816 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 17:24:48,816 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:48,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 17:24:48,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:24:48,832 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:48,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:48,959 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 17:24:48,959 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 17:24:48,960 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-14 17:24:48,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:48,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:48,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-14 17:24:48,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:48,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-14 17:24:48,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-14 17:24:49,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:49,044 INFO L225 Difference]: With dead ends: 52 [2022-04-14 17:24:49,044 INFO L226 Difference]: Without dead ends: 26 [2022-04-14 17:24:49,046 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:24:49,048 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:24:49,048 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 35 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:24:49,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-14 17:24:49,072 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-14 17:24:49,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:49,073 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,074 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,074 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:49,077 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 17:24:49,077 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 17:24:49,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:49,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:49,078 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-14 17:24:49,078 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-14 17:24:49,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:49,088 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 17:24:49,088 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 17:24:49,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:49,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:49,089 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:49,089 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:49,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-14 17:24:49,091 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-14 17:24:49,091 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:49,092 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-14 17:24:49,092 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:49,092 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-14 17:24:49,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:24:49,092 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:49,092 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:24:49,093 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 17:24:49,093 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:49,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:49,093 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-14 17:24:49,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:49,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1506251561] [2022-04-14 17:24:49,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:49,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:49,112 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:49,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [904407570] [2022-04-14 17:24:49,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:49,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:49,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:49,118 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-04-14 17:24:49,119 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-04-14 17:24:49,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:49,155 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 17:24:49,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:49,165 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:49,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {199#true} is VALID [2022-04-14 17:24:49,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {199#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {207#(<= ~counter~0 0)} {199#true} #65#return; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,279 INFO L272 TraceCheckUtils]: 4: Hoare triple {207#(<= ~counter~0 0)} call #t~ret7 := main(); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,279 INFO L290 TraceCheckUtils]: 5: Hoare triple {207#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {207#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {207#(<= ~counter~0 0)} ~cond := #in~cond; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {207#(<= ~counter~0 0)} assume !(0 == ~cond); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,281 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {207#(<= ~counter~0 0)} {207#(<= ~counter~0 0)} #59#return; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {207#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:49,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {207#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {241#(<= |main_#t~post6| 0)} is VALID [2022-04-14 17:24:49,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {241#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {200#false} is VALID [2022-04-14 17:24:49,283 INFO L272 TraceCheckUtils]: 14: Hoare triple {200#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {200#false} is VALID [2022-04-14 17:24:49,283 INFO L290 TraceCheckUtils]: 15: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2022-04-14 17:24:49,283 INFO L290 TraceCheckUtils]: 16: Hoare triple {200#false} assume 0 == ~cond; {200#false} is VALID [2022-04-14 17:24:49,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {200#false} assume !false; {200#false} is VALID [2022-04-14 17:24:49,284 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:49,284 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:24:49,284 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:49,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1506251561] [2022-04-14 17:24:49,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:24:49,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [904407570] [2022-04-14 17:24:49,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [904407570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:49,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:49,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 17:24:49,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1360188385] [2022-04-14 17:24:49,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:49,292 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-14 17:24:49,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:49,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 17:24:49,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:49,307 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 17:24:49,308 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:49,310 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 17:24:49,310 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 17:24:49,310 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 17:24:49,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:49,364 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-14 17:24:49,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 17:24:49,364 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-14 17:24:49,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:49,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 17:24:49,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-14 17:24:49,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 17:24:49,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-14 17:24:49,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-14 17:24:49,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:49,407 INFO L225 Difference]: With dead ends: 34 [2022-04-14 17:24:49,407 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 17:24:49,408 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 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-04-14 17:24:49,409 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:24:49,410 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:24:49,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 17:24:49,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 17:24:49,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:49,420 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,420 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,421 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:49,423 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 17:24:49,423 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:24:49,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:49,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:49,425 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-14 17:24:49,426 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-14 17:24:49,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:49,430 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 17:24:49,430 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:24:49,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:49,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:49,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:49,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:49,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 17:24:49,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 17:24:49,438 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-14 17:24:49,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:49,438 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 17:24:49,439 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 17:24:49,439 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:24:49,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:24:49,441 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:49,441 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:24:49,459 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-04-14 17:24:49,647 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:49,648 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:49,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:49,648 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-14 17:24:49,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:49,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [83574946] [2022-04-14 17:24:49,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:49,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:49,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:49,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1664178877] [2022-04-14 17:24:49,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:49,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:49,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:49,664 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-04-14 17:24:49,665 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-04-14 17:24:49,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:49,702 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:24:49,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:49,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:49,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {395#true} call ULTIMATE.init(); {395#true} is VALID [2022-04-14 17:24:49,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {395#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {395#true} is VALID [2022-04-14 17:24:49,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-14 17:24:49,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {395#true} {395#true} #65#return; {395#true} is VALID [2022-04-14 17:24:49,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {395#true} call #t~ret7 := main(); {395#true} is VALID [2022-04-14 17:24:49,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {395#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {395#true} is VALID [2022-04-14 17:24:49,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {395#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {395#true} is VALID [2022-04-14 17:24:49,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {395#true} ~cond := #in~cond; {395#true} is VALID [2022-04-14 17:24:49,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {395#true} assume !(0 == ~cond); {395#true} is VALID [2022-04-14 17:24:49,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-14 17:24:49,840 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {395#true} {395#true} #59#return; {395#true} is VALID [2022-04-14 17:24:49,841 INFO L290 TraceCheckUtils]: 11: Hoare triple {395#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:49,842 INFO L290 TraceCheckUtils]: 12: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:49,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:49,845 INFO L272 TraceCheckUtils]: 14: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:24:49,845 INFO L290 TraceCheckUtils]: 15: Hoare triple {443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:24:49,845 INFO L290 TraceCheckUtils]: 16: Hoare triple {447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {396#false} is VALID [2022-04-14 17:24:49,845 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#false} assume !false; {396#false} is VALID [2022-04-14 17:24:49,846 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:49,846 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:24:49,846 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:49,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [83574946] [2022-04-14 17:24:49,846 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:24:49,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1664178877] [2022-04-14 17:24:49,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1664178877] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:49,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:49,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 17:24:49,847 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [815153592] [2022-04-14 17:24:49,847 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:49,847 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-14 17:24:49,847 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:49,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:49,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:49,859 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 17:24:49,859 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:49,860 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 17:24:49,860 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 17:24:49,860 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:49,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:49,967 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-14 17:24:49,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 17:24:49,967 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-14 17:24:49,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:49,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:49,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-14 17:24:49,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:49,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-14 17:24:49,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-14 17:24:50,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:50,001 INFO L225 Difference]: With dead ends: 38 [2022-04-14 17:24:50,001 INFO L226 Difference]: Without dead ends: 36 [2022-04-14 17:24:50,002 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 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-04-14 17:24:50,002 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 8 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:24:50,003 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 75 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:24:50,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-14 17:24:50,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-14 17:24:50,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:50,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,010 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,010 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:50,012 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:24:50,012 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:24:50,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:50,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:50,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-14 17:24:50,013 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-14 17:24:50,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:50,016 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:24:50,016 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:24:50,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:50,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:50,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:50,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:50,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-14 17:24:50,023 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-14 17:24:50,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:50,024 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-14 17:24:50,024 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:24:50,024 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-14 17:24:50,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-14 17:24:50,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:50,025 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:24:50,051 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-04-14 17:24:50,231 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-14 17:24:50,231 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:50,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:50,232 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-14 17:24:50,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:50,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1845210865] [2022-04-14 17:24:50,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:50,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:50,243 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:50,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [916123546] [2022-04-14 17:24:50,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:50,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:50,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:50,245 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-04-14 17:24:50,261 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-04-14 17:24:50,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:50,280 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:24:50,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:50,287 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:50,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {624#true} call ULTIMATE.init(); {624#true} is VALID [2022-04-14 17:24:50,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {624#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {624#true} is VALID [2022-04-14 17:24:50,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-14 17:24:50,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {624#true} {624#true} #65#return; {624#true} is VALID [2022-04-14 17:24:50,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {624#true} call #t~ret7 := main(); {624#true} is VALID [2022-04-14 17:24:50,404 INFO L290 TraceCheckUtils]: 5: Hoare triple {624#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {624#true} is VALID [2022-04-14 17:24:50,404 INFO L272 TraceCheckUtils]: 6: Hoare triple {624#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {624#true} is VALID [2022-04-14 17:24:50,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {624#true} ~cond := #in~cond; {650#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 17:24:50,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {650#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {654#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:24:50,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {654#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {654#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:24:50,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {654#(not (= |assume_abort_if_not_#in~cond| 0))} {624#true} #59#return; {661#(<= 1 main_~b~0)} is VALID [2022-04-14 17:24:50,406 INFO L290 TraceCheckUtils]: 11: Hoare triple {661#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:24:50,406 INFO L290 TraceCheckUtils]: 12: Hoare triple {665#(<= 1 main_~y~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:24:50,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {665#(<= 1 main_~y~0)} assume !!(#t~post6 < 100);havoc #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:24:50,406 INFO L272 TraceCheckUtils]: 14: Hoare triple {665#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {624#true} is VALID [2022-04-14 17:24:50,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {624#true} ~cond := #in~cond; {624#true} is VALID [2022-04-14 17:24:50,409 INFO L290 TraceCheckUtils]: 16: Hoare triple {624#true} assume !(0 == ~cond); {624#true} is VALID [2022-04-14 17:24:50,411 INFO L290 TraceCheckUtils]: 17: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-14 17:24:50,414 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {624#true} {665#(<= 1 main_~y~0)} #61#return; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:24:50,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {665#(<= 1 main_~y~0)} assume !(0 != ~y~0); {625#false} is VALID [2022-04-14 17:24:50,414 INFO L272 TraceCheckUtils]: 20: Hoare triple {625#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {625#false} is VALID [2022-04-14 17:24:50,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {625#false} ~cond := #in~cond; {625#false} is VALID [2022-04-14 17:24:50,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {625#false} assume 0 == ~cond; {625#false} is VALID [2022-04-14 17:24:50,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {625#false} assume !false; {625#false} is VALID [2022-04-14 17:24:50,415 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:50,415 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:24:50,415 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:50,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1845210865] [2022-04-14 17:24:50,415 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:24:50,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [916123546] [2022-04-14 17:24:50,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [916123546] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:50,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:50,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 17:24:50,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1134615902] [2022-04-14 17:24:50,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:50,416 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-14 17:24:50,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:50,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 17:24:50,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:50,430 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 17:24:50,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:50,430 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 17:24:50,430 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 17:24:50,431 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 17:24:50,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:50,556 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-14 17:24:50,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 17:24:50,556 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-14 17:24:50,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:50,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 17:24:50,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-14 17:24:50,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 17:24:50,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-14 17:24:50,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-14 17:24:50,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:50,590 INFO L225 Difference]: With dead ends: 42 [2022-04-14 17:24:50,590 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 17:24:50,590 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:24:50,590 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:24:50,591 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 85 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:24:50,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 17:24:50,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-14 17:24:50,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:50,603 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,603 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,603 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:50,604 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 17:24:50,604 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 17:24:50,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:50,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:50,605 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-14 17:24:50,605 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-14 17:24:50,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:50,606 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 17:24:50,606 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 17:24:50,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:50,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:50,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:50,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:50,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 17:24:50,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-14 17:24:50,607 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-14 17:24:50,607 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:50,607 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-14 17:24:50,608 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 17:24:50,608 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-14 17:24:50,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:24:50,608 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:50,608 INFO L499 BasicCegarLoop]: trace histogram [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] [2022-04-14 17:24:50,629 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-14 17:24:50,824 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:50,824 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:50,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:50,825 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-14 17:24:50,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:50,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [486840832] [2022-04-14 17:24:50,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:50,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:50,837 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:50,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [75636763] [2022-04-14 17:24:50,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:50,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:50,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:50,838 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-04-14 17:24:50,839 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-04-14 17:24:50,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:50,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:24:50,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:50,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:50,993 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-14 17:24:50,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {878#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {886#(<= ~counter~0 0)} {878#true} #65#return; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {886#(<= ~counter~0 0)} call #t~ret7 := main(); {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {886#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {886#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {886#(<= ~counter~0 0)} ~cond := #in~cond; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {886#(<= ~counter~0 0)} assume !(0 == ~cond); {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,997 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {886#(<= ~counter~0 0)} {886#(<= ~counter~0 0)} #59#return; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,997 INFO L290 TraceCheckUtils]: 11: Hoare triple {886#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:50,997 INFO L290 TraceCheckUtils]: 12: Hoare triple {886#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:50,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {920#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:50,998 INFO L272 TraceCheckUtils]: 14: Hoare triple {920#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:50,999 INFO L290 TraceCheckUtils]: 15: Hoare triple {920#(<= ~counter~0 1)} ~cond := #in~cond; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:50,999 INFO L290 TraceCheckUtils]: 16: Hoare triple {920#(<= ~counter~0 1)} assume !(0 == ~cond); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:50,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {920#(<= ~counter~0 1)} assume true; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:51,002 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {920#(<= ~counter~0 1)} {920#(<= ~counter~0 1)} #61#return; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:51,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {920#(<= ~counter~0 1)} assume !!(0 != ~y~0); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:51,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {920#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:51,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {920#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:24:51,004 INFO L290 TraceCheckUtils]: 22: Hoare triple {920#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {951#(<= |main_#t~post6| 1)} is VALID [2022-04-14 17:24:51,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {951#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {879#false} is VALID [2022-04-14 17:24:51,004 INFO L272 TraceCheckUtils]: 24: Hoare triple {879#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {879#false} is VALID [2022-04-14 17:24:51,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-14 17:24:51,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-14 17:24:51,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-14 17:24:51,005 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:51,005 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:24:51,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-14 17:24:51,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-14 17:24:51,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-14 17:24:51,168 INFO L272 TraceCheckUtils]: 24: Hoare triple {879#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {879#false} is VALID [2022-04-14 17:24:51,169 INFO L290 TraceCheckUtils]: 23: Hoare triple {979#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {879#false} is VALID [2022-04-14 17:24:51,177 INFO L290 TraceCheckUtils]: 22: Hoare triple {983#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {979#(< |main_#t~post6| 100)} is VALID [2022-04-14 17:24:51,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {983#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {983#(< ~counter~0 100)} is VALID [2022-04-14 17:24:51,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {983#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {983#(< ~counter~0 100)} is VALID [2022-04-14 17:24:51,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {983#(< ~counter~0 100)} assume !!(0 != ~y~0); {983#(< ~counter~0 100)} is VALID [2022-04-14 17:24:51,179 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {878#true} {983#(< ~counter~0 100)} #61#return; {983#(< ~counter~0 100)} is VALID [2022-04-14 17:24:51,179 INFO L290 TraceCheckUtils]: 17: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-14 17:24:51,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-14 17:24:51,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-14 17:24:51,180 INFO L272 TraceCheckUtils]: 14: Hoare triple {983#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {878#true} is VALID [2022-04-14 17:24:51,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {983#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {983#(< ~counter~0 100)} is VALID [2022-04-14 17:24:51,180 INFO L290 TraceCheckUtils]: 12: Hoare triple {1014#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {983#(< ~counter~0 100)} is VALID [2022-04-14 17:24:51,181 INFO L290 TraceCheckUtils]: 11: Hoare triple {1014#(< ~counter~0 99)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,181 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {878#true} {1014#(< ~counter~0 99)} #59#return; {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,181 INFO L290 TraceCheckUtils]: 9: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-14 17:24:51,181 INFO L290 TraceCheckUtils]: 8: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-14 17:24:51,181 INFO L290 TraceCheckUtils]: 7: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-14 17:24:51,181 INFO L272 TraceCheckUtils]: 6: Hoare triple {1014#(< ~counter~0 99)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {878#true} is VALID [2022-04-14 17:24:51,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {1014#(< ~counter~0 99)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {1014#(< ~counter~0 99)} call #t~ret7 := main(); {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,183 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1014#(< ~counter~0 99)} {878#true} #65#return; {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {1014#(< ~counter~0 99)} assume true; {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {878#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1014#(< ~counter~0 99)} is VALID [2022-04-14 17:24:51,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-14 17:24:51,184 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:51,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:51,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [486840832] [2022-04-14 17:24:51,184 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:24:51,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [75636763] [2022-04-14 17:24:51,184 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [75636763] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:24:51,184 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:24:51,184 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-14 17:24:51,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [38898201] [2022-04-14 17:24:51,185 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:24:51,185 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-14 17:24:51,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:51,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 17:24:51,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:51,218 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 17:24:51,218 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:51,219 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 17:24:51,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:24:51,219 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 17:24:51,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:51,366 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-14 17:24:51,366 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 17:24:51,367 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-14 17:24:51,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:51,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 17:24:51,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-14 17:24:51,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 17:24:51,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-14 17:24:51,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-14 17:24:51,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:24:51,426 INFO L225 Difference]: With dead ends: 70 [2022-04-14 17:24:51,427 INFO L226 Difference]: Without dead ends: 63 [2022-04-14 17:24:51,427 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-14 17:24:51,429 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 42 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:24:51,429 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 102 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:24:51,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-14 17:24:51,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-14 17:24:51,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:51,457 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:24:51,458 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:24:51,458 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:24:51,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:51,464 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 17:24:51,464 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 17:24:51,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:51,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:51,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-14 17:24:51,465 INFO L87 Difference]: Start difference. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-14 17:24:51,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:51,468 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 17:24:51,468 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 17:24:51,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:51,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:51,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:51,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:51,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:24:51,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-14 17:24:51,471 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-14 17:24:51,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:51,471 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-14 17:24:51,472 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-14 17:24:51,473 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-14 17:24:51,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:24:51,473 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:51,473 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:24:51,489 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-04-14 17:24:51,679 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:51,679 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:51,680 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:51,680 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-14 17:24:51,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:51,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1052977145] [2022-04-14 17:24:51,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:51,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:51,692 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:51,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1946523474] [2022-04-14 17:24:51,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:51,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:51,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:51,693 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-04-14 17:24:51,694 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-04-14 17:24:51,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:51,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 17:24:51,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:51,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:53,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-14 17:24:53,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {1360#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1360#true} is VALID [2022-04-14 17:24:53,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-14 17:24:53,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-14 17:24:53,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-14 17:24:53,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {1360#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1360#true} is VALID [2022-04-14 17:24:53,234 INFO L272 TraceCheckUtils]: 6: Hoare triple {1360#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1360#true} is VALID [2022-04-14 17:24:53,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {1360#true} ~cond := #in~cond; {1386#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 17:24:53,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {1386#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:24:53,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:24:53,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} {1360#true} #59#return; {1397#(<= 1 main_~b~0)} is VALID [2022-04-14 17:24:53,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {1397#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:53,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:53,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:53,237 INFO L272 TraceCheckUtils]: 14: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1360#true} is VALID [2022-04-14 17:24:53,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:24:53,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:24:53,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:24:53,238 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:53,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:53,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1432#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:24:53,240 INFO L290 TraceCheckUtils]: 21: Hoare triple {1432#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:24:53,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:24:53,241 INFO L290 TraceCheckUtils]: 23: Hoare triple {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:24:53,243 INFO L272 TraceCheckUtils]: 24: Hoare triple {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:24:53,243 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:24:53,243 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-14 17:24:53,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-14 17:24:53,244 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:24:53,244 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:14,232 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-14 17:25:14,233 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-14 17:25:14,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:14,234 INFO L272 TraceCheckUtils]: 24: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:25:14,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:25:14,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:25:14,239 INFO L290 TraceCheckUtils]: 21: Hoare triple {1476#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:25:14,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1476#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:25:14,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:25:14,243 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #61#return; {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:25:14,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:14,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {1497#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:14,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1497#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:25:14,245 INFO L272 TraceCheckUtils]: 14: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1360#true} is VALID [2022-04-14 17:25:14,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 17:25:14,247 INFO L290 TraceCheckUtils]: 12: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 17:25:14,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {1510#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 17:25:14,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} {1360#true} #59#return; {1510#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-14 17:25:14,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:25:14,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {1523#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:25:14,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {1360#true} ~cond := #in~cond; {1523#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-14 17:25:14,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {1360#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {1360#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {1360#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-14 17:25:14,251 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:25:14,251 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:14,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1052977145] [2022-04-14 17:25:14,251 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:14,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1946523474] [2022-04-14 17:25:14,252 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1946523474] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:14,252 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:14,252 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-14 17:25:14,252 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1459991937] [2022-04-14 17:25:14,252 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:14,252 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-14 17:25:14,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:14,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:14,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:25:14,294 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-14 17:25:14,294 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:14,294 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-14 17:25:14,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-14 17:25:14,295 INFO L87 Difference]: Start difference. First operand 59 states and 69 transitions. Second operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:16,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:16,483 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2022-04-14 17:25:16,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-14 17:25:16,483 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-14 17:25:16,484 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:16,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:16,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-14 17:25:16,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:16,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-14 17:25:16,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 71 transitions. [2022-04-14 17:25:16,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:25:16,561 INFO L225 Difference]: With dead ends: 103 [2022-04-14 17:25:16,561 INFO L226 Difference]: Without dead ends: 94 [2022-04-14 17:25:16,561 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=127, Invalid=575, Unknown=0, NotChecked=0, Total=702 [2022-04-14 17:25:16,562 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:16,562 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-14 17:25:16,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-14 17:25:16,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 92. [2022-04-14 17:25:16,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:16,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:16,591 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:16,591 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:16,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:16,594 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-14 17:25:16,594 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-14 17:25:16,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:16,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:16,594 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 94 states. [2022-04-14 17:25:16,595 INFO L87 Difference]: Start difference. First operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 94 states. [2022-04-14 17:25:16,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:16,597 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-14 17:25:16,597 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-14 17:25:16,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:16,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:16,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:16,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:16,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:16,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 107 transitions. [2022-04-14 17:25:16,600 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 107 transitions. Word has length 28 [2022-04-14 17:25:16,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:16,600 INFO L478 AbstractCegarLoop]: Abstraction has 92 states and 107 transitions. [2022-04-14 17:25:16,600 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 17:25:16,601 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-14 17:25:16,601 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-14 17:25:16,601 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:16,601 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:16,621 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-04-14 17:25:16,819 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:16,819 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:16,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:16,820 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-14 17:25:16,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:16,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1330096953] [2022-04-14 17:25:16,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:16,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:16,833 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:16,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [770190879] [2022-04-14 17:25:16,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:16,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:16,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:16,839 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-04-14 17:25:16,839 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-04-14 17:25:16,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:16,877 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 17:25:16,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:16,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:21,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {2016#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {2016#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {2016#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2016#true} is VALID [2022-04-14 17:25:21,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {2016#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L272 TraceCheckUtils]: 14: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-14 17:25:21,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-14 17:25:21,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2016#true} is VALID [2022-04-14 17:25:21,394 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2016#true} is VALID [2022-04-14 17:25:21,394 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:25:21,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:21,394 INFO L272 TraceCheckUtils]: 24: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-14 17:25:21,394 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:21,395 INFO L290 TraceCheckUtils]: 26: Hoare triple {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:21,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:23,397 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} {2016#true} #61#return; {2107#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-14 17:25:23,398 INFO L290 TraceCheckUtils]: 29: Hoare triple {2107#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:25:23,399 INFO L272 TraceCheckUtils]: 30: Hoare triple {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:25:23,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:23,399 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-14 17:25:23,399 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-14 17:25:23,400 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 17:25:23,400 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:37,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-14 17:25:37,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-14 17:25:37,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:37,777 INFO L272 TraceCheckUtils]: 30: Hoare triple {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:25:37,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {2138#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:25:37,778 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} {2016#true} #61#return; {2138#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:25:37,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:37,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {2151#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:37,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2151#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:25:37,779 INFO L272 TraceCheckUtils]: 24: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-14 17:25:37,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:37,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:25:37,784 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2016#true} is VALID [2022-04-14 17:25:37,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2016#true} is VALID [2022-04-14 17:25:37,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-14 17:25:37,784 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-14 17:25:37,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L272 TraceCheckUtils]: 14: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {2016#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {2016#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {2016#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2016#true} is VALID [2022-04-14 17:25:37,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-14 17:25:37,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-14 17:25:37,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:37,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {2016#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2016#true} is VALID [2022-04-14 17:25:37,786 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-14 17:25:37,786 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 17:25:37,786 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:37,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1330096953] [2022-04-14 17:25:37,786 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:37,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [770190879] [2022-04-14 17:25:37,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [770190879] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:37,786 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:37,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 17:25:37,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [971183772] [2022-04-14 17:25:37,787 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:37,787 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-14 17:25:37,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:37,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 17:25:39,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:25:39,810 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 17:25:39,810 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:39,811 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 17:25:39,811 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-14 17:25:39,811 INFO L87 Difference]: Start difference. First operand 92 states and 107 transitions. Second operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 17:25:41,843 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:25:42,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:42,298 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2022-04-14 17:25:42,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 17:25:42,299 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-14 17:25:42,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:42,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 17:25:42,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-14 17:25:42,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 17:25:42,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-14 17:25:42,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-14 17:25:44,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:25:44,324 INFO L225 Difference]: With dead ends: 104 [2022-04-14 17:25:44,324 INFO L226 Difference]: Without dead ends: 89 [2022-04-14 17:25:44,324 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-14 17:25:44,324 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:44,325 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 88 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-14 17:25:44,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-14 17:25:44,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-04-14 17:25:44,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:44,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:44,352 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:44,352 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:44,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:44,354 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-14 17:25:44,354 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-14 17:25:44,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:44,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:44,355 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-14 17:25:44,355 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-14 17:25:44,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:44,357 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-14 17:25:44,357 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-14 17:25:44,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:44,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:44,357 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:44,357 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:44,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 17:25:44,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2022-04-14 17:25:44,359 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 99 transitions. Word has length 34 [2022-04-14 17:25:44,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:44,360 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 99 transitions. [2022-04-14 17:25:44,360 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 17:25:44,360 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2022-04-14 17:25:44,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-14 17:25:44,360 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:44,360 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:44,376 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-04-14 17:25:44,575 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:44,576 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:44,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:44,576 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 1 times [2022-04-14 17:25:44,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:44,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1994177162] [2022-04-14 17:25:44,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:44,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:44,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:44,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [424850347] [2022-04-14 17:25:44,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:44,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:44,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:44,587 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-04-14 17:25:44,590 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-04-14 17:25:44,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:44,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-14 17:25:44,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:44,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:52,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L290 TraceCheckUtils]: 1: Hoare triple {2671#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L290 TraceCheckUtils]: 5: Hoare triple {2671#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L272 TraceCheckUtils]: 6: Hoare triple {2671#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:25:52,618 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-14 17:25:52,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {2671#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:25:52,619 INFO L290 TraceCheckUtils]: 12: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:25:52,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:25:52,620 INFO L272 TraceCheckUtils]: 14: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-14 17:25:52,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:25:52,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:25:52,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:25:52,620 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #61#return; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:25:52,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2734#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:25:52,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {2734#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2738#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-14 17:25:52,623 INFO L290 TraceCheckUtils]: 21: Hoare triple {2738#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:25:52,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:25:52,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:25:52,624 INFO L272 TraceCheckUtils]: 24: Hoare triple {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-14 17:25:52,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:52,624 INFO L290 TraceCheckUtils]: 26: Hoare triple {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:52,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:25:52,625 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #61#return; {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:25:52,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:25:52,627 INFO L290 TraceCheckUtils]: 30: Hoare triple {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2773#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:25:52,630 INFO L290 TraceCheckUtils]: 31: Hoare triple {2773#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-14 17:25:52,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-14 17:25:52,631 INFO L290 TraceCheckUtils]: 33: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-14 17:25:52,644 INFO L272 TraceCheckUtils]: 34: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:25:52,644 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:52,645 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-14 17:25:52,645 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-14 17:25:52,645 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-14 17:25:52,645 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:27:39,449 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-14 17:27:39,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-14 17:27:39,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:27:39,451 INFO L272 TraceCheckUtils]: 34: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:27:39,451 INFO L290 TraceCheckUtils]: 33: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:27:39,452 INFO L290 TraceCheckUtils]: 32: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:27:39,464 INFO L290 TraceCheckUtils]: 31: Hoare triple {2817#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:27:39,465 INFO L290 TraceCheckUtils]: 30: Hoare triple {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2817#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:27:39,466 INFO L290 TraceCheckUtils]: 29: Hoare triple {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:27:39,468 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #61#return; {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:27:39,469 INFO L290 TraceCheckUtils]: 27: Hoare triple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:27:39,469 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:27:39,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:27:39,469 INFO L272 TraceCheckUtils]: 24: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-14 17:27:39,470 INFO L290 TraceCheckUtils]: 23: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 17:27:39,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 17:27:39,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {2851#(and (or (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1) 0) (<= (+ (* aux_div_aux_mod_v_main_~y~0_28_22_69 2) 1) (div main_~y~0 2)) (<= (+ (* aux_div_v_main_~y~0_28_22 2) 1) (div main_~y~0 2)) (= (+ (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1)))) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_28_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)))) (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (<= (+ 2 (* aux_div_v_main_~y~0_28_22 2)) (div main_~y~0 2)) (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) main_~x~0)) (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4)) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_28_22 2)) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) 0))) (<= 0 (div main_~y~0 2))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-14 17:27:39,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {2671#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2851#(and (or (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1) 0) (<= (+ (* aux_div_aux_mod_v_main_~y~0_28_22_69 2) 1) (div main_~y~0 2)) (<= (+ (* aux_div_v_main_~y~0_28_22 2) 1) (div main_~y~0 2)) (= (+ (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1)))) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_28_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)))) (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (<= (+ 2 (* aux_div_v_main_~y~0_28_22 2)) (div main_~y~0 2)) (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) main_~x~0)) (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4)) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_28_22 2)) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) 0))) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-14 17:27:39,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {2671#true} assume !!(0 != ~y~0); {2671#true} is VALID [2022-04-14 17:27:39,630 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2671#true} #61#return; {2671#true} is VALID [2022-04-14 17:27:39,630 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:27:39,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:27:39,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L272 TraceCheckUtils]: 14: Hoare triple {2671#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#true} assume !!(#t~post6 < 100);havoc #t~post6; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {2671#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {2671#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {2671#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {2671#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-14 17:27:39,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-14 17:27:39,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:27:39,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {2671#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2671#true} is VALID [2022-04-14 17:27:39,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-14 17:27:39,632 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-14 17:27:39,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:27:39,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1994177162] [2022-04-14 17:27:39,632 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:27:39,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [424850347] [2022-04-14 17:27:39,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [424850347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:27:39,632 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:27:39,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-14 17:27:39,633 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1471414484] [2022-04-14 17:27:39,633 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:27:39,633 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-14 17:27:39,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:27:39,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 17:27:39,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:27:39,702 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-14 17:27:39,702 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:27:39,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-14 17:27:39,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-14 17:27:39,703 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 17:27:42,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:42,468 INFO L93 Difference]: Finished difference Result 124 states and 137 transitions. [2022-04-14 17:27:42,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-14 17:27:42,468 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-14 17:27:42,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:27:42,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 17:27:42,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-14 17:27:42,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 17:27:42,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-14 17:27:42,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 74 transitions. [2022-04-14 17:27:43,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:27:43,038 INFO L225 Difference]: With dead ends: 124 [2022-04-14 17:27:43,038 INFO L226 Difference]: Without dead ends: 122 [2022-04-14 17:27:43,038 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=132, Invalid=624, Unknown=0, NotChecked=0, Total=756 [2022-04-14 17:27:43,039 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 43 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 27 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-14 17:27:43,039 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 216 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 253 Invalid, 0 Unknown, 27 Unchecked, 0.8s Time] [2022-04-14 17:27:43,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-14 17:27:43,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2022-04-14 17:27:43,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:27:43,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:27:43,085 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:27:43,085 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:27:43,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:43,087 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 17:27:43,088 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 17:27:43,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:27:43,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:27:43,088 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-14 17:27:43,088 INFO L87 Difference]: Start difference. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-14 17:27:43,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:43,091 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 17:27:43,091 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 17:27:43,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:27:43,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:27:43,091 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:27:43,091 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:27:43,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:27:43,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-14 17:27:43,095 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 38 [2022-04-14 17:27:43,095 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:27:43,095 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-14 17:27:43,095 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-14 17:27:43,095 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-14 17:27:43,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 17:27:43,096 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:27:43,096 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:27:43,112 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-04-14 17:27:43,311 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:27:43,311 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:27:43,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:27:43,312 INFO L85 PathProgramCache]: Analyzing trace with hash -921054650, now seen corresponding path program 2 times [2022-04-14 17:27:43,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:27:43,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [317430322] [2022-04-14 17:27:43,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:27:43,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:27:43,324 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:27:43,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [564045579] [2022-04-14 17:27:43,325 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:27:43,325 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:27:43,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:27:43,326 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-04-14 17:27:43,326 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-04-14 17:27:43,369 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:27:43,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:27:43,370 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:27:43,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:27:43,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:27:43,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-14 17:27:43,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {3510#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3518#(<= ~counter~0 0)} {3510#true} #65#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {3518#(<= ~counter~0 0)} call #t~ret7 := main(); {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {3518#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {3518#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {3518#(<= ~counter~0 0)} ~cond := #in~cond; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {3518#(<= ~counter~0 0)} assume !(0 == ~cond); {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3518#(<= ~counter~0 0)} {3518#(<= ~counter~0 0)} #59#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {3518#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:27:43,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {3518#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,630 INFO L272 TraceCheckUtils]: 14: Hoare triple {3552#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,631 INFO L290 TraceCheckUtils]: 15: Hoare triple {3552#(<= ~counter~0 1)} ~cond := #in~cond; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,631 INFO L290 TraceCheckUtils]: 16: Hoare triple {3552#(<= ~counter~0 1)} assume !(0 == ~cond); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,631 INFO L290 TraceCheckUtils]: 17: Hoare triple {3552#(<= ~counter~0 1)} assume true; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,632 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3552#(<= ~counter~0 1)} {3552#(<= ~counter~0 1)} #61#return; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {3552#(<= ~counter~0 1)} assume !!(0 != ~y~0); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {3552#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,633 INFO L290 TraceCheckUtils]: 21: Hoare triple {3552#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:27:43,633 INFO L290 TraceCheckUtils]: 22: Hoare triple {3552#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {3583#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,634 INFO L272 TraceCheckUtils]: 24: Hoare triple {3583#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {3583#(<= ~counter~0 2)} ~cond := #in~cond; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {3583#(<= ~counter~0 2)} assume !(0 == ~cond); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {3583#(<= ~counter~0 2)} assume true; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,635 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3583#(<= ~counter~0 2)} {3583#(<= ~counter~0 2)} #61#return; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,636 INFO L290 TraceCheckUtils]: 29: Hoare triple {3583#(<= ~counter~0 2)} assume !!(0 != ~y~0); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {3583#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {3583#(<= ~counter~0 2)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:27:43,637 INFO L290 TraceCheckUtils]: 32: Hoare triple {3583#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,637 INFO L290 TraceCheckUtils]: 33: Hoare triple {3614#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,638 INFO L272 TraceCheckUtils]: 34: Hoare triple {3614#(<= ~counter~0 3)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,642 INFO L290 TraceCheckUtils]: 35: Hoare triple {3614#(<= ~counter~0 3)} ~cond := #in~cond; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,643 INFO L290 TraceCheckUtils]: 36: Hoare triple {3614#(<= ~counter~0 3)} assume !(0 == ~cond); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,643 INFO L290 TraceCheckUtils]: 37: Hoare triple {3614#(<= ~counter~0 3)} assume true; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,644 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3614#(<= ~counter~0 3)} {3614#(<= ~counter~0 3)} #61#return; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,644 INFO L290 TraceCheckUtils]: 39: Hoare triple {3614#(<= ~counter~0 3)} assume !!(0 != ~y~0); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,644 INFO L290 TraceCheckUtils]: 40: Hoare triple {3614#(<= ~counter~0 3)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,645 INFO L290 TraceCheckUtils]: 41: Hoare triple {3614#(<= ~counter~0 3)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:27:43,646 INFO L290 TraceCheckUtils]: 42: Hoare triple {3614#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,646 INFO L290 TraceCheckUtils]: 43: Hoare triple {3645#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,647 INFO L272 TraceCheckUtils]: 44: Hoare triple {3645#(<= ~counter~0 4)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,647 INFO L290 TraceCheckUtils]: 45: Hoare triple {3645#(<= ~counter~0 4)} ~cond := #in~cond; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,647 INFO L290 TraceCheckUtils]: 46: Hoare triple {3645#(<= ~counter~0 4)} assume !(0 == ~cond); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,647 INFO L290 TraceCheckUtils]: 47: Hoare triple {3645#(<= ~counter~0 4)} assume true; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,648 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3645#(<= ~counter~0 4)} {3645#(<= ~counter~0 4)} #61#return; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,648 INFO L290 TraceCheckUtils]: 49: Hoare triple {3645#(<= ~counter~0 4)} assume !!(0 != ~y~0); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,649 INFO L290 TraceCheckUtils]: 50: Hoare triple {3645#(<= ~counter~0 4)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,649 INFO L290 TraceCheckUtils]: 51: Hoare triple {3645#(<= ~counter~0 4)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:27:43,649 INFO L290 TraceCheckUtils]: 52: Hoare triple {3645#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(<= |main_#t~post6| 4)} is VALID [2022-04-14 17:27:43,650 INFO L290 TraceCheckUtils]: 53: Hoare triple {3676#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {3511#false} is VALID [2022-04-14 17:27:43,650 INFO L272 TraceCheckUtils]: 54: Hoare triple {3511#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3511#false} is VALID [2022-04-14 17:27:43,650 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-14 17:27:43,650 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-14 17:27:43,650 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-14 17:27:43,650 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 68 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 17:27:43,650 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:27:43,922 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-14 17:27:43,923 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-14 17:27:43,923 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-14 17:27:43,923 INFO L272 TraceCheckUtils]: 54: Hoare triple {3511#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3511#false} is VALID [2022-04-14 17:27:43,923 INFO L290 TraceCheckUtils]: 53: Hoare triple {3704#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {3511#false} is VALID [2022-04-14 17:27:43,923 INFO L290 TraceCheckUtils]: 52: Hoare triple {3708#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3704#(< |main_#t~post6| 100)} is VALID [2022-04-14 17:27:43,924 INFO L290 TraceCheckUtils]: 51: Hoare triple {3708#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3708#(< ~counter~0 100)} is VALID [2022-04-14 17:27:43,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {3708#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3708#(< ~counter~0 100)} is VALID [2022-04-14 17:27:43,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {3708#(< ~counter~0 100)} assume !!(0 != ~y~0); {3708#(< ~counter~0 100)} is VALID [2022-04-14 17:27:43,925 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3510#true} {3708#(< ~counter~0 100)} #61#return; {3708#(< ~counter~0 100)} is VALID [2022-04-14 17:27:43,925 INFO L290 TraceCheckUtils]: 47: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:27:43,925 INFO L290 TraceCheckUtils]: 46: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:27:43,925 INFO L290 TraceCheckUtils]: 45: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:27:43,925 INFO L272 TraceCheckUtils]: 44: Hoare triple {3708#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:27:43,925 INFO L290 TraceCheckUtils]: 43: Hoare triple {3708#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {3708#(< ~counter~0 100)} is VALID [2022-04-14 17:27:43,926 INFO L290 TraceCheckUtils]: 42: Hoare triple {3739#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3708#(< ~counter~0 100)} is VALID [2022-04-14 17:27:43,926 INFO L290 TraceCheckUtils]: 41: Hoare triple {3739#(< ~counter~0 99)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3739#(< ~counter~0 99)} is VALID [2022-04-14 17:27:43,926 INFO L290 TraceCheckUtils]: 40: Hoare triple {3739#(< ~counter~0 99)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3739#(< ~counter~0 99)} is VALID [2022-04-14 17:27:43,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {3739#(< ~counter~0 99)} assume !!(0 != ~y~0); {3739#(< ~counter~0 99)} is VALID [2022-04-14 17:27:43,927 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3510#true} {3739#(< ~counter~0 99)} #61#return; {3739#(< ~counter~0 99)} is VALID [2022-04-14 17:27:43,927 INFO L290 TraceCheckUtils]: 37: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:27:43,927 INFO L290 TraceCheckUtils]: 36: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:27:43,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:27:43,927 INFO L272 TraceCheckUtils]: 34: Hoare triple {3739#(< ~counter~0 99)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:27:43,928 INFO L290 TraceCheckUtils]: 33: Hoare triple {3739#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {3739#(< ~counter~0 99)} is VALID [2022-04-14 17:27:43,928 INFO L290 TraceCheckUtils]: 32: Hoare triple {3770#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3739#(< ~counter~0 99)} is VALID [2022-04-14 17:27:43,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {3770#(< ~counter~0 98)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3770#(< ~counter~0 98)} is VALID [2022-04-14 17:27:43,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {3770#(< ~counter~0 98)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3770#(< ~counter~0 98)} is VALID [2022-04-14 17:27:43,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {3770#(< ~counter~0 98)} assume !!(0 != ~y~0); {3770#(< ~counter~0 98)} is VALID [2022-04-14 17:27:43,930 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3510#true} {3770#(< ~counter~0 98)} #61#return; {3770#(< ~counter~0 98)} is VALID [2022-04-14 17:27:43,930 INFO L290 TraceCheckUtils]: 27: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:27:43,930 INFO L290 TraceCheckUtils]: 26: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:27:43,930 INFO L290 TraceCheckUtils]: 25: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:27:43,930 INFO L272 TraceCheckUtils]: 24: Hoare triple {3770#(< ~counter~0 98)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:27:43,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {3770#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {3770#(< ~counter~0 98)} is VALID [2022-04-14 17:27:43,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {3801#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3770#(< ~counter~0 98)} is VALID [2022-04-14 17:27:43,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {3801#(< ~counter~0 97)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3801#(< ~counter~0 97)} is VALID [2022-04-14 17:27:43,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {3801#(< ~counter~0 97)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3801#(< ~counter~0 97)} is VALID [2022-04-14 17:27:43,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {3801#(< ~counter~0 97)} assume !!(0 != ~y~0); {3801#(< ~counter~0 97)} is VALID [2022-04-14 17:27:43,932 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3510#true} {3801#(< ~counter~0 97)} #61#return; {3801#(< ~counter~0 97)} is VALID [2022-04-14 17:27:43,932 INFO L290 TraceCheckUtils]: 17: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:27:43,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:27:43,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:27:43,932 INFO L272 TraceCheckUtils]: 14: Hoare triple {3801#(< ~counter~0 97)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:27:43,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {3801#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {3801#(< ~counter~0 97)} is VALID [2022-04-14 17:27:43,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {3832#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3801#(< ~counter~0 97)} is VALID [2022-04-14 17:27:43,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {3832#(< ~counter~0 96)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3510#true} {3832#(< ~counter~0 96)} #59#return; {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:27:43,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:27:43,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:27:43,934 INFO L272 TraceCheckUtils]: 6: Hoare triple {3832#(< ~counter~0 96)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:27:43,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {3832#(< ~counter~0 96)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {3832#(< ~counter~0 96)} call #t~ret7 := main(); {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3832#(< ~counter~0 96)} {3510#true} #65#return; {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {3832#(< ~counter~0 96)} assume true; {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {3510#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3832#(< ~counter~0 96)} is VALID [2022-04-14 17:27:43,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-14 17:27:43,936 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 44 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-14 17:27:43,936 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:27:43,936 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [317430322] [2022-04-14 17:27:43,936 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:27:43,936 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [564045579] [2022-04-14 17:27:43,936 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [564045579] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:27:43,936 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:27:43,936 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 17:27:43,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [908964454] [2022-04-14 17:27:43,936 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:27:43,937 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-14 17:27:43,937 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:27:43,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-14 17:27:44,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:27:44,006 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 17:27:44,006 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:27:44,006 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 17:27:44,006 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-14 17:27:44,007 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-14 17:27:44,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:44,479 INFO L93 Difference]: Finished difference Result 300 states and 341 transitions. [2022-04-14 17:27:44,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-14 17:27:44,479 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-14 17:27:44,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:27:44,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-14 17:27:44,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-14 17:27:44,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-14 17:27:44,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-14 17:27:44,484 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 150 transitions. [2022-04-14 17:27:44,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:27:44,589 INFO L225 Difference]: With dead ends: 300 [2022-04-14 17:27:44,589 INFO L226 Difference]: Without dead ends: 293 [2022-04-14 17:27:44,590 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-14 17:27:44,590 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 148 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 148 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:27:44,590 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [148 Valid, 189 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 17:27:44,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 293 states. [2022-04-14 17:27:44,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 293 to 283. [2022-04-14 17:27:44,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:27:44,677 INFO L82 GeneralOperation]: Start isEquivalent. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 17:27:44,677 INFO L74 IsIncluded]: Start isIncluded. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 17:27:44,677 INFO L87 Difference]: Start difference. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 17:27:44,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:44,684 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 17:27:44,684 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-14 17:27:44,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:27:44,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:27:44,685 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-14 17:27:44,685 INFO L87 Difference]: Start difference. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-14 17:27:44,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:44,691 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 17:27:44,691 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-14 17:27:44,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:27:44,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:27:44,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:27:44,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:27:44,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-14 17:27:44,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2022-04-14 17:27:44,697 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 58 [2022-04-14 17:27:44,697 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:27:44,697 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2022-04-14 17:27:44,697 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-14 17:27:44,697 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2022-04-14 17:27:44,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 17:27:44,698 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:27:44,698 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:27:44,714 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-14 17:27:44,911 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-14 17:27:44,913 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:27:44,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:27:44,914 INFO L85 PathProgramCache]: Analyzing trace with hash -919267190, now seen corresponding path program 2 times [2022-04-14 17:27:44,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:27:44,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [53790924] [2022-04-14 17:27:44,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:27:44,914 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:27:44,934 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:27:44,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [202350056] [2022-04-14 17:27:44,934 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:27:44,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:27:44,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:27:44,935 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-04-14 17:27:44,936 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-04-14 17:27:44,977 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:27:44,977 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:27:44,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-14 17:27:44,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:27:44,996 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:28:11,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-14 17:28:11,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {5246#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5246#true} is VALID [2022-04-14 17:28:11,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:28:11,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-14 17:28:11,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-14 17:28:11,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {5246#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5246#true} is VALID [2022-04-14 17:28:11,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {5246#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:28:11,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5272#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 17:28:11,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {5272#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:28:11,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:28:11,777 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5283#(<= 1 main_~b~0)} is VALID [2022-04-14 17:28:11,777 INFO L290 TraceCheckUtils]: 11: Hoare triple {5283#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:11,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:11,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:11,778 INFO L272 TraceCheckUtils]: 14: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:28:11,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:28:11,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:28:11,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:28:11,778 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:11,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:11,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5315#(and (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:11,780 INFO L290 TraceCheckUtils]: 21: Hoare triple {5315#(and (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,781 INFO L290 TraceCheckUtils]: 22: Hoare triple {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,799 INFO L272 TraceCheckUtils]: 24: Hoare triple {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:28:11,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:28:11,800 INFO L290 TraceCheckUtils]: 26: Hoare triple {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:28:11,800 INFO L290 TraceCheckUtils]: 27: Hoare triple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:28:11,801 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5319#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5343#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,801 INFO L290 TraceCheckUtils]: 29: Hoare triple {5343#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5343#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,802 INFO L290 TraceCheckUtils]: 30: Hoare triple {5343#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5350#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {5350#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,807 INFO L290 TraceCheckUtils]: 32: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,807 INFO L290 TraceCheckUtils]: 33: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,807 INFO L272 TraceCheckUtils]: 34: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:28:11,807 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:28:11,807 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:28:11,808 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:28:11,808 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,808 INFO L290 TraceCheckUtils]: 39: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,810 INFO L290 TraceCheckUtils]: 40: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5382#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:11,811 INFO L290 TraceCheckUtils]: 41: Hoare triple {5382#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,811 INFO L290 TraceCheckUtils]: 42: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,812 INFO L290 TraceCheckUtils]: 43: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,812 INFO L272 TraceCheckUtils]: 44: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:28:11,812 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:28:11,812 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:28:11,812 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:28:11,813 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #61#return; {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,813 INFO L290 TraceCheckUtils]: 49: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(0 != ~y~0); {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,814 INFO L290 TraceCheckUtils]: 50: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5414#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,816 INFO L290 TraceCheckUtils]: 51: Hoare triple {5414#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,817 INFO L290 TraceCheckUtils]: 52: Hoare triple {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,817 INFO L290 TraceCheckUtils]: 53: Hoare triple {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-14 17:28:11,822 INFO L272 TraceCheckUtils]: 54: Hoare triple {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:28:11,823 INFO L290 TraceCheckUtils]: 55: Hoare triple {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5432#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:28:11,823 INFO L290 TraceCheckUtils]: 56: Hoare triple {5432#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-14 17:28:11,823 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-14 17:28:11,824 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-14 17:28:11,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:29:34,073 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-14 17:29:34,073 INFO L290 TraceCheckUtils]: 56: Hoare triple {5432#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-14 17:29:34,074 INFO L290 TraceCheckUtils]: 55: Hoare triple {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5432#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:34,074 INFO L272 TraceCheckUtils]: 54: Hoare triple {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:29:34,075 INFO L290 TraceCheckUtils]: 53: Hoare triple {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:34,075 INFO L290 TraceCheckUtils]: 52: Hoare triple {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:34,080 INFO L290 TraceCheckUtils]: 51: Hoare triple {5458#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:34,081 INFO L290 TraceCheckUtils]: 50: Hoare triple {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5458#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:29:34,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:34,082 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #61#return; {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:34,083 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:29:34,083 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:29:34,083 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:29:34,083 INFO L272 TraceCheckUtils]: 44: Hoare triple {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:29:34,083 INFO L290 TraceCheckUtils]: 43: Hoare triple {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:34,084 INFO L290 TraceCheckUtils]: 42: Hoare triple {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:34,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {5490#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5462#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:34,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5490#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-14 17:29:34,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-14 17:29:34,099 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #61#return; {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-14 17:29:34,099 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:29:34,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:29:34,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:29:34,099 INFO L272 TraceCheckUtils]: 34: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:29:34,100 INFO L290 TraceCheckUtils]: 33: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-14 17:29:34,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-14 17:29:34,430 INFO L290 TraceCheckUtils]: 31: Hoare triple {5522#(and (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-14 17:29:34,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5522#(and (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)))} is VALID [2022-04-14 17:29:34,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} assume !!(0 != ~y~0); {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} is VALID [2022-04-14 17:29:34,451 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} #61#return; {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} is VALID [2022-04-14 17:29:34,452 INFO L290 TraceCheckUtils]: 27: Hoare triple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:34,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {5543#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:34,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5543#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:29:34,452 INFO L272 TraceCheckUtils]: 24: Hoare triple {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:29:34,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} assume !!(#t~post6 < 100);havoc #t~post6; {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} is VALID [2022-04-14 17:29:34,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} is VALID [2022-04-14 17:29:34,539 INFO L290 TraceCheckUtils]: 21: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} is VALID [2022-04-14 17:29:34,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-14 17:29:34,543 INFO L290 TraceCheckUtils]: 19: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} assume !!(0 != ~y~0); {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-14 17:29:34,544 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} #61#return; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-14 17:29:34,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:29:34,544 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:29:34,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:29:34,544 INFO L272 TraceCheckUtils]: 14: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:29:34,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-14 17:29:34,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-14 17:29:34,549 INFO L290 TraceCheckUtils]: 11: Hoare triple {5587#(and (or (and (or (= (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (+ (div (div (+ (div main_~b~0 2) 1) 2) 2) 1) 2)) 8)) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (+ (div main_~b~0 2) 1) 2) 2) 0)) (or (= (* (* main_~a~0 2) (+ (div main_~b~0 2) 1)) (+ (* (* (* main_~a~0 2) (div (div (+ (div (+ (div main_~b~0 2) 1) 2) 1) 2) 2)) 8) (* main_~a~0 16))) (= (mod (+ (div main_~b~0 2) 1) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (+ (div main_~b~0 2) 1) 2) 2) 2)))) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (div (+ (div main_~b~0 2) 1) 2) 2) 2) 0))) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0))) (or (not (= (mod main_~b~0 2) 0)) (and (or (= (mod (div (div main_~b~0 2) 2) 2) 0) (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* (* (div (+ (div (div (div main_~b~0 2) 2) 2) 1) 2) (* main_~a~0 2)) 8) (* main_~a~0 16)))) (or (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (div (+ (div (div main_~b~0 2) 2) 1) 2) 2)) 8))) (= (mod (div main_~b~0 2) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (div main_~b~0 2) 2) 2) 2)))) (* (* main_~a~0 2) (div main_~b~0 2))) (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 0))) (<= 0 (div main_~b~0 2))))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-14 17:29:34,551 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5587#(and (or (and (or (= (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (+ (div (div (+ (div main_~b~0 2) 1) 2) 2) 1) 2)) 8)) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (+ (div main_~b~0 2) 1) 2) 2) 0)) (or (= (* (* main_~a~0 2) (+ (div main_~b~0 2) 1)) (+ (* (* (* main_~a~0 2) (div (div (+ (div (+ (div main_~b~0 2) 1) 2) 1) 2) 2)) 8) (* main_~a~0 16))) (= (mod (+ (div main_~b~0 2) 1) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (+ (div main_~b~0 2) 1) 2) 2) 2)))) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (div (+ (div main_~b~0 2) 1) 2) 2) 2) 0))) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0))) (or (not (= (mod main_~b~0 2) 0)) (and (or (= (mod (div (div main_~b~0 2) 2) 2) 0) (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* (* (div (+ (div (div (div main_~b~0 2) 2) 2) 1) 2) (* main_~a~0 2)) 8) (* main_~a~0 16)))) (or (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (div (+ (div (div main_~b~0 2) 2) 1) 2) 2)) 8))) (= (mod (div main_~b~0 2) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (div main_~b~0 2) 2) 2) 2)))) (* (* main_~a~0 2) (div main_~b~0 2))) (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 0))) (<= 0 (div main_~b~0 2))))} is VALID [2022-04-14 17:29:34,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:29:34,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {5600#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:29:34,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5600#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-14 17:29:34,552 INFO L272 TraceCheckUtils]: 6: Hoare triple {5246#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:29:34,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {5246#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5246#true} is VALID [2022-04-14 17:29:34,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-14 17:29:34,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-14 17:29:34,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:29:34,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {5246#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(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5246#true} is VALID [2022-04-14 17:29:34,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-14 17:29:34,553 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-14 17:29:34,553 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:29:34,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [53790924] [2022-04-14 17:29:34,553 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:29:34,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [202350056] [2022-04-14 17:29:34,553 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [202350056] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:29:34,553 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:29:34,553 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18] total 31 [2022-04-14 17:29:34,553 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [975547618] [2022-04-14 17:29:34,553 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:29:34,554 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) Word has length 58 [2022-04-14 17:29:34,554 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:29:34,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 17:29:34,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:29:34,929 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-14 17:29:34,929 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:29:34,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-14 17:29:34,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=152, Invalid=778, Unknown=0, NotChecked=0, Total=930 [2022-04-14 17:29:34,930 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 17:29:57,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:57,602 INFO L93 Difference]: Finished difference Result 409 states and 471 transitions. [2022-04-14 17:29:57,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-14 17:29:57,602 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) Word has length 58 [2022-04-14 17:29:57,603 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:29:57,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 17:29:57,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-14 17:29:57,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 17:29:57,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-14 17:29:57,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 116 transitions. [2022-04-14 17:30:06,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 115 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:30:06,764 INFO L225 Difference]: With dead ends: 409 [2022-04-14 17:30:06,765 INFO L226 Difference]: Without dead ends: 407 [2022-04-14 17:30:06,765 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 84 SyntacticMatches, 2 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 507 ImplicationChecksByTransitivity, 15.6s TimeCoverageRelationStatistics Valid=389, Invalid=1681, Unknown=0, NotChecked=0, Total=2070 [2022-04-14 17:30:06,766 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 96 mSDsluCounter, 286 mSDsCounter, 0 mSdLazyCounter, 598 mSolverCounterSat, 110 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 708 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 110 IncrementalHoareTripleChecker+Valid, 598 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:30:06,766 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 316 Invalid, 708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [110 Valid, 598 Invalid, 0 Unknown, 0 Unchecked, 5.1s Time] [2022-04-14 17:30:06,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 407 states. [2022-04-14 17:30:06,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 407 to 403. [2022-04-14 17:30:06,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:30:06,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-14 17:30:06,925 INFO L74 IsIncluded]: Start isIncluded. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-14 17:30:06,925 INFO L87 Difference]: Start difference. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-14 17:30:06,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:30:06,933 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-14 17:30:06,933 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-14 17:30:06,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:30:06,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:30:06,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 407 states. [2022-04-14 17:30:06,935 INFO L87 Difference]: Start difference. First operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 407 states. [2022-04-14 17:30:06,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:30:06,943 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-14 17:30:06,943 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-14 17:30:06,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:30:06,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:30:06,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:30:06,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:30:06,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-14 17:30:06,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 403 states to 403 states and 460 transitions. [2022-04-14 17:30:06,953 INFO L78 Accepts]: Start accepts. Automaton has 403 states and 460 transitions. Word has length 58 [2022-04-14 17:30:06,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:30:06,953 INFO L478 AbstractCegarLoop]: Abstraction has 403 states and 460 transitions. [2022-04-14 17:30:06,953 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 17:30:06,953 INFO L276 IsEmpty]: Start isEmpty. Operand 403 states and 460 transitions. [2022-04-14 17:30:06,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-14 17:30:06,954 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:30:06,954 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:30:06,970 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-14 17:30:07,156 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-14 17:30:07,156 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:30:07,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:30:07,157 INFO L85 PathProgramCache]: Analyzing trace with hash 86722727, now seen corresponding path program 2 times [2022-04-14 17:30:07,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:30:07,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1542050647] [2022-04-14 17:30:07,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:30:07,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:30:07,169 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:30:07,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1083604160] [2022-04-14 17:30:07,170 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:30:07,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:30:07,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:30:07,173 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:30:07,174 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-14 17:30:07,220 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:30:07,220 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:30:07,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-14 17:30:07,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:30:07,257 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:30:27,491 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful