/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/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 10:34:03,820 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 10:34:03,821 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 10:34:03,861 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 10:34:03,862 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 10:34:03,863 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 10:34:03,865 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 10:34:03,866 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 10:34:03,868 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 10:34:03,871 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 10:34:03,871 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 10:34:03,872 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 10:34:03,873 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 10:34:03,874 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 10:34:03,875 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 10:34:03,877 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 10:34:03,877 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 10:34:03,878 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 10:34:03,880 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 10:34:03,883 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 10:34:03,885 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 10:34:03,885 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 10:34:03,886 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 10:34:03,886 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 10:34:03,887 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 10:34:03,892 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 10:34:03,892 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 10:34:03,892 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 10:34:03,892 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 10:34:03,892 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 10:34:03,893 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 10:34:03,894 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 10:34:03,895 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 10:34:03,895 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 10:34:03,895 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 10:34:03,896 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 10:34:03,896 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 10:34:03,896 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 10:34:03,896 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 10:34:03,897 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 10:34:03,897 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 10:34:03,898 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 10:34:03,898 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 10:34:03,906 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 10:34:03,907 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 10:34:03,908 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 10:34:03,908 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 10:34:03,908 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 10:34:03,908 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 10:34:03,908 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 10:34:03,908 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 10:34:03,908 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 10:34:03,909 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 10:34:03,909 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 10:34:03,909 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 10:34:03,909 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 10:34:03,909 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 10:34:03,909 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:34:03,910 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 10:34:03,910 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-15 10:34:04,073 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 10:34:04,085 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 10:34:04,086 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 10:34:04,087 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 10:34:04,087 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 10:34:04,088 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c [2022-04-15 10:34:04,151 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c20137811/564be36144764e35bbe8b29f45ca029f/FLAG5d62ef478 [2022-04-15 10:34:04,475 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 10:34:04,475 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c [2022-04-15 10:34:04,479 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c20137811/564be36144764e35bbe8b29f45ca029f/FLAG5d62ef478 [2022-04-15 10:34:04,486 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c20137811/564be36144764e35bbe8b29f45ca029f [2022-04-15 10:34:04,488 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 10:34:04,488 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 10:34:04,492 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 10:34:04,492 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 10:34:04,494 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 10:34:04,494 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,495 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@75f0b4c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04, skipping insertion in model container [2022-04-15 10:34:04,495 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,500 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 10:34:04,509 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 10:34:04,613 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_valuebound50.c[537,550] [2022-04-15 10:34:04,622 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:34:04,627 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 10:34:04,634 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_valuebound50.c[537,550] [2022-04-15 10:34:04,638 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:34:04,646 INFO L208 MainTranslator]: Completed translation [2022-04-15 10:34:04,647 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04 WrapperNode [2022-04-15 10:34:04,647 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 10:34:04,647 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 10:34:04,647 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 10:34:04,648 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 10:34:04,653 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,654 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,657 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,657 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,661 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,663 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,663 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,664 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 10:34:04,665 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 10:34:04,665 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 10:34:04,665 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 10:34:04,666 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (1/1) ... [2022-04-15 10:34:04,670 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:34:04,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:34:04,694 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-15 10:34:04,696 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-15 10:34:04,722 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 10:34:04,722 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 10:34:04,722 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 10:34:04,723 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 10:34:04,723 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 10:34:04,723 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 10:34:04,723 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 10:34:04,723 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 10:34:04,724 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 10:34:04,724 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 10:34:04,724 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 10:34:04,725 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 10:34:04,725 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 10:34:04,725 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 10:34:04,725 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 10:34:04,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 10:34:04,726 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 10:34:04,726 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 10:34:04,726 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 10:34:04,726 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 10:34:04,766 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 10:34:04,767 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 10:34:04,876 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 10:34:04,881 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 10:34:04,881 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 10:34:04,882 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:34:04 BoogieIcfgContainer [2022-04-15 10:34:04,882 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 10:34:04,883 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 10:34:04,883 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 10:34:04,885 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 10:34:04,885 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 10:34:04" (1/3) ... [2022-04-15 10:34:04,885 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48757825 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:34:04, skipping insertion in model container [2022-04-15 10:34:04,885 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:34:04" (2/3) ... [2022-04-15 10:34:04,886 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48757825 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:34:04, skipping insertion in model container [2022-04-15 10:34:04,886 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:34:04" (3/3) ... [2022-04-15 10:34:04,886 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound50.c [2022-04-15 10:34:04,890 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 10:34:04,890 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 10:34:04,917 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 10:34:04,921 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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-15 10:34:04,922 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 10:34:04,963 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:34:04,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:34:04,968 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:34:04,968 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:34:04,969 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:34:04,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:34:04,972 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-15 10:34:04,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:04,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1061902808] [2022-04-15 10:34:04,990 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:34:04,990 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-15 10:34:04,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:34:04,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1866653257] [2022-04-15 10:34:04,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:34:04,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:34:05,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:05,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 10:34:05,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:05,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#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); {35#true} is VALID [2022-04-15 10:34:05,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 10:34:05,164 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 10:34:05,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 10:34:05,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:05,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:34:05,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:34:05,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:34:05,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 10:34:05,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 10:34:05,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:05,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:34:05,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:34:05,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:34:05,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 10:34:05,185 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 10:34:05,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:05,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:34:05,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:34:05,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:34:05,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 10:34:05,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 10:34:05,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#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); {35#true} is VALID [2022-04-15 10:34:05,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 10:34:05,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 10:34:05,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-15 10:34:05,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#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; {35#true} is VALID [2022-04-15 10:34:05,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-15 10:34:05,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:34:05,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:34:05,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:34:05,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 10:34:05,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 10:34:05,201 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-15 10:34:05,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:34:05,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:34:05,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:34:05,202 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 10:34:05,202 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-15 10:34:05,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:34:05,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:34:05,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:34:05,204 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 10:34:05,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-15 10:34:05,204 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-15 10:34:05,204 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-15 10:34:05,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 10:34:05,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 10:34:05,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 10:34:05,205 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:34:05,206 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:34:05,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1866653257] [2022-04-15 10:34:05,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1866653257] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:05,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:05,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:34:05,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:34:05,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1061902808] [2022-04-15 10:34:05,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1061902808] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:05,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:05,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:34:05,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1568570912] [2022-04-15 10:34:05,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:34:05,225 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 10:34:05,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:34:05,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:34:05,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:05,257 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 10:34:05,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:05,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 10:34:05,277 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:34:05,279 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:34:05,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:05,394 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-15 10:34:05,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 10:34:05,394 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 10:34:05,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:34:05,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:34:05,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 10:34:05,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:34:05,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 10:34:05,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-15 10:34:05,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:05,478 INFO L225 Difference]: With dead ends: 57 [2022-04-15 10:34:05,478 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 10:34:05,480 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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-15 10:34:05,483 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:34:05,483 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 10:34:05,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 10:34:05,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 10:34:05,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:34:05,518 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:34:05,519 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:34:05,519 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:34:05,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:05,522 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 10:34:05,522 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:34:05,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:34:05,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:34:05,523 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 10:34:05,523 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 10:34:05,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:05,526 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 10:34:05,526 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:34:05,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:34:05,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:34:05,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:34:05,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:34:05,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 10:34:05,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-15 10:34:05,529 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-15 10:34:05,529 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:34:05,529 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-15 10:34:05,530 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 10:34:05,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-15 10:34:05,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:05,569 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:34:05,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:34:05,571 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:34:05,571 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:34:05,571 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 10:34:05,571 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:34:05,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:34:05,575 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-15 10:34:05,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:05,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1931656035] [2022-04-15 10:34:05,577 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:34:05,578 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-15 10:34:05,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:34:05,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [327053347] [2022-04-15 10:34:05,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:34:05,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:34:05,603 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:34:05,603 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1633323956] [2022-04-15 10:34:05,603 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:34:05,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:34:05,604 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:34:05,607 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-15 10:34:05,628 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-15 10:34:05,658 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 10:34:05,658 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:34:05,660 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 10:34:05,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:05,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:34:05,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-15 10:34:05,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#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); {277#true} is VALID [2022-04-15 10:34:05,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:34:05,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-15 10:34:05,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-15 10:34:05,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#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; {277#true} is VALID [2022-04-15 10:34:05,858 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {277#true} is VALID [2022-04-15 10:34:05,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:34:05,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:34:05,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:34:05,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-15 10:34:05,859 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-15 10:34:05,859 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {277#true} is VALID [2022-04-15 10:34:05,859 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:34:05,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:34:05,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:34:05,859 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-15 10:34:05,860 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-15 10:34:05,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:34:05,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:34:05,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:34:05,860 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-15 10:34:05,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:34:05,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:34:05,864 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(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)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:34:05,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:05,865 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-15 10:34:05,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-15 10:34:05,865 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:34:05,865 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:34:05,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:34:05,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [327053347] [2022-04-15 10:34:05,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:34:05,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1633323956] [2022-04-15 10:34:05,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1633323956] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:05,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:05,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:34:05,867 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:34:05,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1931656035] [2022-04-15 10:34:05,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1931656035] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:05,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:05,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:34:05,868 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [102380671] [2022-04-15 10:34:05,868 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:34:05,868 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 10:34:05,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:34:05,869 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:34:05,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:05,884 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:34:05,885 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:05,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:34:05,885 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 10:34:05,885 INFO L87 Difference]: Start difference. First operand 27 states and 31 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:34:06,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:06,050 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-15 10:34:06,051 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:34:06,051 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 10:34:06,052 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:34:06,052 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:34:06,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 10:34:06,063 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:34:06,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 10:34:06,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-15 10:34:06,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:06,114 INFO L225 Difference]: With dead ends: 39 [2022-04-15 10:34:06,114 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 10:34:06,115 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-15 10:34:06,116 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:34:06,117 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:34:06,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 10:34:06,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-15 10:34:06,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:34:06,128 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,128 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,128 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:06,131 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 10:34:06,131 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 10:34:06,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:34:06,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:34:06,132 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 10:34:06,132 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 10:34:06,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:06,135 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 10:34:06,135 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 10:34:06,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:34:06,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:34:06,136 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:34:06,136 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:34:06,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 10:34:06,138 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-15 10:34:06,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:34:06,138 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 10:34:06,138 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 10:34:06,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 10:34:06,177 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-15 10:34:06,177 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 10:34:06,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 10:34:06,178 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:34:06,178 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:34:06,199 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-15 10:34:06,395 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-15 10:34:06,395 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:34:06,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:34:06,396 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-15 10:34:06,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:06,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1270441970] [2022-04-15 10:34:06,396 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:34:06,396 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-15 10:34:06,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:34:06,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1363894028] [2022-04-15 10:34:06,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:34:06,397 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:34:06,411 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:34:06,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1704889020] [2022-04-15 10:34:06,412 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:34:06,412 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:34:06,412 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:34:06,413 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-15 10:34:06,421 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-15 10:34:06,455 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:34:06,455 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:34:06,456 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 10:34:06,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:06,468 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:34:06,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-15 10:34:06,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#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); {585#true} is VALID [2022-04-15 10:34:06,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:34:06,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-15 10:34:06,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-15 10:34:06,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#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; {585#true} is VALID [2022-04-15 10:34:06,582 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {585#true} is VALID [2022-04-15 10:34:06,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:34:06,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:34:06,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:34:06,583 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-15 10:34:06,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-15 10:34:06,583 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {585#true} is VALID [2022-04-15 10:34:06,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:34:06,584 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:34:06,584 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:34:06,585 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-15 10:34:06,585 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-15 10:34:06,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:34:06,586 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:34:06,587 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:34:06,587 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-15 10:34:06,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:34:06,588 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:34:06,588 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-15 10:34:06,588 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:34:06,588 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:34:06,589 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:34:06,589 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:34:06,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-15 10:34:06,590 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-15 10:34:06,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-15 10:34:06,590 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-15 10:34:06,590 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-15 10:34:06,594 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:34:06,594 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:34:06,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:34:06,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1363894028] [2022-04-15 10:34:06,594 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:34:06,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1704889020] [2022-04-15 10:34:06,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1704889020] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:06,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:06,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 10:34:06,595 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:34:06,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1270441970] [2022-04-15 10:34:06,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1270441970] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:06,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:06,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 10:34:06,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [193349153] [2022-04-15 10:34:06,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:34:06,596 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 10:34:06,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:34:06,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:34:06,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:06,618 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 10:34:06,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:06,619 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 10:34:06,619 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 10:34:06,619 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:34:06,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:06,783 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-15 10:34:06,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 10:34:06,783 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 10:34:06,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:34:06,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:34:06,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 10:34:06,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:34:06,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 10:34:06,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-15 10:34:06,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:06,839 INFO L225 Difference]: With dead ends: 43 [2022-04-15 10:34:06,839 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 10:34:06,841 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 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-15 10:34:06,849 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:34:06,851 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 10:34:06,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 10:34:06,867 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-15 10:34:06,867 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:34:06,867 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,868 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,869 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:06,874 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 10:34:06,874 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 10:34:06,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:34:06,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:34:06,875 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 10:34:06,875 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 10:34:06,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:34:06,879 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 10:34:06,879 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 10:34:06,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:34:06,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:34:06,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:34:06,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:34:06,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 10:34:06,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-15 10:34:06,884 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-15 10:34:06,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:34:06,884 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-15 10:34:06,884 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:34:06,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-15 10:34:06,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:34:06,916 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-15 10:34:06,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:34:06,916 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:34:06,916 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:34:06,937 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-15 10:34:07,131 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-15 10:34:07,132 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:34:07,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:34:07,132 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-15 10:34:07,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:07,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [283814364] [2022-04-15 10:34:07,132 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:34:07,133 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-15 10:34:07,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:34:07,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [638758861] [2022-04-15 10:34:07,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:34:07,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:34:07,147 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:34:07,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1476422938] [2022-04-15 10:34:07,147 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:34:07,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:34:07,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:34:07,148 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-15 10:34:07,151 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-15 10:34:07,184 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:34:07,184 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:34:07,185 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 10:34:07,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:34:07,281 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:34:16,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 10:34:16,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-15 10:34:16,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:34:16,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 10:34:16,612 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 10:34:16,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#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; {922#true} is VALID [2022-04-15 10:34:16,612 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-15 10:34:16,612 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:34:16,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:34:16,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:34:16,612 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 10:34:16,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 10:34:16,612 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-15 10:34:16,613 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:34:16,613 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:34:16,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:34:16,613 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 10:34:16,613 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 10:34:16,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:34:16,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:34:16,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:34:16,613 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 10:34:16,614 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:34:16,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:34:16,614 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(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)); {922#true} is VALID [2022-04-15 10:34:16,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:16,615 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:16,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:16,616 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:34:16,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:34:16,618 INFO L290 TraceCheckUtils]: 30: Hoare triple {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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; {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:34:16,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= 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); {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:34:16,621 INFO L290 TraceCheckUtils]: 32: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:34:18,623 WARN L272 TraceCheckUtils]: 33: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~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)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:34:18,624 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:18,624 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 10:34:18,625 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 10:34:18,625 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:34:18,625 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:35:15,942 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 10:35:15,942 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 10:35:15,943 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:15,944 INFO L272 TraceCheckUtils]: 33: Hoare triple {1053#(= (+ 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)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:35:15,944 INFO L290 TraceCheckUtils]: 32: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:35:15,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {1060#(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); {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:35:15,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 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; {1060#(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-15 10:35:15,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:35:16,106 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:35:16,107 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:16,107 INFO L290 TraceCheckUtils]: 26: Hoare triple {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:16,108 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:35:16,108 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 10:35:16,108 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-15 10:35:16,108 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-15 10:35:16,108 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 10:35:16,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:35:16,109 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:35:16,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:35:16,109 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 10:35:16,109 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 10:35:16,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:35:16,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:35:16,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:35:16,109 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-15 10:35:16,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 10:35:16,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 10:35:16,110 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:35:16,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:35:16,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:35:16,110 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-15 10:35:16,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#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; {922#true} is VALID [2022-04-15 10:35:16,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 10:35:16,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 10:35:16,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:35:16,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-15 10:35:16,111 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 10:35:16,111 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:35:16,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:35:16,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [638758861] [2022-04-15 10:35:16,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:35:16,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1476422938] [2022-04-15 10:35:16,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1476422938] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:35:16,111 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:35:16,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-15 10:35:16,112 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:35:16,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [283814364] [2022-04-15 10:35:16,112 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [283814364] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:35:16,112 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:35:16,112 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 10:35:16,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [536694692] [2022-04-15 10:35:16,112 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:35:16,112 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:35:16,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:35:16,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:35:18,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:18,140 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 10:35:18,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:35:18,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 10:35:18,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=166, Unknown=2, NotChecked=0, Total=210 [2022-04-15 10:35:18,141 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:35:23,881 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-15 10:35:25,334 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:27,335 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-15 10:35:29,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:29,468 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 10:35:29,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:35:29,469 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:35:29,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:35:29,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:35:29,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 10:35:29,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:35:29,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 10:35:29,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-15 10:35:30,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:30,795 INFO L225 Difference]: With dead ends: 49 [2022-04-15 10:35:30,795 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 10:35:30,796 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 10.5s TimeCoverageRelationStatistics Valid=55, Invalid=215, Unknown=2, NotChecked=0, Total=272 [2022-04-15 10:35:30,797 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 3 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.4s IncrementalHoareTripleChecker+Time [2022-04-15 10:35:30,798 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 153 Invalid, 2 Unknown, 0 Unchecked, 6.4s Time] [2022-04-15 10:35:30,798 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 10:35:30,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-15 10:35:30,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:35:30,828 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:35:30,829 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:35:30,829 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:35:30,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:30,830 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 10:35:30,830 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 10:35:30,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:35:30,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:35:30,831 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 10:35:30,831 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 10:35:30,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:30,832 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 10:35:30,832 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 10:35:30,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:35:30,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:35:30,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:35:30,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:35:30,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:35:30,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-15 10:35:30,834 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-15 10:35:30,834 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:35:30,834 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-15 10:35:30,834 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:35:30,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-15 10:35:32,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:32,417 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-15 10:35:32,417 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:35:32,417 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:35:32,417 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:35:32,433 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-15 10:35:32,625 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-15 10:35:32,625 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:35:32,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:35:32,626 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-15 10:35:32,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:35:32,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1925592685] [2022-04-15 10:35:32,626 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:35:32,626 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-15 10:35:32,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:35:32,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [790917230] [2022-04-15 10:35:32,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:35:32,627 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:35:32,637 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:35:32,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [499481561] [2022-04-15 10:35:32,638 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:35:32,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:35:32,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:35:32,639 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-15 10:35:32,639 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-15 10:35:32,675 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:35:32,675 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:35:32,676 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 10:35:32,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:35:32,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:35:34,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#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); {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#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; {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:35:34,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-15 10:35:34,314 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:35:34,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:35:34,318 INFO L290 TraceCheckUtils]: 19: Hoare triple {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:35:34,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:35:34,319 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1508#(<= 1 main_~b~0)} is VALID [2022-04-15 10:35:34,319 INFO L290 TraceCheckUtils]: 22: Hoare triple {1508#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:35:34,319 INFO L290 TraceCheckUtils]: 23: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:35:34,320 INFO L272 TraceCheckUtils]: 24: Hoare triple {1512#(and (= main_~z~0 0) (= 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)); {1438#true} is VALID [2022-04-15 10:35:34,320 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:35:34,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:35:34,320 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:35:34,321 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:35:34,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:35:34,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {1512#(and (= main_~z~0 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)); {1537#(and (= main_~z~0 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-15 10:35:34,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {1537#(and (= main_~z~0 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); {1541#(and (= main_~z~0 0) (= 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-15 10:35:34,323 INFO L290 TraceCheckUtils]: 32: Hoare triple {1541#(and (= main_~z~0 0) (= 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 !false; {1541#(and (= main_~z~0 0) (= 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-15 10:35:34,324 INFO L272 TraceCheckUtils]: 33: Hoare triple {1541#(and (= main_~z~0 0) (= 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)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:35:34,325 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:34,325 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-15 10:35:34,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-15 10:35:34,325 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:35:34,325 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:36:11,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-15 10:36:11,568 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-15 10:36:11,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:11,569 INFO L272 TraceCheckUtils]: 33: Hoare triple {1568#(= (+ 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)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:11,570 INFO L290 TraceCheckUtils]: 32: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:11,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {1575#(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); {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:11,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {1579#(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)); {1575#(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-15 10:36:11,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {1579#(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); {1579#(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-15 10:36:11,576 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1579#(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)))))} #67#return; {1579#(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-15 10:36:11,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:36:11,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:36:11,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:36:11,577 INFO L272 TraceCheckUtils]: 24: Hoare triple {1579#(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)); {1438#true} is VALID [2022-04-15 10:36:11,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {1579#(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 !false; {1579#(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-15 10:36:11,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1579#(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-15 10:36:11,580 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-15 10:36:11,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:36:11,581 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:36:11,581 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:36:11,581 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:36:11,581 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-15 10:36:11,581 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:36:11,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#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; {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-15 10:36:11,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-15 10:36:11,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-15 10:36:11,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#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); {1438#true} is VALID [2022-04-15 10:36:11,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-15 10:36:11,583 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:36:11,583 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:36:11,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [790917230] [2022-04-15 10:36:11,583 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:36:11,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [499481561] [2022-04-15 10:36:11,583 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [499481561] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:36:11,583 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:36:11,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-15 10:36:11,584 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:36:11,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1925592685] [2022-04-15 10:36:11,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1925592685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:36:11,584 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:36:11,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 10:36:11,584 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1287803786] [2022-04-15 10:36:11,584 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:36:11,584 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:36:11,585 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:36:11,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:36:11,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:11,614 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 10:36:11,614 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:11,614 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 10:36:11,614 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-15 10:36:11,615 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:36:12,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:12,118 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 10:36:12,118 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:36:12,118 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:36:12,118 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:36:12,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:36:12,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-15 10:36:12,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:36:12,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-15 10:36:12,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-15 10:36:12,159 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:12,160 INFO L225 Difference]: With dead ends: 59 [2022-04-15 10:36:12,161 INFO L226 Difference]: Without dead ends: 52 [2022-04-15 10:36:12,161 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-15 10:36:12,161 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 178 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:36:12,162 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 129 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 10:36:12,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-15 10:36:12,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-15 10:36:12,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:36:12,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:36:12,191 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:36:12,191 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:36:12,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:12,193 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 10:36:12,193 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 10:36:12,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:12,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:12,193 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 10:36:12,193 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 10:36:12,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:12,194 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 10:36:12,194 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 10:36:12,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:12,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:12,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:36:12,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:36:12,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:36:12,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:36:12,196 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-15 10:36:12,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:36:12,196 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:36:12,196 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:36:12,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:36:14,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:14,255 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:36:14,255 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:36:14,256 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:36:14,256 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, 1, 1, 1, 1, 1] [2022-04-15 10:36:14,271 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-15 10:36:14,456 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-15 10:36:14,456 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:36:14,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:36:14,457 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-15 10:36:14,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:14,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [593850996] [2022-04-15 10:36:14,457 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:36:14,457 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-15 10:36:14,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:36:14,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2018354117] [2022-04-15 10:36:14,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:36:14,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:36:14,482 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:36:14,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1499711247] [2022-04-15 10:36:14,483 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:36:14,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:36:14,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:36:14,484 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-15 10:36:14,485 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-15 10:36:14,524 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:36:14,524 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:36:14,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 10:36:14,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:36:14,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:36:21,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-15 10:36:21,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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); {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#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; {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-15 10:36:21,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-15 10:36:21,098 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#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; {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#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); {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:36:21,099 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:21,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:21,100 INFO L290 TraceCheckUtils]: 35: Hoare triple {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:21,100 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:23,103 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2118#(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-15 10:36:23,104 INFO L290 TraceCheckUtils]: 38: Hoare triple {2118#(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); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:23,105 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:23,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:23,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-15 10:36:23,105 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-15 10:36:23,106 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:36:23,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:36:34,302 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-15 10:36:34,302 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-15 10:36:34,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:34,303 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:34,304 INFO L290 TraceCheckUtils]: 38: Hoare triple {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:34,304 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:36:34,305 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:34,305 INFO L290 TraceCheckUtils]: 35: Hoare triple {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:34,305 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:36:34,305 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#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); {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#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; {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:34,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:34,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#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; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-15 10:36:34,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-15 10:36:34,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#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); {2000#true} is VALID [2022-04-15 10:36:34,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-15 10:36:34,309 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:36:34,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:36:34,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2018354117] [2022-04-15 10:36:34,309 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:36:34,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1499711247] [2022-04-15 10:36:34,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1499711247] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:36:34,309 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:36:34,309 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 10:36:34,310 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:36:34,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [593850996] [2022-04-15 10:36:34,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [593850996] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:36:34,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:36:34,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:36:34,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1090099403] [2022-04-15 10:36:34,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:36:34,310 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 10:36:34,310 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:36:34,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:36:36,333 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-15 10:36:36,333 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:36:36,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:36,333 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:36:36,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 10:36:36,334 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:36:38,380 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-15 10:36:38,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:38,597 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-15 10:36:38,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:36:38,597 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 10:36:38,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:36:38,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:36:38,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 10:36:38,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:36:38,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 10:36:38,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-15 10:36:40,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:40,633 INFO L225 Difference]: With dead ends: 57 [2022-04-15 10:36:40,633 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 10:36:40,633 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 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-15 10:36:40,633 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:36:40,633 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 123 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-15 10:36:40,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 10:36:40,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-15 10:36:40,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:36:40,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:36:40,655 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:36:40,655 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:36:40,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:40,656 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 10:36:40,656 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 10:36:40,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:40,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:40,656 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 10:36:40,657 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 10:36:40,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:40,658 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 10:36:40,658 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 10:36:40,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:40,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:40,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:36:40,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:36:40,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:36:40,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-15 10:36:40,659 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-15 10:36:40,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:36:40,659 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-15 10:36:40,659 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:36:40,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-15 10:36:46,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:46,817 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-15 10:36:46,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:36:46,817 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:36:46,817 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:36:46,833 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 10:36:47,033 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-15 10:36:47,033 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:36:47,034 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:36:47,034 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-15 10:36:47,034 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:47,034 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2131507416] [2022-04-15 10:36:47,034 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:36:47,034 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-15 10:36:47,034 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:36:47,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [704968908] [2022-04-15 10:36:47,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:36:47,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:36:47,055 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:36:47,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1384601349] [2022-04-15 10:36:47,055 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:36:47,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:36:47,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:36:47,060 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-15 10:36:47,061 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-15 10:36:47,100 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:36:47,100 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:36:47,101 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 10:36:47,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:36:47,123 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:39:54,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-15 10:39:54,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#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); {2567#true} is VALID [2022-04-15 10:39:54,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:39:54,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-15 10:39:54,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-15 10:39:54,688 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#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; {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:39:54,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-15 10:39:54,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:39:54,697 INFO L290 TraceCheckUtils]: 23: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:39:54,697 INFO L272 TraceCheckUtils]: 24: Hoare triple {2638#(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)); {2567#true} is VALID [2022-04-15 10:39:54,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:54,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:54,698 INFO L290 TraceCheckUtils]: 27: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:54,698 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:39:54,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:39:54,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {2662#(and (= main_~z~0 0) (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; {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:39:54,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 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); {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:39:54,701 INFO L290 TraceCheckUtils]: 32: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:39:54,701 INFO L272 TraceCheckUtils]: 33: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 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)); {2567#true} is VALID [2022-04-15 10:39:54,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:54,702 INFO L290 TraceCheckUtils]: 35: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:54,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:54,703 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2689#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:39:54,704 INFO L290 TraceCheckUtils]: 38: Hoare triple {2689#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2693#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:39:54,706 INFO L290 TraceCheckUtils]: 39: Hoare triple {2693#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 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);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2697#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (+ (* main_~x~0 3) (* 2 (* main_~y~0 main_~x~0))) (* 2 (* main_~b~0 main_~a~0))) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:39:54,709 INFO L290 TraceCheckUtils]: 40: Hoare triple {2697#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (+ (* main_~x~0 3) (* 2 (* main_~y~0 main_~x~0))) (* 2 (* main_~b~0 main_~a~0))) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 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); {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:39:54,710 INFO L290 TraceCheckUtils]: 41: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} assume !false; {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:39:56,712 WARN L272 TraceCheckUtils]: 42: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:39:56,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2712#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:56,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {2712#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-15 10:39:56,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-15 10:39:56,714 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 10:39:56,714 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:40:59,694 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-15 10:40:59,694 INFO L290 TraceCheckUtils]: 44: Hoare triple {2712#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-15 10:40:59,695 INFO L290 TraceCheckUtils]: 43: Hoare triple {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2712#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:40:59,695 INFO L272 TraceCheckUtils]: 42: Hoare triple {2728#(= (+ 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)); {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:40:59,696 INFO L290 TraceCheckUtils]: 41: Hoare triple {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:40:59,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {2735#(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); {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:40:59,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 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; {2735#(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-15 10:40:59,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:40:59,940 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:40:59,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:40:59,941 INFO L290 TraceCheckUtils]: 35: Hoare triple {2755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:40:59,941 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:40:59,941 INFO L272 TraceCheckUtils]: 33: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:40:59,941 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-15 10:40:59,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {2567#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); {2567#true} is VALID [2022-04-15 10:40:59,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {2567#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; {2567#true} is VALID [2022-04-15 10:40:59,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L272 TraceCheckUtils]: 24: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-15 10:40:59,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#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; {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-15 10:40:59,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-15 10:40:59,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-15 10:40:59,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#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); {2567#true} is VALID [2022-04-15 10:40:59,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-15 10:40:59,944 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:40:59,944 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:40:59,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [704968908] [2022-04-15 10:40:59,944 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:40:59,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1384601349] [2022-04-15 10:40:59,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1384601349] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:40:59,944 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:40:59,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-15 10:40:59,945 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:40:59,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2131507416] [2022-04-15 10:40:59,945 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2131507416] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:40:59,945 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:40:59,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 10:40:59,945 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532398969] [2022-04-15 10:40:59,945 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:40:59,945 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:40:59,946 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:40:59,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:41:00,239 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-15 10:41:00,240 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 10:41:00,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:41:00,240 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 10:41:00,240 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=245, Unknown=1, NotChecked=0, Total=306 [2022-04-15 10:41:00,240 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:41:12,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:41:12,701 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-15 10:41:12,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:41:12,701 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:41:12,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:41:12,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:41:12,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 10:41:12,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:41:12,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-15 10:41:12,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-15 10:41:12,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:41:12,912 INFO L225 Difference]: With dead ends: 63 [2022-04-15 10:41:12,912 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 10:41:12,913 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 72 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 17.5s TimeCoverageRelationStatistics Valid=73, Invalid=306, Unknown=1, NotChecked=0, Total=380 [2022-04-15 10:41:12,913 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 261 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:41:12,913 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 183 Invalid, 261 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 5.0s Time] [2022-04-15 10:41:12,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 10:41:12,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-15 10:41:12,964 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:41:12,964 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:41:12,964 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:41:12,964 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:41:12,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:41:12,965 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:41:12,965 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:41:12,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:41:12,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:41:12,966 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:41:12,966 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:41:12,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:41:12,967 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:41:12,967 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:41:12,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:41:12,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:41:12,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:41:12,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:41:12,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:41:12,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:41:12,969 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 10:41:12,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:41:12,969 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:41:12,969 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:41:12,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:41:23,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 10:41:23,126 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:41:23,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:41:23,127 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:41:23,127 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 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, 1, 1] [2022-04-15 10:41:23,145 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 10:41:23,337 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-15 10:41:23,337 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:41:23,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:41:23,338 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-15 10:41:23,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:41:23,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2086220866] [2022-04-15 10:41:23,338 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:41:23,338 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-15 10:41:23,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:41:23,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558811800] [2022-04-15 10:41:23,338 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:41:23,338 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:41:23,351 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:41:23,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1038162149] [2022-04-15 10:41:23,351 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:41:23,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:41:23,352 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:41:23,352 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-15 10:41:23,353 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-15 10:41:23,399 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:41:23,399 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:41:23,400 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 10:41:23,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:41:23,412 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:41:25,882 INFO L272 TraceCheckUtils]: 0: Hoare triple {3212#true} call ULTIMATE.init(); {3212#true} is VALID [2022-04-15 10:41:25,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {3212#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); {3212#true} is VALID [2022-04-15 10:41:25,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:41:25,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3212#true} {3212#true} #71#return; {3212#true} is VALID [2022-04-15 10:41:25,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {3212#true} call #t~ret6 := main(); {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {3212#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; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L272 TraceCheckUtils]: 6: Hoare triple {3212#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3212#true} {3212#true} #61#return; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {3212#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L272 TraceCheckUtils]: 12: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3212#true} {3212#true} #63#return; {3212#true} is VALID [2022-04-15 10:41:25,883 INFO L272 TraceCheckUtils]: 17: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:41:25,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:41:25,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:41:25,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:41:25,884 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3212#true} {3212#true} #65#return; {3212#true} is VALID [2022-04-15 10:41:25,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {3212#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3283#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:41:25,888 INFO L290 TraceCheckUtils]: 23: Hoare triple {3283#(= main_~b~0 main_~y~0)} assume !false; {3283#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:41:25,889 INFO L272 TraceCheckUtils]: 24: Hoare triple {3283#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:41:25,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:41:25,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:41:25,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:41:25,889 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3212#true} {3283#(= main_~b~0 main_~y~0)} #67#return; {3283#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:41:25,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {3283#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3305#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 10:41:25,890 INFO L290 TraceCheckUtils]: 30: Hoare triple {3305#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~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; {3309#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-15 10:41:25,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {3309#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 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); {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:41:25,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:41:25,892 INFO L272 TraceCheckUtils]: 33: Hoare triple {3313#(and (<= 1 (mod main_~b~0 2)) (<= 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)); {3212#true} is VALID [2022-04-15 10:41:25,892 INFO L290 TraceCheckUtils]: 34: Hoare triple {3212#true} ~cond := #in~cond; {3323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:41:25,892 INFO L290 TraceCheckUtils]: 35: Hoare triple {3323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:41:25,892 INFO L290 TraceCheckUtils]: 36: Hoare triple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:41:25,893 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:41:25,894 INFO L290 TraceCheckUtils]: 38: Hoare triple {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:41:25,894 INFO L290 TraceCheckUtils]: 39: Hoare triple {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)); {3341#(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)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:41:27,750 INFO L290 TraceCheckUtils]: 40: Hoare triple {3341#(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)) (<= 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); {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:41:27,750 INFO L290 TraceCheckUtils]: 41: Hoare triple {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:41:29,138 INFO L272 TraceCheckUtils]: 42: Hoare triple {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:41:29,138 INFO L290 TraceCheckUtils]: 43: Hoare triple {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:41:29,139 INFO L290 TraceCheckUtils]: 44: Hoare triple {3356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3213#false} is VALID [2022-04-15 10:41:29,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {3213#false} assume !false; {3213#false} is VALID [2022-04-15 10:41:29,139 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:41:29,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:42:04,568 INFO L290 TraceCheckUtils]: 45: Hoare triple {3213#false} assume !false; {3213#false} is VALID [2022-04-15 10:42:04,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {3356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3213#false} is VALID [2022-04-15 10:42:04,569 INFO L290 TraceCheckUtils]: 43: Hoare triple {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:42:04,570 INFO L272 TraceCheckUtils]: 42: Hoare triple {3372#(= (+ 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)); {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:42:04,570 INFO L290 TraceCheckUtils]: 41: Hoare triple {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:42:04,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {3379#(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); {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:42:04,575 INFO L290 TraceCheckUtils]: 39: Hoare triple {3383#(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)); {3379#(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-15 10:42:04,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {3383#(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); {3383#(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-15 10:42:04,578 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {3383#(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-15 10:42:04,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:42:04,579 INFO L290 TraceCheckUtils]: 35: Hoare triple {3400#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:42:04,579 INFO L290 TraceCheckUtils]: 34: Hoare triple {3212#true} ~cond := #in~cond; {3400#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:42:04,579 INFO L272 TraceCheckUtils]: 33: Hoare triple {3390#(or (<= 0 main_~y~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)); {3212#true} is VALID [2022-04-15 10:42:04,579 INFO L290 TraceCheckUtils]: 32: Hoare triple {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:42:04,581 INFO L290 TraceCheckUtils]: 31: Hoare triple {3410#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 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); {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:42:04,582 INFO L290 TraceCheckUtils]: 30: Hoare triple {3212#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; {3410#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {3212#true} assume !!(0 != ~y~0); {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3212#true} {3212#true} #67#return; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 27: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 26: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 25: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L272 TraceCheckUtils]: 24: Hoare triple {3212#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 23: Hoare triple {3212#true} assume !false; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 22: Hoare triple {3212#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3212#true} {3212#true} #65#return; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:42:04,583 INFO L290 TraceCheckUtils]: 19: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:42:04,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:42:04,585 INFO L272 TraceCheckUtils]: 17: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:42:04,585 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3212#true} {3212#true} #63#return; {3212#true} is VALID [2022-04-15 10:42:04,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:42:04,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:42:04,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L272 TraceCheckUtils]: 12: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 11: Hoare triple {3212#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3212#true} {3212#true} #61#return; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L272 TraceCheckUtils]: 6: Hoare triple {3212#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {3212#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; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {3212#true} call #t~ret6 := main(); {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3212#true} {3212#true} #71#return; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {3212#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); {3212#true} is VALID [2022-04-15 10:42:04,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {3212#true} call ULTIMATE.init(); {3212#true} is VALID [2022-04-15 10:42:04,587 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:42:04,587 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:42:04,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558811800] [2022-04-15 10:42:04,587 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:42:04,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1038162149] [2022-04-15 10:42:04,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1038162149] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:42:04,587 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:42:04,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-15 10:42:04,587 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:42:04,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2086220866] [2022-04-15 10:42:04,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2086220866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:42:04,588 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:42:04,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:42:04,588 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [506260782] [2022-04-15 10:42:04,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:42:04,588 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:42:04,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:42:04,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:42:06,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:42:06,234 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:42:06,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:42:06,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:42:06,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-15 10:42:06,248 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:42:11,569 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-15 10:42:12,918 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:42:14,832 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:42:16,833 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-15 10:42:19,051 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:42:21,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:42:21,597 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-15 10:42:21,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:42:21,597 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:42:21,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:42:21,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:42:21,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:42:21,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:42:21,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:42:21,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 10:42:23,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:42:23,187 INFO L225 Difference]: With dead ends: 63 [2022-04-15 10:42:23,187 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 10:42:23,187 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 5.0s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-15 10:42:23,187 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 220 mSolverCounterSat, 0 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 220 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.4s IncrementalHoareTripleChecker+Time [2022-04-15 10:42:23,187 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 220 Invalid, 2 Unknown, 0 Unchecked, 9.4s Time] [2022-04-15 10:42:23,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 10:42:23,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-15 10:42:23,241 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:42:23,241 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:23,241 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:23,241 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:23,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:42:23,242 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:42:23,242 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:42:23,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:42:23,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:42:23,243 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:42:23,243 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:42:23,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:42:23,244 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:42:23,244 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:42:23,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:42:23,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:42:23,244 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:42:23,244 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:42:23,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:23,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:42:23,246 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 10:42:23,246 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:42:23,246 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:42:23,246 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:42:23,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:42:33,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 10:42:33,156 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:42:33,156 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:42:33,156 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:42:33,156 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 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, 1, 1] [2022-04-15 10:42:33,172 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-15 10:42:33,363 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-15 10:42:33,364 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:42:33,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:42:33,364 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-15 10:42:33,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:42:33,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [591364819] [2022-04-15 10:42:33,364 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:42:33,364 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-15 10:42:33,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:42:33,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1623631646] [2022-04-15 10:42:33,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:42:33,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:42:33,375 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:42:33,375 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2105755595] [2022-04-15 10:42:33,375 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:42:33,375 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:42:33,375 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:42:33,376 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-15 10:42:33,377 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-15 10:42:33,411 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:42:33,411 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:42:33,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 10:42:33,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:42:33,425 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:42:40,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {3858#true} call ULTIMATE.init(); {3858#true} is VALID [2022-04-15 10:42:40,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {3858#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); {3858#true} is VALID [2022-04-15 10:42:40,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:42:40,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3858#true} {3858#true} #71#return; {3858#true} is VALID [2022-04-15 10:42:40,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {3858#true} call #t~ret6 := main(); {3858#true} is VALID [2022-04-15 10:42:40,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {3858#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; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L272 TraceCheckUtils]: 6: Hoare triple {3858#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 9: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3858#true} {3858#true} #61#return; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {3858#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L272 TraceCheckUtils]: 12: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3858#true} {3858#true} #63#return; {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L272 TraceCheckUtils]: 17: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:42:40,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:42:40,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:42:40,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:42:40,391 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3858#true} {3858#true} #65#return; {3858#true} is VALID [2022-04-15 10:42:40,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {3858#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:40,391 INFO L290 TraceCheckUtils]: 23: Hoare triple {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:40,391 INFO L272 TraceCheckUtils]: 24: Hoare triple {3929#(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)); {3858#true} is VALID [2022-04-15 10:42:40,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:42:40,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:42:40,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:42:40,392 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3858#true} {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:40,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:40,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {3929#(and (= main_~z~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)); {3954#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:40,394 INFO L290 TraceCheckUtils]: 31: Hoare triple {3954#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~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); {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:42:40,395 INFO L290 TraceCheckUtils]: 32: Hoare triple {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !false; {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:42:40,395 INFO L272 TraceCheckUtils]: 33: Hoare triple {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:42:40,395 INFO L290 TraceCheckUtils]: 34: Hoare triple {3858#true} ~cond := #in~cond; {3968#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:42:40,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {3968#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:42:40,396 INFO L290 TraceCheckUtils]: 36: Hoare triple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:42:40,396 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} #67#return; {3979#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:42:40,397 INFO L290 TraceCheckUtils]: 38: Hoare triple {3979#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !!(0 != ~y~0); {3983#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-15 10:42:40,400 INFO L290 TraceCheckUtils]: 39: Hoare triple {3983#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 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; {3987#(and (<= 1 (mod (+ main_~y~0 1) 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)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:42:40,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {3987#(and (<= 1 (mod (+ main_~y~0 1) 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)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 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); {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:42:40,403 INFO L290 TraceCheckUtils]: 41: Hoare triple {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:42:42,406 WARN L272 TraceCheckUtils]: 42: Hoare triple {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:42:42,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:42:42,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {4002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3859#false} is VALID [2022-04-15 10:42:42,407 INFO L290 TraceCheckUtils]: 45: Hoare triple {3859#false} assume !false; {3859#false} is VALID [2022-04-15 10:42:42,407 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:42:42,407 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:43:25,091 INFO L290 TraceCheckUtils]: 45: Hoare triple {3859#false} assume !false; {3859#false} is VALID [2022-04-15 10:43:25,092 INFO L290 TraceCheckUtils]: 44: Hoare triple {4002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3859#false} is VALID [2022-04-15 10:43:25,092 INFO L290 TraceCheckUtils]: 43: Hoare triple {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:43:25,095 INFO L272 TraceCheckUtils]: 42: Hoare triple {4018#(= (+ 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)); {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:43:25,096 INFO L290 TraceCheckUtils]: 41: Hoare triple {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:43:25,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {4025#(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); {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:43:25,103 INFO L290 TraceCheckUtils]: 39: Hoare triple {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 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; {4025#(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-15 10:43:25,103 INFO L290 TraceCheckUtils]: 38: Hoare triple {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:43:25,429 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} {3858#true} #67#return; {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:43:25,430 INFO L290 TraceCheckUtils]: 36: Hoare triple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:43:25,430 INFO L290 TraceCheckUtils]: 35: Hoare triple {4045#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 34: Hoare triple {3858#true} ~cond := #in~cond; {4045#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:43:25,431 INFO L272 TraceCheckUtils]: 33: Hoare triple {3858#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 32: Hoare triple {3858#true} assume !false; {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {3858#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); {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {3858#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {3858#true} assume !!(0 != ~y~0); {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3858#true} {3858#true} #67#return; {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 27: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:43:25,431 INFO L272 TraceCheckUtils]: 24: Hoare triple {3858#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {3858#true} assume !false; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {3858#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3858#true} {3858#true} #65#return; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 19: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L272 TraceCheckUtils]: 17: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3858#true} {3858#true} #63#return; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:43:25,432 INFO L272 TraceCheckUtils]: 12: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {3858#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3858#true} {3858#true} #61#return; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {3858#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {3858#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; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {3858#true} call #t~ret6 := main(); {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3858#true} {3858#true} #71#return; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-15 10:43:25,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {3858#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); {3858#true} is VALID [2022-04-15 10:43:25,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {3858#true} call ULTIMATE.init(); {3858#true} is VALID [2022-04-15 10:43:25,434 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 10:43:25,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:43:25,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1623631646] [2022-04-15 10:43:25,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:43:25,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2105755595] [2022-04-15 10:43:25,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2105755595] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:43:25,434 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:43:25,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-15 10:43:25,435 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:43:25,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [591364819] [2022-04-15 10:43:25,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [591364819] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:43:25,435 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:43:25,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:43:25,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [858247206] [2022-04-15 10:43:25,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:43:25,436 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:43:25,436 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:43:25,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:43:25,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:43:25,610 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:43:25,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:43:25,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:43:25,610 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=218, Unknown=2, NotChecked=0, Total=272 [2022-04-15 10:43:25,610 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:43:29,983 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-15 10:43:32,412 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-15 10:43:36,660 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-15 10:43:39,930 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.58s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:43:40,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:43:40,532 INFO L93 Difference]: Finished difference Result 68 states and 76 transitions. [2022-04-15 10:43:40,532 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:43:40,533 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:43:40,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:43:40,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:43:40,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:43:40,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:43:40,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:43:40,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 10:43:40,820 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:43:40,821 INFO L225 Difference]: With dead ends: 68 [2022-04-15 10:43:40,821 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 10:43:40,821 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 11.1s TimeCoverageRelationStatistics Valid=65, Invalid=275, Unknown=2, NotChecked=0, Total=342 [2022-04-15 10:43:40,821 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 17 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 243 mSolverCounterSat, 2 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 248 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 243 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.9s IncrementalHoareTripleChecker+Time [2022-04-15 10:43:40,822 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 194 Invalid, 248 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 243 Invalid, 3 Unknown, 0 Unchecked, 9.9s Time] [2022-04-15 10:43:40,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 10:43:40,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 62. [2022-04-15 10:43:40,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:43:40,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:43:40,926 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:43:40,926 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:43:40,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:43:40,929 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-15 10:43:40,929 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-15 10:43:40,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:43:40,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:43:40,929 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-15 10:43:40,929 INFO L87 Difference]: Start difference. First operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-15 10:43:40,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:43:40,931 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-15 10:43:40,931 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-15 10:43:40,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:43:40,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:43:40,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:43:40,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:43:40,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:43:40,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 69 transitions. [2022-04-15 10:43:40,933 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 69 transitions. Word has length 46 [2022-04-15 10:43:40,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:43:40,933 INFO L478 AbstractCegarLoop]: Abstraction has 62 states and 69 transitions. [2022-04-15 10:43:40,933 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:43:40,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 69 transitions. [2022-04-15 10:43:55,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 63 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-15 10:43:55,788 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 69 transitions. [2022-04-15 10:43:55,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:43:55,788 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:43:55,788 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:43:55,804 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-15 10:43:55,988 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-15 10:43:55,989 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:43:55,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:43:55,989 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-15 10:43:55,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:43:55,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [577019122] [2022-04-15 10:43:55,990 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:43:55,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-15 10:43:55,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:43:55,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1748789453] [2022-04-15 10:43:55,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:43:55,990 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:43:56,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:43:56,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2050875126] [2022-04-15 10:43:56,002 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:43:56,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:43:56,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:43:56,004 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-15 10:43:56,005 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-15 10:43:56,040 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:43:56,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:43:56,041 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 10:43:56,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:43:56,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:44:09,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {4546#true} call ULTIMATE.init(); {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {4546#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); {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L290 TraceCheckUtils]: 2: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4546#true} {4546#true} #71#return; {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L272 TraceCheckUtils]: 4: Hoare triple {4546#true} call #t~ret6 := main(); {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {4546#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; {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L272 TraceCheckUtils]: 6: Hoare triple {4546#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-15 10:44:09,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4546#true} {4546#true} #61#return; {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {4546#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L272 TraceCheckUtils]: 12: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4546#true} {4546#true} #63#return; {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L272 TraceCheckUtils]: 17: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:09,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {4546#true} ~cond := #in~cond; {4605#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:44:09,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {4605#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:44:09,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:44:09,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} {4546#true} #65#return; {4616#(<= 1 main_~b~0)} is VALID [2022-04-15 10:44:09,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {4616#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:44:09,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:44:09,661 INFO L272 TraceCheckUtils]: 24: Hoare triple {4620#(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)); {4546#true} is VALID [2022-04-15 10:44:09,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {4546#true} ~cond := #in~cond; {4630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:44:09,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {4630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:44:09,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:44:09,663 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4641#(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-15 10:44:09,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {4641#(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); {4641#(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-15 10:44:09,664 INFO L290 TraceCheckUtils]: 30: Hoare triple {4641#(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)); {4648#(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-15 10:44:09,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {4648#(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); {4652#(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-15 10:44:09,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {4652#(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 !false; {4652#(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-15 10:44:09,665 INFO L272 TraceCheckUtils]: 33: Hoare triple {4652#(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)); {4546#true} is VALID [2022-04-15 10:44:09,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-15 10:44:09,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-15 10:44:09,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:09,666 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4546#true} {4652#(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)))} #67#return; {4652#(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-15 10:44:09,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {4652#(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 !!(0 != ~y~0); {4652#(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-15 10:44:09,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {4652#(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 !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4677#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (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-15 10:44:09,669 INFO L290 TraceCheckUtils]: 40: Hoare triple {4677#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (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); {4681#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:44:09,669 INFO L290 TraceCheckUtils]: 41: Hoare triple {4681#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {4681#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:44:09,671 INFO L272 TraceCheckUtils]: 42: Hoare triple {4681#(and (= main_~z~0 0) (= (* 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)) (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)); {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:44:09,671 INFO L290 TraceCheckUtils]: 43: Hoare triple {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:44:09,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {4692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4547#false} is VALID [2022-04-15 10:44:09,672 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#false} assume !false; {4547#false} is VALID [2022-04-15 10:44:09,672 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 10:44:09,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:44:52,301 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#false} assume !false; {4547#false} is VALID [2022-04-15 10:44:52,301 INFO L290 TraceCheckUtils]: 44: Hoare triple {4692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4547#false} is VALID [2022-04-15 10:44:52,302 INFO L290 TraceCheckUtils]: 43: Hoare triple {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:44:52,302 INFO L272 TraceCheckUtils]: 42: Hoare triple {4708#(= (+ 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)); {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:44:52,303 INFO L290 TraceCheckUtils]: 41: Hoare triple {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:44:52,307 INFO L290 TraceCheckUtils]: 40: Hoare triple {4715#(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); {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:44:52,308 INFO L290 TraceCheckUtils]: 39: Hoare triple {4719#(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)); {4715#(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-15 10:44:52,309 INFO L290 TraceCheckUtils]: 38: Hoare triple {4719#(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); {4719#(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-15 10:44:52,309 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4546#true} {4719#(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)))))} #67#return; {4719#(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-15 10:44:52,310 INFO L290 TraceCheckUtils]: 36: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:52,310 INFO L290 TraceCheckUtils]: 35: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-15 10:44:52,310 INFO L290 TraceCheckUtils]: 34: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-15 10:44:52,310 INFO L272 TraceCheckUtils]: 33: Hoare triple {4719#(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)); {4546#true} is VALID [2022-04-15 10:44:52,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {4719#(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 !false; {4719#(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-15 10:44:52,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {4744#(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); {4719#(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-15 10:44:52,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {4748#(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)); {4744#(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-15 10:44:52,327 INFO L290 TraceCheckUtils]: 29: Hoare triple {4748#(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); {4748#(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-15 10:44:52,332 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} #67#return; {4748#(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-15 10:44:52,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:44:52,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {4765#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:44:52,333 INFO L290 TraceCheckUtils]: 25: Hoare triple {4546#true} ~cond := #in~cond; {4765#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:44:52,333 INFO L272 TraceCheckUtils]: 24: Hoare triple {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:52,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} assume !false; {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-15 10:44:52,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {4775#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-15 10:44:52,335 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} {4546#true} #65#return; {4775#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 10:44:52,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:44:52,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {4788#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:44:52,336 INFO L290 TraceCheckUtils]: 18: Hoare triple {4546#true} ~cond := #in~cond; {4788#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:44:52,336 INFO L272 TraceCheckUtils]: 17: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4546#true} {4546#true} #63#return; {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L290 TraceCheckUtils]: 14: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L272 TraceCheckUtils]: 12: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L290 TraceCheckUtils]: 11: Hoare triple {4546#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4546#true} {4546#true} #61#return; {4546#true} is VALID [2022-04-15 10:44:52,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {4546#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {4546#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; {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {4546#true} call #t~ret6 := main(); {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4546#true} {4546#true} #71#return; {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {4546#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); {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {4546#true} call ULTIMATE.init(); {4546#true} is VALID [2022-04-15 10:44:52,337 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 10:44:52,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:44:52,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1748789453] [2022-04-15 10:44:52,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:44:52,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2050875126] [2022-04-15 10:44:52,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2050875126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:44:52,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:44:52,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-15 10:44:52,338 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:44:52,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [577019122] [2022-04-15 10:44:52,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [577019122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:44:52,338 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:44:52,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 10:44:52,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [818859658] [2022-04-15 10:44:52,339 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:44:52,339 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:44:52,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:44:52,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:44:52,371 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-15 10:44:52,371 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 10:44:52,372 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:44:52,372 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 10:44:52,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2022-04-15 10:44:52,372 INFO L87 Difference]: Start difference. First operand 62 states and 69 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:44:53,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:44:53,265 INFO L93 Difference]: Finished difference Result 78 states and 85 transitions. [2022-04-15 10:44:53,265 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 10:44:53,265 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:44:53,265 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:44:53,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:44:53,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-15 10:44:53,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:44:53,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-15 10:44:53,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 55 transitions. [2022-04-15 10:44:53,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:44:53,318 INFO L225 Difference]: With dead ends: 78 [2022-04-15 10:44:53,318 INFO L226 Difference]: Without dead ends: 76 [2022-04-15 10:44:53,318 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=113, Invalid=589, Unknown=0, NotChecked=0, Total=702 [2022-04-15 10:44:53,318 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 29 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 249 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 249 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 10:44:53,319 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 135 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 249 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 10:44:53,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-15 10:44:53,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 50. [2022-04-15 10:44:53,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:44:53,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:44:53,389 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:44:53,389 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:44:53,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:44:53,391 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2022-04-15 10:44:53,391 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2022-04-15 10:44:53,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:44:53,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:44:53,391 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-04-15 10:44:53,391 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-04-15 10:44:53,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:44:53,393 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2022-04-15 10:44:53,393 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2022-04-15 10:44:53,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:44:53,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:44:53,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:44:53,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:44:53,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:44:53,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:44:53,394 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 10:44:53,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:44:53,394 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:44:53,394 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:44:53,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:45:03,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 10:45:03,179 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:45:03,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 10:45:03,180 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:45:03,180 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:45:03,196 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-15 10:45:03,380 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-15 10:45:03,380 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:45:03,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:45:03,381 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-15 10:45:03,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:45:03,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [573264599] [2022-04-15 10:45:03,381 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:45:03,381 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-15 10:45:03,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:45:03,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520837077] [2022-04-15 10:45:03,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:45:03,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:45:03,398 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:45:03,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1146297481] [2022-04-15 10:45:03,398 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 10:45:03,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:45:03,399 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:45:03,399 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-15 10:45:03,404 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-15 10:45:03,441 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 10:45:03,441 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:45:03,442 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 10:45:03,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:45:03,455 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:45:21,808 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 10:45:26,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {5259#true} call ULTIMATE.init(); {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {5259#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); {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5259#true} {5259#true} #71#return; {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {5259#true} call #t~ret6 := main(); {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {5259#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; {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L272 TraceCheckUtils]: 6: Hoare triple {5259#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:45:26,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5259#true} {5259#true} #61#return; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 11: Hoare triple {5259#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L272 TraceCheckUtils]: 12: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5259#true} {5259#true} #63#return; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L272 TraceCheckUtils]: 17: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 18: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 19: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 20: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5259#true} {5259#true} #65#return; {5259#true} is VALID [2022-04-15 10:45:26,749 INFO L290 TraceCheckUtils]: 22: Hoare triple {5259#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 23: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L272 TraceCheckUtils]: 24: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {5259#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; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {5259#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); {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L272 TraceCheckUtils]: 33: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:45:26,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L290 TraceCheckUtils]: 38: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L290 TraceCheckUtils]: 39: Hoare triple {5259#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; {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {5259#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); {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L290 TraceCheckUtils]: 41: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L272 TraceCheckUtils]: 42: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:45:26,751 INFO L290 TraceCheckUtils]: 43: Hoare triple {5259#true} ~cond := #in~cond; {5393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:45:26,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {5393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:45:26,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:45:26,752 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} {5259#true} #67#return; {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:45:26,753 INFO L290 TraceCheckUtils]: 47: Hoare triple {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5408#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:45:26,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {5408#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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; {5412#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:45:27,076 INFO L290 TraceCheckUtils]: 49: Hoare triple {5412#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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); {5416#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:45:29,078 WARN L290 TraceCheckUtils]: 50: Hoare triple {5416#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} assume !false; {5420#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-15 10:45:29,352 INFO L272 TraceCheckUtils]: 51: Hoare triple {5420#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:45:29,352 INFO L290 TraceCheckUtils]: 52: Hoare triple {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5428#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:45:29,352 INFO L290 TraceCheckUtils]: 53: Hoare triple {5428#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5260#false} is VALID [2022-04-15 10:45:29,352 INFO L290 TraceCheckUtils]: 54: Hoare triple {5260#false} assume !false; {5260#false} is VALID [2022-04-15 10:45:29,353 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 10:45:29,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:46:38,674 INFO L290 TraceCheckUtils]: 54: Hoare triple {5260#false} assume !false; {5260#false} is VALID [2022-04-15 10:46:38,674 INFO L290 TraceCheckUtils]: 53: Hoare triple {5428#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5260#false} is VALID [2022-04-15 10:46:38,675 INFO L290 TraceCheckUtils]: 52: Hoare triple {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5428#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:46:38,675 INFO L272 TraceCheckUtils]: 51: Hoare triple {5404#(= (+ 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)); {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:46:38,676 INFO L290 TraceCheckUtils]: 50: Hoare triple {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:46:38,680 INFO L290 TraceCheckUtils]: 49: Hoare triple {5450#(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); {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:46:38,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 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; {5450#(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-15 10:46:38,683 INFO L290 TraceCheckUtils]: 47: Hoare triple {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:46:38,869 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} {5259#true} #67#return; {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 10:46:38,870 INFO L290 TraceCheckUtils]: 45: Hoare triple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:46:38,870 INFO L290 TraceCheckUtils]: 44: Hoare triple {5470#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 43: Hoare triple {5259#true} ~cond := #in~cond; {5470#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:46:38,871 INFO L272 TraceCheckUtils]: 42: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 41: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 40: Hoare triple {5259#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); {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 39: Hoare triple {5259#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; {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 38: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 36: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 35: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 34: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L272 TraceCheckUtils]: 33: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 32: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-15 10:46:38,871 INFO L290 TraceCheckUtils]: 31: Hoare triple {5259#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); {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {5259#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; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L272 TraceCheckUtils]: 24: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 23: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 22: Hoare triple {5259#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5259#true} {5259#true} #65#return; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 20: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 19: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L290 TraceCheckUtils]: 18: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:46:38,872 INFO L272 TraceCheckUtils]: 17: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5259#true} {5259#true} #63#return; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L272 TraceCheckUtils]: 12: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {5259#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5259#true} {5259#true} #61#return; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L272 TraceCheckUtils]: 6: Hoare triple {5259#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {5259#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; {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L272 TraceCheckUtils]: 4: Hoare triple {5259#true} call #t~ret6 := main(); {5259#true} is VALID [2022-04-15 10:46:38,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5259#true} {5259#true} #71#return; {5259#true} is VALID [2022-04-15 10:46:38,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-15 10:46:38,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {5259#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); {5259#true} is VALID [2022-04-15 10:46:38,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {5259#true} call ULTIMATE.init(); {5259#true} is VALID [2022-04-15 10:46:38,874 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 10:46:38,874 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:46:38,874 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1520837077] [2022-04-15 10:46:38,874 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:46:38,874 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1146297481] [2022-04-15 10:46:38,874 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1146297481] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:46:38,874 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:46:38,874 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-15 10:46:38,875 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:46:38,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [573264599] [2022-04-15 10:46:38,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [573264599] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:46:38,875 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:46:38,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 10:46:38,875 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [723971071] [2022-04-15 10:46:38,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:46:38,875 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-15 10:46:38,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:46:38,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:46:39,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:46:39,784 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 10:46:39,784 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:46:39,784 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 10:46:39,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 10:46:39,785 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:46:47,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:46:47,342 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2022-04-15 10:46:47,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:46:47,342 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-15 10:46:47,342 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:46:47,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:46:47,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 10:46:47,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:46:47,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 41 transitions. [2022-04-15 10:46:47,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 41 transitions. [2022-04-15 10:46:47,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:46:47,957 INFO L225 Difference]: With dead ends: 73 [2022-04-15 10:46:47,957 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 10:46:47,957 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 95 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 9.6s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 10:46:47,958 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 7 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:46:47,958 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 116 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 81 Invalid, 0 Unknown, 7 Unchecked, 2.2s Time] [2022-04-15 10:46:47,958 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 10:46:48,014 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 50. [2022-04-15 10:46:48,014 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:46:48,014 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:46:48,014 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:46:48,014 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:46:48,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:46:48,016 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-15 10:46:48,016 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-15 10:46:48,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:46:48,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:46:48,016 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-15 10:46:48,021 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-15 10:46:48,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:46:48,023 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-15 10:46:48,023 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-15 10:46:48,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:46:48,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:46:48,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:46:48,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:46:48,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:46:48,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:46:48,025 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 55 [2022-04-15 10:46:48,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:46:48,025 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:46:48,025 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 10:46:48,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:46:58,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 10:46:58,898 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:46:58,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 10:46:58,898 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:46:58,898 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:46:58,914 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 10:46:59,099 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 10:46:59,099 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:46:59,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:46:59,099 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-15 10:46:59,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:46:59,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1011061537] [2022-04-15 10:46:59,100 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:46:59,100 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-15 10:46:59,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:46:59,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [258187595] [2022-04-15 10:46:59,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:46:59,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:46:59,111 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:46:59,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1397231026] [2022-04-15 10:46:59,112 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 10:46:59,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:46:59,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:46:59,113 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:46:59,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 10:46:59,153 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 10:46:59,153 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:46:59,154 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 10:46:59,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:46:59,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:47:25,735 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 10:47:30,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {5995#true} call ULTIMATE.init(); {5995#true} is VALID [2022-04-15 10:47:30,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {5995#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); {5995#true} is VALID [2022-04-15 10:47:30,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:47:30,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5995#true} {5995#true} #71#return; {5995#true} is VALID [2022-04-15 10:47:30,804 INFO L272 TraceCheckUtils]: 4: Hoare triple {5995#true} call #t~ret6 := main(); {5995#true} is VALID [2022-04-15 10:47:30,804 INFO L290 TraceCheckUtils]: 5: Hoare triple {5995#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; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L272 TraceCheckUtils]: 6: Hoare triple {5995#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5995#true} {5995#true} #61#return; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {5995#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L272 TraceCheckUtils]: 12: Hoare triple {5995#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 15: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5995#true} {5995#true} #63#return; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L272 TraceCheckUtils]: 17: Hoare triple {5995#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 18: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:47:30,805 INFO L290 TraceCheckUtils]: 19: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 20: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5995#true} {5995#true} #65#return; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 22: Hoare triple {5995#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {5995#true} assume !false; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L272 TraceCheckUtils]: 24: Hoare triple {5995#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5995#true} {5995#true} #67#return; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {5995#true} assume !!(0 != ~y~0); {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {5995#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; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {5995#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); {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 32: Hoare triple {5995#true} assume !false; {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L272 TraceCheckUtils]: 33: Hoare triple {5995#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:47:30,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:47:30,807 INFO L290 TraceCheckUtils]: 35: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:47:30,807 INFO L290 TraceCheckUtils]: 36: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:47:30,807 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5995#true} {5995#true} #67#return; {5995#true} is VALID [2022-04-15 10:47:30,807 INFO L290 TraceCheckUtils]: 38: Hoare triple {5995#true} assume !!(0 != ~y~0); {6114#(not (= main_~y~0 0))} is VALID [2022-04-15 10:47:30,808 INFO L290 TraceCheckUtils]: 39: Hoare triple {6114#(not (= main_~y~0 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; {6118#(< 0 (+ main_~y~0 1))} is VALID [2022-04-15 10:47:30,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {6118#(< 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); {6118#(< 0 (+ main_~y~0 1))} is VALID [2022-04-15 10:47:30,809 INFO L290 TraceCheckUtils]: 41: Hoare triple {6118#(< 0 (+ main_~y~0 1))} assume !false; {6118#(< 0 (+ main_~y~0 1))} is VALID [2022-04-15 10:47:30,809 INFO L272 TraceCheckUtils]: 42: Hoare triple {6118#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:47:30,809 INFO L290 TraceCheckUtils]: 43: Hoare triple {5995#true} ~cond := #in~cond; {6131#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:47:30,810 INFO L290 TraceCheckUtils]: 44: Hoare triple {6131#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:47:30,810 INFO L290 TraceCheckUtils]: 45: Hoare triple {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:47:30,811 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} {6118#(< 0 (+ main_~y~0 1))} #67#return; {6142#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:47:30,811 INFO L290 TraceCheckUtils]: 47: Hoare triple {6142#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6142#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:47:30,812 INFO L290 TraceCheckUtils]: 48: Hoare triple {6142#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6149#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:47:31,086 INFO L290 TraceCheckUtils]: 49: Hoare triple {6149#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 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); {6153#(and (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:47:31,500 INFO L290 TraceCheckUtils]: 50: Hoare triple {6153#(and (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (= (mod main_~x~0 2) 0))} assume !false; {6157#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:47:33,503 WARN L272 TraceCheckUtils]: 51: Hoare triple {6157#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6161#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:47:33,504 INFO L290 TraceCheckUtils]: 52: Hoare triple {6161#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6165#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:47:33,504 INFO L290 TraceCheckUtils]: 53: Hoare triple {6165#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5996#false} is VALID [2022-04-15 10:47:33,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {5996#false} assume !false; {5996#false} is VALID [2022-04-15 10:47:33,504 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-15 10:47:33,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:48:04,626 INFO L290 TraceCheckUtils]: 54: Hoare triple {5996#false} assume !false; {5996#false} is VALID [2022-04-15 10:48:04,626 INFO L290 TraceCheckUtils]: 53: Hoare triple {6165#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5996#false} is VALID [2022-04-15 10:48:04,626 INFO L290 TraceCheckUtils]: 52: Hoare triple {6161#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6165#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:48:04,627 INFO L272 TraceCheckUtils]: 51: Hoare triple {6181#(= (+ 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)); {6161#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:48:04,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {6181#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {6181#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:48:04,632 INFO L290 TraceCheckUtils]: 49: Hoare triple {6188#(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); {6181#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:48:04,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {6192#(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)); {6188#(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-15 10:48:04,634 INFO L290 TraceCheckUtils]: 47: Hoare triple {6192#(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); {6192#(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-15 10:48:04,636 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} {6199#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {6192#(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-15 10:48:04,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:48:04,636 INFO L290 TraceCheckUtils]: 44: Hoare triple {6209#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6135#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:48:04,637 INFO L290 TraceCheckUtils]: 43: Hoare triple {5995#true} ~cond := #in~cond; {6209#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:48:04,637 INFO L272 TraceCheckUtils]: 42: Hoare triple {6199#(or (<= 0 main_~y~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)); {5995#true} is VALID [2022-04-15 10:48:04,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {6199#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {6199#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:48:04,638 INFO L290 TraceCheckUtils]: 40: Hoare triple {6219#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 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); {6199#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:48:04,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {5995#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; {6219#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-15 10:48:04,639 INFO L290 TraceCheckUtils]: 38: Hoare triple {5995#true} assume !!(0 != ~y~0); {5995#true} is VALID [2022-04-15 10:48:04,639 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5995#true} {5995#true} #67#return; {5995#true} is VALID [2022-04-15 10:48:04,639 INFO L290 TraceCheckUtils]: 36: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:48:04,639 INFO L290 TraceCheckUtils]: 35: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 34: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L272 TraceCheckUtils]: 33: Hoare triple {5995#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 32: Hoare triple {5995#true} assume !false; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {5995#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); {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {5995#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; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {5995#true} assume !!(0 != ~y~0); {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5995#true} {5995#true} #67#return; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 27: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 26: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 25: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L272 TraceCheckUtils]: 24: Hoare triple {5995#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 23: Hoare triple {5995#true} assume !false; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {5995#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5995#true} is VALID [2022-04-15 10:48:04,640 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5995#true} {5995#true} #65#return; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 20: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 19: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 18: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L272 TraceCheckUtils]: 17: Hoare triple {5995#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5995#true} {5995#true} #63#return; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L272 TraceCheckUtils]: 12: Hoare triple {5995#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 11: Hoare triple {5995#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5995#true} {5995#true} #61#return; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {5995#true} assume !(0 == ~cond); {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {5995#true} ~cond := #in~cond; {5995#true} is VALID [2022-04-15 10:48:04,641 INFO L272 TraceCheckUtils]: 6: Hoare triple {5995#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {5995#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; {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {5995#true} call #t~ret6 := main(); {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5995#true} {5995#true} #71#return; {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {5995#true} assume true; {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {5995#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); {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {5995#true} call ULTIMATE.init(); {5995#true} is VALID [2022-04-15 10:48:04,642 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-15 10:48:04,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:48:04,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [258187595] [2022-04-15 10:48:04,642 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:48:04,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1397231026] [2022-04-15 10:48:04,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1397231026] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:48:04,643 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:48:04,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-15 10:48:04,643 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:48:04,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1011061537] [2022-04-15 10:48:04,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1011061537] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:48:04,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:48:04,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 10:48:04,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1585380379] [2022-04-15 10:48:04,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:48:04,643 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-15 10:48:04,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:48:04,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:48:08,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:48:08,417 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 10:48:08,417 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:48:08,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 10:48:08,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=238, Unknown=3, NotChecked=0, Total=306 [2022-04-15 10:48:08,418 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:48:15,922 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-15 10:48:20,127 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-15 10:48:22,339 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-15 10:48:29,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:48:29,029 INFO L93 Difference]: Finished difference Result 84 states and 95 transitions. [2022-04-15 10:48:29,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 10:48:29,030 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-15 10:48:29,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:48:29,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:48:29,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 55 transitions. [2022-04-15 10:48:29,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:48:29,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 55 transitions. [2022-04-15 10:48:29,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 55 transitions. [2022-04-15 10:48:37,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 53 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 10:48:37,395 INFO L225 Difference]: With dead ends: 84 [2022-04-15 10:48:37,395 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 10:48:37,395 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 12.8s TimeCoverageRelationStatistics Valid=140, Invalid=457, Unknown=3, NotChecked=0, Total=600 [2022-04-15 10:48:37,395 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 22 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 9 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 27 IncrementalHoareTripleChecker+Unchecked, 9.7s IncrementalHoareTripleChecker+Time [2022-04-15 10:48:37,396 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 163 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 140 Invalid, 3 Unknown, 27 Unchecked, 9.7s Time] [2022-04-15 10:48:37,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 10:48:37,448 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-15 10:48:37,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:48:37,448 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:48:37,448 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:48:37,448 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:48:37,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:48:37,449 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 10:48:37,449 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 10:48:37,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:48:37,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:48:37,450 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 10:48:37,450 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 10:48:37,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:48:37,450 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 10:48:37,450 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 10:48:37,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:48:37,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:48:37,451 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:48:37,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:48:37,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:48:37,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-15 10:48:37,452 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-15 10:48:37,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:48:37,452 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-15 10:48:37,452 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:48:37,452 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions.