Maksimov and Kolovsky, Equation (4)

Time bar (total: 2.0s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
100%99.8%0%0.2%0%0%0%1
Compiler

Compiled 20 to 15 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-sub: 0.0ms (0% of total)
ival-div: 0.0ms (0% of total)
ival-exp: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-cos: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
ival-neg: 0.0ms (0% of total)

sample1.6s (80.1%)

Results
795.0ms6924×256valid
326.0ms654×1024valid
162.0ms649×512valid
19.0ms29×2048valid
Precisions
Click to see histograms. Total time spent on operations: 942.0ms
ival-exp: 269.0ms (28.5% of total)
ival-cos: 260.0ms (27.6% of total)
ival-mult: 149.0ms (15.8% of total)
ival-div: 72.0ms (7.6% of total)
ival-add: 69.0ms (7.3% of total)
ival-sub: 63.0ms (6.7% of total)
ival-neg: 48.0ms (5.1% of total)
const: 12.0ms (1.3% of total)
Bogosity

preprocess104.0ms (5.1%)

Algorithm
egg-herbie
Rules
633×times-frac
573×unsub-neg
555×fma-neg
430×fma-define
384×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
075960
1184956
2502944
31750944
45797944
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 (neg.f64 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 (neg.f64 (neg.f64 l))))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 (neg.f64 K) #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (neg.f64 U))
(neg.f64 (+.f64 (*.f64 (*.f64 (neg.f64 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(neg.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 (neg.f64 (neg.f64 l))))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(neg.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 (neg.f64 K) #s(literal 2 binary64)))) U))
(neg.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (neg.f64 U)))
(+.f64 (*.f64 (*.f64 l (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 K (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 J #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 U (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) J)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K)))) (cos.f64 (/.f64 l #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) l)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 U #s(literal 2 binary64)))) K)
Outputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 (neg.f64 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (neg.f64 J)) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(-.f64 U (*.f64 (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(fma.f64 (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 l)) (*.f64 J (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 (neg.f64 (neg.f64 l))))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (neg.f64 J)) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(-.f64 U (*.f64 (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(fma.f64 (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 l)) (*.f64 J (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 (neg.f64 K) #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (neg.f64 U))
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) (neg.f64 U))
(-.f64 (*.f64 (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) U)
(neg.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 l)) (*.f64 J (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(-.f64 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) U)
(neg.f64 (+.f64 (*.f64 (*.f64 (neg.f64 J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) (neg.f64 U))
(-.f64 (*.f64 (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) U)
(neg.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 l)) (*.f64 J (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(-.f64 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) U)
(neg.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 (neg.f64 (neg.f64 l))))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) (neg.f64 U))
(-.f64 (*.f64 (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) U)
(neg.f64 (fma.f64 (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 l)) (*.f64 J (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(-.f64 (*.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64))))) U)
(neg.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 (neg.f64 K) #s(literal 2 binary64)))) U))
(neg.f64 (fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 (neg.f64 K) #s(literal 2 binary64))) U))
(neg.f64 (fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U))
(neg.f64 (+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (neg.f64 U)))
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (neg.f64 J)) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(-.f64 U (*.f64 (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) J) (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))))
(fma.f64 (-.f64 (exp.f64 (neg.f64 l)) (exp.f64 l)) (*.f64 J (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(+.f64 (*.f64 (*.f64 l (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 l (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) U)
(fma.f64 l (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) (-.f64 (exp.f64 J) (exp.f64 (neg.f64 J)))) U)
(+.f64 (*.f64 (*.f64 K (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 J #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) K) (cos.f64 (/.f64 J #s(literal 2 binary64))) U)
(fma.f64 K (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 J #s(literal 2 binary64)))) U)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K (cos.f64 (/.f64 J #s(literal 2 binary64)))) U)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 K (cos.f64 (*.f64 J #s(literal 1/2 binary64)))) U)
(+.f64 (*.f64 (*.f64 U (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) J)
(fma.f64 (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U) (cos.f64 (/.f64 K #s(literal 2 binary64))) J)
(fma.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) U) J)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) U) J)
(fma.f64 U (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) J)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K)))) (cos.f64 (/.f64 l #s(literal 2 binary64)))) U)
(fma.f64 (*.f64 J (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K)))) (cos.f64 (/.f64 l #s(literal 2 binary64))) U)
(fma.f64 J (*.f64 (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K))) (cos.f64 (/.f64 l #s(literal 2 binary64)))) U)
(fma.f64 (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K))) (*.f64 J (cos.f64 (*.f64 l #s(literal -1/2 binary64)))) U)
(fma.f64 (-.f64 (exp.f64 K) (exp.f64 (neg.f64 K))) (*.f64 J (cos.f64 (*.f64 l #s(literal 1/2 binary64)))) U)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) l)
(fma.f64 (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) (cos.f64 (/.f64 K #s(literal 2 binary64))) l)
(fma.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) (*.f64 J (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) l)
(fma.f64 J (*.f64 (cos.f64 (/.f64 K #s(literal 2 binary64))) (-.f64 (exp.f64 U) (exp.f64 (neg.f64 U)))) l)
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 U #s(literal 2 binary64)))) K)
(fma.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 U #s(literal 2 binary64))) K)
(fma.f64 J (*.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (cos.f64 (/.f64 U #s(literal 2 binary64)))) K)
(fma.f64 (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) (*.f64 J (cos.f64 (*.f64 U #s(literal 1/2 binary64)))) K)
Symmetry

(abs K)

explain268.0ms (13.1%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1350-0-(-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))
00-0-(*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))))
00-0-l
00-0-(exp.f64 l)
00-0-#s(literal 2 binary64)
00-0-(exp.f64 (neg.f64 l))
00-0-J
00-0-(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
00-0-U
00-0-(*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
0132(3.3271746564815545e+43 -1.115386803249204e+231 2.840185180099988e+107 6.577097818684686e+106)0-(cos.f64 (/.f64 K #s(literal 2 binary64)))
00-0-(/.f64 K #s(literal 2 binary64))
00-0-(neg.f64 l)
00-0-K
Results
84.0ms138×1024valid
83.0ms296×256valid
20.0ms64×512valid
11.0ms14×2048valid
Compiler

Compiled 151 to 44 computations (70.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 106.0ms
ival-exp: 42.0ms (39.8% of total)
ival-cos: 26.0ms (24.6% of total)
ival-mult: 17.0ms (16.1% of total)
ival-div: 6.0ms (5.7% of total)
ival-sub: 5.0ms (4.7% of total)
ival-add: 5.0ms (4.7% of total)
ival-neg: 4.0ms (3.8% of total)
const: 1.0ms (0.9% of total)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
85.9%
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
Compiler

Compiled 38 to 28 computations (26.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02262
13162
23662
33962
44062
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)
Outputs
(+.f64 (*.f64 (*.f64 J (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l)))) (cos.f64 (/.f64 K #s(literal 2 binary64)))) U)

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 19 to 14 computations (26.3% saved)

preprocess30.0ms (1.5%)

Remove

(abs K)

Compiler

Compiled 152 to 112 computations (26.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...